Observed: test/e2e/flows/hooks.test.ts still describes successful PreCompact as exit 2 and accepts either exit 0 or 2, while the current handlePreCompact contract always returns exit 0 and may emit summary text.
Expected: The E2E test should assert the current exit-zero contract and verify successful summary output without preserving the retired exit-2 behavior.
Root cause: The E2E description and permissive assertion were not updated when the hook protocol changed to fail-open exit 0.
Repro: Run npm run test:ci; the Flow 15 test is reported as returns exit 2 with summary text even though src/hooks/compact.ts returns exit 0.
Observed:
test/e2e/flows/hooks.test.tsstill describes successful PreCompact as exit 2 and accepts either exit 0 or 2, while the currenthandlePreCompactcontract always returns exit 0 and may emit summary text.Expected: The E2E test should assert the current exit-zero contract and verify successful summary output without preserving the retired exit-2 behavior.
Root cause: The E2E description and permissive assertion were not updated when the hook protocol changed to fail-open exit 0.
Repro: Run
npm run test:ci; the Flow 15 test is reported asreturns exit 2 with summary texteven thoughsrc/hooks/compact.tsreturns exit 0.