15ae940be5
PR #93 added a 2-frame confirmation debounce so a single-sample GPIO glitch cannot flip MCU outer-loop AGC state. The debounce is load-bearing for the "prevents a single-sample glitch" guarantee in the PR body, but no existing test enforces its structure — test_mcu_reads_dig6_before_agc_gate only checks that HAL_GPIO_ReadPin(FPGA_DIG6, ...) and `outerAgc.enabled =` appear somewhere in main.cpp, which a naive direct assignment would still pass. Add test_mcu_dig6_debounce_guards_enable_assignment to TestTier1AgcCrossLayerInvariant, verifying four structural invariants of the debounce: 1. Current DIG_6 sample captured in a local variable 2. Static previous-frame variable defaulting to false (matches FPGA boot: host_agc_enable resets 0) 3. outerAgc.enabled assignment gated by `now == prev` 4. Previous-frame variable advanced each frame Verified test fails on a naive patch that removes the guard and passes on the current PR #93 implementation. Full cross-layer suite stays at 0 failures (36/36 pass locally).