diff --git a/docs/assessment/50-execution-plan.md b/docs/assessment/50-execution-plan.md index dec02c22..47551fad 100644 --- a/docs/assessment/50-execution-plan.md +++ b/docs/assessment/50-execution-plan.md @@ -56,7 +56,7 @@ test_volume_honesty test_curriculum_polarity Two things are still true and worth fixing: -1. **One comment overstates.** The audio block says it is listed explicitly "so the local-first pre-push gate (AGENTS.md protocol) **equals** the CI gate rather than silently narrowing it." Read narrowly (about the six audio files) it is accurate. Read as a statement about the smoke suite — the way a reader will read it — it is false. +1. **Two independent places assert the parity.** The audio block in `core/cli_test.py` says it is listed explicitly "so the local-first pre-push gate (AGENTS.md protocol) **equals** the CI gate rather than silently narrowing it" — read narrowly (about the six audio files) accurate, read as a statement about the smoke suite, false. And `scripts/hooks/pre-push` — the automation of the AGENTS.md protocol — opens by describing its own step 1 as "the `smoke` suite — **exact CI-gate parity**." It is not: 23 files against 13. The claim appears twice, in the enforcement tooling, which is the strongest evidence available that the drift was never intended. 2. **The real exposure is the push that skipped the local gate.** CI is the only *automatic* check on a push made from a cloud session, another machine, or an agent that did not run the worktree gate. For those pushes, ADR-0265's denial pin, the ADR-governance pins, volume honesty, and curriculum polarity run nowhere before merge. **Consequence for G-7.** The meta-check as written in the register ("every test file belongs to ≥1 suite") is **already satisfied and would ship green while proving nothing** — a hollow gate by the Third-Door criterion. The correct mechanism is two pins: diff --git a/docs/assessment/50-rulings.md b/docs/assessment/50-rulings.md index 2bf8bd26..b4ba4335 100644 --- a/docs/assessment/50-rulings.md +++ b/docs/assessment/50-rulings.md @@ -317,7 +317,7 @@ Two flags' documentation describes a production profile the production profile d **Evidence, stated honestly in both directions.** AGENTS.md §CI/CD is explicit that `.github/workflows/*.yml` are *"secondary observability only — never a substitute for local gates"* — the merge gate **is** the in-worktree run, and the in-worktree run is the superset. Eight of the ten files carry comments saying they belong "on the pre-push gate," which is exactly where they are. **Under doctrine, nothing is unguarded.** -What is still wrong: the audio block's comment says it is listed explicitly *"so the local-first pre-push gate … **equals** the CI gate rather than silently narrowing it"* — accurate about the six audio files, false as the statement about the suite that a reader will take it for. And the real exposure is the **push that skipped the local gate** — from a cloud session, another machine, or an agent — for which CI is the only automatic check, and for which ADR-0265's denial pin, both ADR-governance pins, volume honesty, and curriculum polarity currently run nowhere before merge. +What is still wrong: **two independent places in the repository assert a parity that does not hold.** The audio block in `core/cli_test.py` says it is listed explicitly *"so the local-first pre-push gate … **equals** the CI gate rather than silently narrowing it"* — accurate about the six audio files, false as the statement about the suite that a reader will take it for. And `scripts/hooks/pre-push`, the automation of the AGENTS.md protocol itself, opens by describing step 1 as *"the `smoke` suite — **exact CI-gate parity**."* It is not: the hook runs 23 files, the CI gate runs 13. A claim made twice, in the enforcement tooling, is the strongest case available that this drift was never intended. And the real exposure is the **push that skipped the local gate** — from a cloud session, another machine, or an agent — for which CI is the only automatic check, and for which ADR-0265's denial pin, both ADR-governance pins, volume honesty, and curriculum polarity currently run nowhere before merge. **Measured cost.** The ten files are **429 tests in 46s**, measured on this Mac — which is the hardware the Act runner executes on (`ubuntu-latest:host` = native macOS host, not a container). This is a measurement on the runner's own hardware, not an extrapolation.