Completes the family. `check-fnxc-future-dates` was #3287, `lifecycle-column-census` is #3289, and this is the third and last gate that rewrote its baseline during a plain check. ## Reproduction ``` inflated one allowance by 6, ran the gate with NO flags rc=0 entry RESET to 1 ← the check modified the tree it was checking ``` ## Why it matters The tightening is right in substance — an allowance nobody spends is a hole a literal can be regrown into. Performing it as a **side effect of checking** handed every worker a byte-identical uncommitted diff they had not authored, which they then reasonably committed. Measured across the family: nine PRs chased three defects on 2026-07-31/08-01, two of them (#3283/#3285, five minutes apart, `+0/-1` each) deleting the **same line neither author wrote**. #3289 states the class best — *a check that writes turns every reader into an author*. Two of us separately mis-attributed a gate-written baseline to our own work while debugging something else. ## Measured, all four directions | scenario | result | |---|---| | plain run, stale baseline | `rc=0`, reports `allowed 7, now 1`; **inflation survived** — read-only | | a new SQL literal added | **`rc=1`**, names `__sql_probe.ts` — regression detection intact | | `--update-baseline` | `rc=0`, entry written | | clean tree, plain run | `rc=0`, **zero files dirty** | Row 2 is the one worth checking: a read-only change to a gate is worthless if it also stops catching the thing it exists for. The rise path is untouched. `census --strict` 0, `check-fnxc-future-dates` 0, eslint clean. ## Correcting my own delay I measured this defect family on #3267 and then **declined to fix two of the three**, reasoning that the census *"deliberately fails on a drop"* so the port might be unsafe. That was wrong: it tightened and exited `0`, exactly as its own test asserts — *"TIGHTENS on a drop and exits 0, so somebody else's merge cannot redden the gate."* I had read the `--exact` contract and attributed it to the default path. The caution cost hours and prevented nothing. #3289 was written by someone else in the meantime; this finishes what I should have finished then.
26 KiB
26 KiB