feat: align main — the regeneration order is now a checkable fact (GT-630) - #255
Merged
Conversation
The executive summary is built FROM the maturity reconciliation, which is built from the gap board. Generate the summary before reconciling and it captures a value the reconciler is about to move — and each artifact's own `--check` still passes at that moment, because the summary genuinely matches what was just written. So the suite goes green locally and `Validate documentation` goes red on the runner, where the steps run in the declared order. That is not staleness, which the individual `--check` modes already catch. It is an ORDER bug, invisible to any check that looks at one artifact at a time. It cost three red required checks in a single session — made by someone who had already been bitten by it twice, because the correct sequence was written down nowhere in the repository. The chain is now DATA: producer, what it consumes, what it writes. The guard walks it in dependency order and reports the FIRST stale link with the command that fixes it AND the inputs that must be current before it — stopping there on purpose, because an artifact built on stale input is not independently wrong, and fixing it first would hide the cause. **Writing the tests bounded what the fixed-point pass is worth, and the bound is recorded in the guard rather than glossed over.** With deterministic generators, currency-in-order already subsumes it: if every link matches what it would write now, a replay is the identity. I had written a test asserting otherwise and it failed, correctly. The fixed point earns its place on the other failure — a generator whose output does not depend only on its declared `consumes` — and that is the case the self-test now exercises, with an undeclared run counter. The replay runs in the real tree rather than a copy, because the generators resolve paths against a real repository root and a partial copy fails for the wrong reason. It snapshots, replays, diffs and restores byte-for-byte, and VERIFIES the restore rather than trusting it — a guard that leaves behind what it was measuring cannot report on it. One test asserts exactly that. Wired into `docs.yml`, which backs the required check, and registered in `guard-classification.mjs`: 58 guards classified, 35 observed failing. Board: 587/630 done · 17 in progress · 22 pending · 4 deferred. Verified: the guard exits 0 over 2 links and 3 artifacts; self-test 8/8 with four anti-vacuous fixtures; governance 17/17; bilingual parity exit 0; tracking 630 gaps, 606/606 catalog sections, 569 closure records. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
feat(ci): make the regeneration order a checkable fact (GT-630)
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
📊 Bilingual Coverage ImpactPR Changes
Repository Coverage
✅ Good: All EN changes have ES counterparts. Generated by GitHub Actions |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Aligns
mainwithdevelop. The derived-artifact chain is declared as data and walked in dependency order by a guard wired into the required check, after the same ordering mistake produced three red required checks in one session. Board 587/630.🤖 Generated with Claude Code