Test-rule context audit¶
Read all 197 lines / 133 nonblank lines, 24,802 UTF-8 bytes. Persona: main-session — craftsperson. No repository edits.
Delivery¶
Canonical body is present exactly in tests/AGENTS.md lines90–279, .claude/rules/tests.md lines7–196, and packaged src/gzkit/rules/tests.md lines8–197. tests/CLAUDE.md imports sibling AGENTS. Codex receives the tests AGENTS through its starting-directory chain; Claude also has the paths-scoped rule mirror. These observations do not establish duplicate runtime injection by Claude.
The prior native delivery audit measured only 17,025 / 30,284 bytes of tests/AGENTS after the 48,511-byte root, cutting in mutation doctrine. Later exit-status, TASK and REQ-channel material was not reached. This is the earlier snapshot; root publication is in progress, so no current delivery claim is made. See /tmp/gz-context-audit-delivery.md.
Canonical .gzkit/rules/tests.md; exact packaged copy src/gzkit/rules/tests.md and generated tests/AGENTS.md and .claude/rules/tests.md observed. No tests corpus stream exists in current .gzkit/corpus inventory; do not invent CMS entry ownership. Main session owns publication/onboarding choice.
Strongest exact candidates¶
Combined literal savings: 3,451 bytes per complete generated body. No tested condensed rendition or sum across different vendors is claimed.
Lift version and incident history — line 12¶
2,075 → 118 bytes; save 1,957.
No unique operational rule is lost:22 carries Git boundary;82-109 carry mutation/verifier obligations. Archive displaced text in existing tests history section.
Row90 Mechanical isolation clause remains unchanged at22. This exact proposal changes no rule version; actual publication must apply the governing version/scorecard workflow.
Exact before:
> **Rule version:** `0.23.0` — GHI #977 adds § Isolation *Git fixture isolation*: every `git` a test spawns passes `env=_isolated_git_env()`, git's own repo-local variable set (`local_repo_env`) scrubbed at the fixture boundary. Measured 2026-09-07: a push from a linked worktree ran the pre-push `gz check`, the fixtures inherited the hook's absolute `GIT_DIR`, and `git init` in a temp dir re-initialised the hosting repository as bare while `git config` wrote the fixture identity into its shared config. MECHANICAL from the first landing — `tests/commands/test_common_fixtures.py::TestEveryGitSpawnIsInsideTheBoundary` fences every literal `git` argv under `tests/**`. Prior `0.22.0` — GHI #970 extends § Verification exit-code integrity to the `||` BRANCH: the branch announces a failure in output and replaces it in status, and the gate had honoured the announcement as if it were the report. Names the branch-local remedy (`set -e` is suppressed left of `||`), and tracks the two limits it declares rather than closes — the aggregate status (GHI #969) and the caught `&&` chain (GHI #971). Prior `0.21.0` — GHI #940 extends § Verification exit-code integrity to the SEQUENCE form: the clause was scoped to the pipe character while the shell reports the last *statement* just as it reports the last *stage*, so `verifier > log; tail log` read as compliant. Names the two non-interchangeable remedies (`pipefail` for a pipe, `set -e` for a sequence), the immediacy requirement on a `$?` read, and — declared rather than hidden — that the aggregate status is a floor a shell-level rule cannot lift. Prior `0.20.0` — adds § Mutation-sweep integrity (GHI #963): a failing mutant run is not a kill, sweeps report four outcomes, and every mutant runs with its own bytecode cache. Prior `0.19.0` diet pass under GHI #921 (operator ruling 2026-08-29, *"we are compressing everything and anything that the agent can consume"*). Version history lifted to [Rule Version History](../../docs/governance/rule-version-history.md#testsmd). Binding rules unchanged.
Proposed after:
> **Rule version:** `0.23.0`. History: [Rule Version History](../../docs/governance/rule-version-history.md#testsmd).
Keep full-tier facts; lift dated benchmark — line 19¶
687 → 114 bytes; save 573.
The fixed budget belongs to smoke, while full-unit ceiling absence and parallel permission are the enduring facts. Benchmark and ratchet explanation do not need repeated delivery.
Row87 Mechanical smoke rule remains unchanged at18. Preserve historical measurements in on-demand history/rationale; proposal introduces no new performance threshold.
Exact before:
- **Full unit tier: no fixed ceiling.** Its runtime grows with the REQ set by design — every BEHAVIOR REQ owes a covering test and § Coverage Floor requires it — so a constant ceiling over a ratcheting workload can only be breached, never held. That is why the 60s budget belongs to the `@smoke` subset, and the reason is the ratchet, NOT a ruling against parallel execution: the canonical "Tests pass" invocation runs `unittest-parallel` (GHI #856). Dated record, 2026-08-27 at `2c81cb7d`, 10-core host, 8,912 tests, both exit 0: **144.23s serial, 41.34s parallel** — illustrative of the gap, never a threshold; the enforced budget is whatever `uv run gz smoke` fails closed on.
Proposed after:
- **Full unit tier: no fixed ceiling.** The 60s budget applies only to `@smoke`; parallel execution is permitted.
Delete repeated TDD rhythm paragraph — line 78¶
921 → 0 bytes; save 921.
The repeating per-behavior cycle remains at58 and60-62; no second admonition or causal essay is necessary.
Rows72 and75 are Judgment. Operator selects deleting this repetition; record that horizontal-batch discussion remains in tests-rationale33-41, while the standing per-behavior cycle remains binding. This does not authorize dropping RED evidence at80.
Exact before:
**Per-increment rhythm:** One test → one observed RED → minimum code to GREEN → next increment. **Do not slice horizontally** — authoring every test for a brief and then every implementation is not TDD with a long cycle, it is a different activity that produces tests insensitive to change. Written against an implementation you are *about to* write, assertions record the shape you already intend rather than the behavior the REQ demands, and none is ever observed failing for the right reason: the RED that arrives with ten other REDs is noise, not a signal about any one of them. Slice vertically — one REQ carried from failing test to passing code before the next begins. This is § The discriminator applied at authoring time rather than review time: a test batch-written alongside its implementation is the shape most likely to answer "no" to *if behavior changed but text did not, would this test fail?*
Proposed after:
Project facts to preserve¶
unittestonly; runner boundaries;@smokeand its budget; coverage floor.- Exact Git isolation helper and package environment boundary; temp DB and cleanup restrictions.
- REQ-derived BEHAVIOR proof versus SUPPORT and STRUCTURAL-FENCE channels, including path-specific SUPPORT exception.
- Output-contract declarations/advisory disposition, RED versus GREEN receipt channels, Task trailer forms and direct-fix eligibility.
Conditional mutation and shell-verifier procedures should be loaded with their workflow, preserving full evidence obligations. The naming corollary, assertion-target list, and generic fixture/pass encouragement are DELETE/ON-DEMAND candidates, not project facts every test task needs.
Reconciliation needed before broader edits¶
- Line64: every test outside pipeline must locate OBPI vs direct-fix authority.
- Lines125–127: inline TASK recipe must not initiate operator-owned machinery or substitute old threshold routing.
- Lines140–142: unconditional subprocess mock rule versus the real-Git fixture tests explicitly named by line22 and scorecard90.
- Lines160 and176: qualified SUPPORT disk-existence alternative versus unconditional ledger matrix.
- Existing tests-rationale TASK section cannot safely serve as an unchanged authoritative replacement.
These are editorial conflict dispositions, not newly filed issues or runtime defect verdicts.
Every nonblank line¶
| Line | Disposition | Reading |
|---|---|---|
| 1 | KEEP binding | Delivery metadata, version marker and title; paths tests/** selects this rule. |
| 2 | KEEP binding | Delivery metadata, version marker and title; paths tests/** selects this rule. |
| 3 | KEEP binding | Delivery metadata, version marker and title; paths tests/** selects this rule. |
| 4 | KEEP binding | Delivery metadata, version marker and title; paths tests/** selects this rule. |
| 5 | KEEP binding | Delivery metadata, version marker and title; paths tests/** selects this rule. |
| 6 | KEEP binding | Delivery metadata, version marker and title; paths tests/** selects this rule. |
| 8 | KEEP binding | Delivery metadata, version marker and title; paths tests/** selects this rule. |
| 10 | KEEP binding | Delivery metadata, version marker and title; paths tests/** selects this rule. |
| 12 | LIFT rationale-history | Version and incident history belongs in the existing version-history document. Isolation and verifier/mutation rules are separately stated below. |
| 14 | KEEP binding | Project-specific unittest-only boundary; scorecard row 36 Mechanical. |
| 16 | KEEP binding | Project-specific unittest-only boundary; scorecard row 36 Mechanical. |
| 17 | VERIFY conflict | No-network boundary is specific; table-driven preference is optional coaching and can be removed independently. |
| 18 | KEEP binding | Smoke subset, 60s and empty-tier behavior are specific; row 87 Mechanical. |
| 19 | LIFT rationale-history | Keep absence of full-tier ceiling and parallel permission; lift ratchet explanation and dated benchmark. |
| 20 | DELETE | Generic fixture-size coaching; local reproducible isolation is covered concretely at 21-23 and 140-142. |
| 21 | KEEP binding | Concrete temp-DB, Git environment chokepoint and cleanup boundaries; preserve Git helper/path facts, lift incident narrative in a later selected edit. Row 90 Mechanical. |
| 22 | KEEP binding | Concrete temp-DB, Git environment chokepoint and cleanup boundaries; preserve Git helper/path facts, lift incident narrative in a later selected edit. Row 90 Mechanical. |
| 23 | KEEP binding | Concrete temp-DB, Git environment chokepoint and cleanup boundaries; preserve Git helper/path facts, lift incident narrative in a later selected edit. Row 90 Mechanical. |
| 25 | KEEP binding | Coverage floor and nonregression are policy facts; floor is row 38 Mechanical. |
| 27 | KEEP binding | Coverage floor and nonregression are policy facts; floor is row 38 Mechanical. |
| 28 | KEEP binding | Coverage floor and nonregression are policy facts; floor is row 38 Mechanical. |
| 30 | ON-DEMAND | Task-specific command recipe; route actual gate claims through current verification/ARB skill rather than another competing command roster. |
| 32 | ON-DEMAND | Task-specific command recipe; route actual gate claims through current verification/ARB skill rather than another competing command roster. |
| 33 | ON-DEMAND | Task-specific command recipe; route actual gate claims through current verification/ARB skill rather than another competing command roster. |
| 34 | ON-DEMAND | Task-specific command recipe; route actual gate claims through current verification/ARB skill rather than another competing command roster. |
| 35 | ON-DEMAND | Task-specific command recipe; route actual gate claims through current verification/ARB skill rather than another competing command roster. |
| 37 | DELETE | All tests PASS is generic success coaching, not a project-specific discriminator. |
| 38 | DUPLICATE | Smoke outcome duplicates 18; 40% floor duplicates 27. Exact row 38 Mechanical text needs retained-wording/scorecard review if removed. |
| 39 | DUPLICATE | Smoke outcome duplicates 18; 40% floor duplicates 27. Exact row 38 Mechanical text needs retained-wording/scorecard review if removed. |
| 41 | KEEP binding | Specific @smoke marker, import and prohibition on a third test directory. |
| 43 | KEEP binding | Specific @smoke marker, import and prohibition on a third test directory. |
| 44 | KEEP binding | Specific @smoke marker, import and prohibition on a third test directory. |
| 45 | KEEP binding | Specific @smoke marker, import and prohibition on a third test directory. |
| 46 | KEEP binding | Specific @smoke marker, import and prohibition on a third test directory. |
| 48 | ON-DEMAND | Live-source enumeration is useful test-design judgment; four-line persuasion belongs in test-design rationale. |
| 49 | ON-DEMAND | Live-source enumeration is useful test-design judgment; four-line persuasion belongs in test-design rationale. |
| 50 | ON-DEMAND | Live-source enumeration is useful test-design judgment; four-line persuasion belongs in test-design rationale. |
| 51 | ON-DEMAND | Live-source enumeration is useful test-design judgment; four-line persuasion belongs in test-design rationale. |
| 53 | KEEP binding | No subprocess work in smoke is a concrete membership restriction; remove explanatory last sentence only after selection. |
| 54 | KEEP binding | No subprocess work in smoke is a concrete membership restriction; remove explanatory last sentence only after selection. |
| 56 | VERIFY conflict | TDD sequence includes generic coaching; retain requirement derivation once. Line 64 requires every outside-pipeline test to locate an OBPI, which needs reconciliation with operator-authorized GHI/direct fixes rather than implying new OBPI work. |
| 58 | VERIFY conflict | TDD sequence includes generic coaching; retain requirement derivation once. Line 64 requires every outside-pipeline test to locate an OBPI, which needs reconciliation with operator-authorized GHI/direct fixes rather than implying new OBPI work. |
| 60 | VERIFY conflict | TDD sequence includes generic coaching; retain requirement derivation once. Line 64 requires every outside-pipeline test to locate an OBPI, which needs reconciliation with operator-authorized GHI/direct fixes rather than implying new OBPI work. |
| 61 | VERIFY conflict | TDD sequence includes generic coaching; retain requirement derivation once. Line 64 requires every outside-pipeline test to locate an OBPI, which needs reconciliation with operator-authorized GHI/direct fixes rather than implying new OBPI work. |
| 62 | VERIFY conflict | TDD sequence includes generic coaching; retain requirement derivation once. Line 64 requires every outside-pipeline test to locate an OBPI, which needs reconciliation with operator-authorized GHI/direct fixes rather than implying new OBPI work. |
| 64 | VERIFY conflict | TDD sequence includes generic coaching; retain requirement derivation once. Line 64 requires every outside-pipeline test to locate an OBPI, which needs reconciliation with operator-authorized GHI/direct fixes rather than implying new OBPI work. |
| 66 | KEEP binding | Retain one explicit semantic-proof criterion; scorecard 70/72 Judgment, not mechanically guaranteed. |
| 68 | DUPLICATE | Unit-test purpose reiterates 16,17,66,70,72 and the rendering carve-out76; delete generic explanatory definition once unique contract requirements remain. |
| 70 | KEEP binding | Project BEHAVIOR versus SUPPORT proof discrimination; shorten rhetorical question and repetition only while retaining proof-channel distinction. |
| 72 | ON-DEMAND | Generic assertion-target preference; rendering exception is covered at76. Row70 Judgment. |
| 74 | ON-DEMAND | Audit-helper naming coaching and promotion history already have an on-demand rationale section; no justified need for every test task. Row71 Judgment; deletion from binding context requires selected canon disposition. |
| 76 | KEEP binding | Keep output-contract marker syntax, class suffixes, separate fixture classes, BEHAVIOR classification and settled advisory status. Lift promotion-history rationale, not those project facts. Row69 Judgment. |
| 78 | DUPLICATE | The per-behavior cycle is already stated at58 and60-62; this repeats it with speculative causal coaching. Keep that cycle and remove the repeated paragraph. Rows72/75 Judgment. |
| 80 | KEEP binding | RED receipt schema/verb versus GREEN ARB step distinction is not generic testing knowledge. Row67 Mechanical; detailed invocation may be on-demand only with deliberate retention decision. |
| 82 | ON-DEMAND | Mutation-sweep procedure is conditional on performing a sweep. Retain a discovery pointer and method identity; move four outcomes, cache isolation and evidence obligations together, preserving them in the selected on-demand workflow. Row89 Judgment. |
| 84 | ON-DEMAND | Mutation-sweep procedure is conditional on performing a sweep. Retain a discovery pointer and method identity; move four outcomes, cache isolation and evidence obligations together, preserving them in the selected on-demand workflow. Row89 Judgment. |
| 86 | ON-DEMAND | Mutation-sweep procedure is conditional on performing a sweep. Retain a discovery pointer and method identity; move four outcomes, cache isolation and evidence obligations together, preserving them in the selected on-demand workflow. Row89 Judgment. |
| 88 | ON-DEMAND | Executable mutation example belongs beside the mutation procedure, not every testing session. |
| 89 | ON-DEMAND | Executable mutation example belongs beside the mutation procedure, not every testing session. |
| 90 | ON-DEMAND | Executable mutation example belongs beside the mutation procedure, not every testing session. |
| 91 | ON-DEMAND | Executable mutation example belongs beside the mutation procedure, not every testing session. |
| 92 | ON-DEMAND | Executable mutation example belongs beside the mutation procedure, not every testing session. |
| 93 | ON-DEMAND | Executable mutation example belongs beside the mutation procedure, not every testing session. |
| 94 | ON-DEMAND | Executable mutation example belongs beside the mutation procedure, not every testing session. |
| 95 | ON-DEMAND | Executable mutation example belongs beside the mutation procedure, not every testing session. |
| 96 | ON-DEMAND | Executable mutation example belongs beside the mutation procedure, not every testing session. |
| 97 | ON-DEMAND | Executable mutation example belongs beside the mutation procedure, not every testing session. |
| 99 | ON-DEMAND | Conclusive-sweep evidence rule must travel with mutation procedure, not be deleted as generic coaching. |
| 101 | ON-DEMAND | Verifier exit-status semantics and known shell/hook limits belong in verification/ARB workflow. Keep concise current result-channel boundary in always-loaded context if needed; row66 Mechanical prevents calling ordinary relocation retention-safe. Preserve receipt truth and do not treat echoed status as aggregate success. |
| 103 | ON-DEMAND | Verifier exit-status semantics and known shell/hook limits belong in verification/ARB workflow. Keep concise current result-channel boundary in always-loaded context if needed; row66 Mechanical prevents calling ordinary relocation retention-safe. Preserve receipt truth and do not treat echoed status as aggregate success. |
| 105 | ON-DEMAND | Verifier exit-status semantics and known shell/hook limits belong in verification/ARB workflow. Keep concise current result-channel boundary in always-loaded context if needed; row66 Mechanical prevents calling ordinary relocation retention-safe. Preserve receipt truth and do not treat echoed status as aggregate success. |
| 107 | ON-DEMAND | Verifier exit-status semantics and known shell/hook limits belong in verification/ARB workflow. Keep concise current result-channel boundary in always-loaded context if needed; row66 Mechanical prevents calling ordinary relocation retention-safe. Preserve receipt truth and do not treat echoed status as aggregate success. |
| 109 | ON-DEMAND | Verifier exit-status semantics and known shell/hook limits belong in verification/ARB workflow. Keep concise current result-channel boundary in always-loaded context if needed; row66 Mechanical prevents calling ordinary relocation retention-safe. Preserve receipt truth and do not treat echoed status as aggregate success. |
| 111 | DUPLICATE | Governance-spine explanation already in root contract; retaining TASK trailer fact below does not need anatomical metaphor/history. |
| 113 | DUPLICATE | Governance-spine explanation already in root contract; retaining TASK trailer fact below does not need anatomical metaphor/history. |
| 115 | KEEP binding | Concrete mandatory Task trailer and non-substitution boundary; row68 Mechanical. |
| 117 | ON-DEMAND | Keep availability of direct-fix slug/no mandatory GHI filing discoverable; detailed form table belongs in git-sync/task instructions. Do not move to stale tests-rationale TASK section without reconciliation. |
| 119 | ON-DEMAND | Keep availability of direct-fix slug/no mandatory GHI filing discoverable; detailed form table belongs in git-sync/task instructions. Do not move to stale tests-rationale TASK section without reconciliation. |
| 120 | ON-DEMAND | Keep availability of direct-fix slug/no mandatory GHI filing discoverable; detailed form table belongs in git-sync/task instructions. Do not move to stale tests-rationale TASK section without reconciliation. |
| 121 | ON-DEMAND | Keep availability of direct-fix slug/no mandatory GHI filing discoverable; detailed form table belongs in git-sync/task instructions. Do not move to stale tests-rationale TASK section without reconciliation. |
| 122 | ON-DEMAND | Keep availability of direct-fix slug/no mandatory GHI filing discoverable; detailed form table belongs in git-sync/task instructions. Do not move to stale tests-rationale TASK section without reconciliation. |
| 123 | ON-DEMAND | Keep availability of direct-fix slug/no mandatory GHI filing discoverable; detailed form table belongs in git-sync/task instructions. Do not move to stale tests-rationale TASK section without reconciliation. |
| 125 | VERIFY conflict | Inline lifecycle recipe risks initiating operator-owned OBPI machinery, puts @covers after completion, and imports superseded direct-fix thresholds. Replace with current skill routing only after authority reconciliation; do not execute it. |
| 127 | VERIFY conflict | Inline lifecycle recipe risks initiating operator-owned OBPI machinery, puts @covers after completion, and imports superseded direct-fix thresholds. Replace with current skill routing only after authority reconciliation; do not execute it. |
| 129 | KEEP binding | Project-specific unittest/tests versus behave/features map and both-runner check contract; row37 Mechanical. |
| 131 | KEEP binding | Project-specific unittest/tests versus behave/features map and both-runner check contract; row37 Mechanical. |
| 132 | KEEP binding | Project-specific unittest/tests versus behave/features map and both-runner check contract; row37 Mechanical. |
| 133 | KEEP binding | Project-specific unittest/tests versus behave/features map and both-runner check contract; row37 Mechanical. |
| 134 | KEEP binding | Project-specific unittest/tests versus behave/features map and both-runner check contract; row37 Mechanical. |
| 136 | KEEP binding | Project-specific unittest/tests versus behave/features map and both-runner check contract; row37 Mechanical. |
| 138 | VERIFY conflict | Keep helper identities and E2E destination. Blanket mock-every-subprocess/<200ms claim requires reconciliation with rule22/row90 explicitly witnessed real-Git isolation test; not safe to flatten into an absolute without a documented exception. |
| 140 | VERIFY conflict | Keep helper identities and E2E destination. Blanket mock-every-subprocess/<200ms claim requires reconciliation with rule22/row90 explicitly witnessed real-Git isolation test; not safe to flatten into an absolute without a documented exception. |
| 141 | VERIFY conflict | Keep helper identities and E2E destination. Blanket mock-every-subprocess/<200ms claim requires reconciliation with rule22/row90 explicitly witnessed real-Git isolation test; not safe to flatten into an absolute without a documented exception. |
| 142 | VERIFY conflict | Keep helper identities and E2E destination. Blanket mock-every-subprocess/<200ms claim requires reconciliation with rule22/row90 explicitly witnessed real-Git isolation test; not safe to flatten into an absolute without a documented exception. |
| 144 | KEEP binding | REQ tag spelling, lifecycle scope, waiver path and kind-aware exemption are project facts. Compress prose only while preserving these distinctions; row39 Mechanical is narrower/older than paragraph148, so row text alone cannot be treated as whole intent. |
| 146 | KEEP binding | REQ tag spelling, lifecycle scope, waiver path and kind-aware exemption are project facts. Compress prose only while preserving these distinctions; row39 Mechanical is narrower/older than paragraph148, so row text alone cannot be treated as whole intent. |
| 148 | KEEP binding | REQ tag spelling, lifecycle scope, waiver path and kind-aware exemption are project facts. Compress prose only while preserving these distinctions; row39 Mechanical is narrower/older than paragraph148, so row text alone cannot be treated as whole intent. |
| 150 | KEEP binding | Keep three-kind taxonomy once, case-insensitive reader/uppercase-new/no rewrite rule, exact proof channels and SUPPORT path-specific artifact_edited exception. Row59 Mechanical and59a Judgment. |
| 152 | KEEP binding | Keep three-kind taxonomy once, case-insensitive reader/uppercase-new/no rewrite rule, exact proof channels and SUPPORT path-specific artifact_edited exception. Row59 Mechanical and59a Judgment. |
| 153 | KEEP binding | Keep three-kind taxonomy once, case-insensitive reader/uppercase-new/no rewrite rule, exact proof channels and SUPPORT path-specific artifact_edited exception. Row59 Mechanical and59a Judgment. |
| 155 | KEEP binding | Keep three-kind taxonomy once, case-insensitive reader/uppercase-new/no rewrite rule, exact proof channels and SUPPORT path-specific artifact_edited exception. Row59 Mechanical and59a Judgment. |
| 157 | KEEP binding | Keep three-kind taxonomy once, case-insensitive reader/uppercase-new/no rewrite rule, exact proof channels and SUPPORT path-specific artifact_edited exception. Row59 Mechanical and59a Judgment. |
| 158 | KEEP binding | Keep three-kind taxonomy once, case-insensitive reader/uppercase-new/no rewrite rule, exact proof channels and SUPPORT path-specific artifact_edited exception. Row59 Mechanical and59a Judgment. |
| 159 | KEEP binding | Keep three-kind taxonomy once, case-insensitive reader/uppercase-new/no rewrite rule, exact proof channels and SUPPORT path-specific artifact_edited exception. Row59 Mechanical and59a Judgment. |
| 160 | KEEP binding | Keep three-kind taxonomy once, case-insensitive reader/uppercase-new/no rewrite rule, exact proof channels and SUPPORT path-specific artifact_edited exception. Row59 Mechanical and59a Judgment. |
| 161 | KEEP binding | Keep three-kind taxonomy once, case-insensitive reader/uppercase-new/no rewrite rule, exact proof channels and SUPPORT path-specific artifact_edited exception. Row59 Mechanical and59a Judgment. |
| 163 | ON-DEMAND | Three authoring examples belong in brief-authoring skill/reference; syntax already stated153. |
| 165 | ON-DEMAND | Three authoring examples belong in brief-authoring skill/reference; syntax already stated153. |
| 166 | ON-DEMAND | Three authoring examples belong in brief-authoring skill/reference; syntax already stated153. |
| 167 | ON-DEMAND | Three authoring examples belong in brief-authoring skill/reference; syntax already stated153. |
| 168 | ON-DEMAND | Three authoring examples belong in brief-authoring skill/reference; syntax already stated153. |
| 169 | ON-DEMAND | Three authoring examples belong in brief-authoring skill/reference; syntax already stated153. |
| 171 | VERIFY conflict | Duplicate proof matrix also overstates SUPPORT event requirement compared with artifact_edited disk-existence alternative at160; preserve the precise taxonomy, not both simplified and qualified versions. |
| 173 | VERIFY conflict | Duplicate proof matrix also overstates SUPPORT event requirement compared with artifact_edited disk-existence alternative at160; preserve the precise taxonomy, not both simplified and qualified versions. |
| 174 | VERIFY conflict | Duplicate proof matrix also overstates SUPPORT event requirement compared with artifact_edited disk-existence alternative at160; preserve the precise taxonomy, not both simplified and qualified versions. |
| 175 | VERIFY conflict | Duplicate proof matrix also overstates SUPPORT event requirement compared with artifact_edited disk-existence alternative at160; preserve the precise taxonomy, not both simplified and qualified versions. |
| 176 | VERIFY conflict | Duplicate proof matrix also overstates SUPPORT event requirement compared with artifact_edited disk-existence alternative at160; preserve the precise taxonomy, not both simplified and qualified versions. |
| 177 | VERIFY conflict | Duplicate proof matrix also overstates SUPPORT event requirement compared with artifact_edited disk-existence alternative at160; preserve the precise taxonomy, not both simplified and qualified versions. |
| 179 | LIFT rationale-history | Historical pre-ADR figures and repeated SUPPORT explanation already have an explicit canonical expansion at193-195. |
| 181 | LIFT rationale-history | Historical pre-ADR figures and repeated SUPPORT explanation already have an explicit canonical expansion at193-195. |
| 182 | LIFT rationale-history | Historical pre-ADR figures and repeated SUPPORT explanation already have an explicit canonical expansion at193-195. |
| 183 | LIFT rationale-history | Historical pre-ADR figures and repeated SUPPORT explanation already have an explicit canonical expansion at193-195. |
| 184 | LIFT rationale-history | Historical pre-ADR figures and repeated SUPPORT explanation already have an explicit canonical expansion at193-195. |
| 185 | LIFT rationale-history | Historical pre-ADR figures and repeated SUPPORT explanation already have an explicit canonical expansion at193-195. |
| 187 | DUPLICATE | Non-BEHAVIOR proof-channel prohibition follows exact one-channel taxonomy above; retain once in condensed taxonomy instead of another explanation. |
| 188 | DUPLICATE | Non-BEHAVIOR proof-channel prohibition follows exact one-channel taxonomy above; retain once in condensed taxonomy instead of another explanation. |
| 189 | DUPLICATE | Non-BEHAVIOR proof-channel prohibition follows exact one-channel taxonomy above; retain once in condensed taxonomy instead of another explanation. |
| 190 | DUPLICATE | Non-BEHAVIOR proof-channel prohibition follows exact one-channel taxonomy above; retain once in condensed taxonomy instead of another explanation. |
| 191 | DUPLICATE | Non-BEHAVIOR proof-channel prohibition follows exact one-channel taxonomy above; retain once in condensed taxonomy instead of another explanation. |
| 193 | KEEP binding | On-demand discovery references; existing tests-rationale TASK workflow is stale and must not silently become authoritative merely because detail is moved there. |
| 194 | KEEP binding | On-demand discovery references; existing tests-rationale TASK workflow is stale and must not silently become authoritative merely because detail is moved there. |
| 195 | KEEP binding | On-demand discovery references; existing tests-rationale TASK workflow is stale and must not silently become authoritative merely because detail is moved there. |
| 197 | KEEP binding | On-demand discovery references; existing tests-rationale TASK workflow is stale and must not silently become authoritative merely because detail is moved there. |
Limits¶
- No repository edits, issue filing, locks, TASKs, corpus onboarding, OBPI work or validators run.
- No assertion that modern-model quality improves by the measured byte count; this is editorial and delivery analysis.
- Mechanical/Promotable scorecard retention constraints govern ordinary diet path; operator may explicitly revise canon.
- Only the canonical tests rule was read end-to-end; adjacent delivery audit and directly relevant scorecard/rationale passages were consulted. Runtime implementations were not re-audited.
- Selected version-history lift must preserve the displaced current history; existing history section predates versions0.20-0.23.
- Do not move workflow instructions verbatim into docs/governance/tests-rationale.md: its TASK section says every GHI decomposes through gz task, conflicting with direct-fix slug and operator-only OBPI initiation.