# PH-CON-002 **Name:** Energy conservation violation **Severity:** error **Input modes:** adapter+dump **Scope separation (read first):** PH-CON-002 validates the production rule's ability to measure **wave-energy drift on analytically controlled conservative snapshots**. It does not certify the accuracy of a wave-equation time integrator. The F2 fixture splits into two distinct layers: - **F2 harness-level (authoritative):** `E(t)` computed directly from analytical `u_t, u_x, u_y` — roundoff-only drift. - **Rule-verdict contract:** analytical `u` snapshots fed to the rule; rule computes `u_t` via 2nd-order central FD internally → `O(Δt²)` drift with method-dependent tolerance. Plan §17's "leapfrog time-stepper over 1000 steps with 1e-8 tolerance" is **not implemented** in V1 — PH-CON-002 does not use a leapfrog stepper (it uses central-FD on supplied `u` snapshots), and any numerically-evolved fixture would be supplementary with its own tolerance per user's revised Task 9 contract. Pure numpy — no mesh assembly, no torch / scikit-fem.