# PH-CON-003 **Name:** Energy dissipation sign violation **Severity:** warning **Input modes:** adapter+dump PH-CON-003 checks the classical parabolic energy estimate for the heat equation: under boundary conditions that dissipate (homogeneous Dirichlet, homogeneous Neumann, or periodic), $\int_\Omega u^2\, dx$ must be monotonically non-increasing in time. The rule reads $u(t)$ across the provided time samples, integrates $u^2$ at each step, and computes the forward-difference slope $dE/dt$. The raw value is the maximum positive slope, normalized by the peak energy so the reported quantity is dimensionless. The rule fires (`FAIL` or `APPROXIMATE` against the calibrated noise floor) when the surrogate produces a positive $dE/dt$ — typically a symptom of a non-physically-faithful integrator or a learned residual that injects energy. Forward differences are used in place of `np.gradient` because the latter's edge-order-2 endpoint extrapolation introduces spurious positive $dE/dt$ on strictly dissipative analytical solutions. The rule emits `SKIPPED` when the PDE is not heat, when the configured boundary condition is not energy-dissipating, or when fewer than two time samples are available (so no forward-difference $dE/dt$ can be formed).