diff --git a/docs/CURRENT-STATE.md b/docs/CURRENT-STATE.md index 3391a02..be2166e 100644 --- a/docs/CURRENT-STATE.md +++ b/docs/CURRENT-STATE.md @@ -209,7 +209,7 @@ |---|------|----------------|-------|---------------------------| | G1 | Audit Phase 3: fresh-agent grounding test | 3 clean-context probes score the 7-question set against this doc; holes map made | session | CLOSED 2026-07-18: 3 probes, 21/21 PASS, holes H1 (amended into G9) + H2 (no action) -- `docs/audit/phase3-grounding-test-20260718.md` | | G2 | Audit Phase 4: GA-R1..R7 structural rulings + the stage-status vocabulary A/B | ruling-type gate (GA-R6 rule 6): closes when every item carries a GA-R5 Status block | operator | CLOSED 2026-07-18: all seven GA-R + vocabulary (Option A + H1) RATIFIED, utterances quoted (`docs/audit/ga-rulings.md`, through commit `fe4f1c4` + this one) | -| G3 | Audit Phase 5: repair sweep of GA-F01..F15 (incl. memory hygiene GA-F05..F08, skill sweep) | operator-gated fix batches, each commit naming its GA-F | operator + session | Batch 0 OPENED by operator 2026-07-19; items 0.1 (repo-lint L10, GA-R1/C1), 0.2 (SEC repoint, GA-R4/F3), 0.3 (counter hardening, GA-F15), 0.4 (extractor vocab scan, GA-F10/H1) landed; Batch 0 verification PASSED 2026-07-19 (3 harnesses green, gauntlet ALL GREEN 69, repo-lint 0-fail); Batches 1-6 await their gates; FREEZE holds for all un-gated surfaces | +| G3 | Audit Phase 5: repair sweep of GA-F01..F15 (incl. memory hygiene GA-F05..F08, skill sweep) | operator-gated fix batches, each commit naming its GA-F | operator + session | Batch 0 OPENED by operator 2026-07-19; items 0.1 (repo-lint L10, GA-R1/C1), 0.2 (SEC repoint, GA-R4/F3), 0.3 (counter hardening, GA-F15), 0.4 (extractor vocab scan, GA-F10/H1) landed; Batch 0 CLOSED (verification passed 2026-07-19); Batch 1 OPENED by operator 2026-07-19 (L10 flipped to FAIL at open per plan); Batches 2-6 await their gates; FREEZE holds for all un-gated surfaces | | G4 | The two D-130 verifications (charter-exempt, read-only/throwaway): (v7) v0.9.8 volume-replace-under-running-domain on a throwaway domain; (v8) lifecycle ignore_changes suppression of the forced replacement | run them, capture output | session | TO RUN (`docs/audit/env-snapshot-20260718.md:47-49`) | | G5 | D-130 mechanism ruling (seed-volume durable fix) | operator rules in Phase 5, quoting G4's captured output | operator | D-130 unassigned; next-free D confirmed 130 (`ledger-scan` run 2026-07-18; no `^## D-130` in design-decisions.md) | | G6 | State reconcile of autostart + seed WITHOUT bouncing guests | gated mechanism per the finding: `tofu import` (reads autostart back) or state surgery, or an operator-scheduled maintenance-window apply; `-refresh-only` is PROVEN a no-op | operator | Operator earlier selected reconcile-first (finding doc:136); superseded into audit sequencing by `2b718f5`; nothing reconciled yet | diff --git a/scripts/repo_lint.py b/scripts/repo_lint.py index ff74d63..0e4ea81 100644 --- a/scripts/repo_lint.py +++ b/scripts/repo_lint.py @@ -78,10 +78,11 @@ """ import re, sys, pathlib, collections, hashlib, shutil, subprocess -# L10 severity gate: False = WARN (sweep Batch 0), True = FAIL. -# Flip to True at Batch 1 open per docs/audit/phase5-sweep-plan.md Batch 0 -# ("the C1 check is a WARN for one batch before becoming FAIL"). -L10_FAIL = False +# L10 severity gate: False = WARN, True = FAIL. Ran as WARN through sweep +# Batch 0; FLIPPED to FAIL at Batch 1 open 2026-07-19 per +# docs/audit/phase5-sweep-plan.md Batch 0 ("the C1 check is a WARN for one +# batch before becoming FAIL"). +L10_FAIL = True RECORD_FLAG = "--record-clientdocs-sweep" RECORD_CMD = "bash scripts/repo-lint.sh " + RECORD_FLAG diff --git a/tests/repo-lint/run-tests.sh b/tests/repo-lint/run-tests.sh index 1731c26..88440a9 100644 --- a/tests/repo-lint/run-tests.sh +++ b/tests/repo-lint/run-tests.sh @@ -166,32 +166,32 @@ # non-git fixtures skip L10 entirely: every earlier T-case above already # asserts its exact rc with L10 present, so no separate skip test is needed. D=$(mkgit l10a); printf 'amended\n' >> "$D/docs/audit/ga-rulings.md" - run 2 'L10 pending change set.*docs/audit/' \ - "T34 L10 dirty audit-surface edit w/o CURRENT-STATE WARNs" "$D" + run 1 'L10 pending change set.*docs/audit/' \ + "T34 L10 dirty audit-surface edit w/o CURRENT-STATE FAILS" "$D" D=$(mkgit l10b); printf 'amended\n' >> "$D/docs/audit/ga-rulings.md" printf 'updated\n' >> "$D/docs/CURRENT-STATE.md" run 0 'PASS: repo lint' \ "T35 L10 same change set touching CURRENT-STATE PASSES" "$D" D=$(mkgit l10c); printf '## D-001\n**Status: ADOPTED.**\n' > "$D/docs/design-decisions.md" - run 2 'L10 .*design-decisions.md Status line' \ - "T36 L10 Status-line change w/o CURRENT-STATE WARNs" "$D" + run 1 'L10 .*design-decisions.md Status line' \ + "T36 L10 Status-line change w/o CURRENT-STATE FAILS" "$D" D=$(mkgit l10d); printf 'non-status prose line\n' >> "$D/docs/design-decisions.md" run 0 'PASS: repo lint' \ "T37 L10 non-Status design-decisions edit does NOT fire" "$D" D=$(mkgit l10e); printf 'amended\n' >> "$D/docs/audit/ga-rulings.md" git -C "$D" add -A >/dev/null 2>&1 git -C "$D" -c user.email=t@t -c user.name=t commit -qm drift >/dev/null 2>&1 - run 2 'L10 HEAD commit.*docs/audit/' \ + run 1 'L10 HEAD commit.*docs/audit/' \ "T38 L10 clean tree flags the HEAD commit" "$D" D=$(mkgit l10f); printf '# ledger\n| G4 | gate | closes it | owner | OPEN |\n' > "$D/docs/session-ledger.md" - run 2 'L10 .*session-ledger.md gate row' \ - "T39 L10 ledger gate-row change w/o CURRENT-STATE WARNs" "$D" + run 1 'L10 .*session-ledger.md gate row' \ + "T39 L10 ledger gate-row change w/o CURRENT-STATE FAILS" "$D" D=$(mkgit l10g); printf 'ledger prose, no gate row touched\n' >> "$D/docs/session-ledger.md" run 0 'PASS: repo lint' \ "T40 L10 non-gate-row ledger edit does NOT fire" "$D" D=$(mkgit l10h); printf 'plan output\n' > "$D/docs/audit/outer-plan-x.txt" - run 2 'L10 pending change set.*docs/audit/' \ - "T41 L10 untracked new capture file WARNs" "$D" + run 1 'L10 pending change set.*docs/audit/' \ + "T41 L10 untracked new capture file FAILS" "$D" echo; echo "RESULT: PASS=$PASS FAIL=$FAIL" [[ "$FAIL" -eq 0 ]] && { echo "ALL PASS"; exit 0; } || exit 1