Settling for 2600 cycles...
Settle complete. Last cycle: 34460
Checkpoint saved at cycle 34461
Using checkpoint: ckpt_20260715_104712_c34461.bin

=== CONTROL RUN (no perturbation) ===
Control: 260 frames, cycles 34500 - 37090

Loading checkpoint for Arm A...
Post-load settle: last cycle 35060

=== ARM A: inject_density ===
Arm A: 260 frames

Loading checkpoint for Arm B...
Post-load settle: last cycle 35060

=== ARM B: perturb_stress ===
Arm B: 260 frames

============================================================
DIFFERENTIAL HOLD-TIME ANALYSIS
============================================================
Baseline noise: 1.724454e-03
Return threshold (5% of baseline noise): 8.622270e-05

Arm A: inject_density:
  Distance range: [3.834438e-02, 3.118864e-02]
  Frames above threshold: 260/260
  Never returned within window (2600 cycles)
  Hold-time: 2600 cycles, 95% CI: [2600, 2600]

Arm B: perturb_stress:
  Distance range: [3.834438e-02, 3.118472e-02]
  Frames above threshold: 260/260
  Never returned within window (2600 cycles)
  Hold-time: 2600 cycles, 95% CI: [2600, 2600]

============================================================
SANITY GATE: Does density decay faster than stress?
============================================================
  Arm A (density): 2600 cycles, CI [2600, 2600]
  Arm B (stress):  2600 cycles, CI [2600, 2600]
  GATE FAIL: density (2600) == stress (2600) — instrument STILL broken.
  STOP. Do NOT proceed to sweep engine until this is fixed.

Done.
