chore: sync develop to main - #489
Merged
Merged
Conversation
…ed to a branch, so it expired the day the fix landed
GT-666's self-test kept one case that mattered more than the other eighteen:
the guard checked against the REAL pre-fix artifact, not a sketch of one. Its
comment says why, and it is right — «Reconstructed fixtures agree with whatever
the author believed was wrong; this one cannot.»
It got that artifact with `git show ${PRE_FIX_REF}:iso-5055-mapping.json`, and
PRE_FIX_REF defaulted to origin/develop. True while the fix lived on a branch.
59d62ba merged, origin/develop began serving the CORRECTED artifact, and a case
written to count 64 findings started counting 0 — green on its own branch, red
the moment it mattered, blocking promotion PR #483. Reproduced on develop before
anything was touched: 19 tests, 18 pass, `AssertionError: 0 !== 64`.
The worse half is the one nobody would have seen. The case carried a
shallow-clone escape — `if (before.status !== 0) return void assert.ok(true,
'SKIPPED: …')`. Under fetch-depth:1, a detached history, or a fork without
origin/develop, the identical rot PASSES IN SILENCE. That is an escape hatch out
of the one case establishing this guard has ever been OBSERVED failing rather
than declared able to.
So: keep the intent, freeze the evidence. The pre-fix mapping is committed at
.harness/fixtures/standards-rule-class/iso-5055-mapping.pre-gt-666.json, taken
from 0130834 (59d62ba^, blob 6684e8a) — the fixtures home this repo already
uses, not a new one. Not trimmed: all 412 rows, because trimming is an editorial
act on a fixture whose whole value is that no author's belief touched it. One
`_fixture` provenance key added (JSON has no comments) and the claim is
checkable, not asserted — drop it, re-serialise, and the blob reproduces byte
for byte.
The git show, the env var and the skip are deleted. No replacement skip: a
shallow clone constrains a test that shells out to git, not one that reads a
file in its own tree, so an unreadable fixture is a real failure and red is
correct.
Assertions unchanged and unweakened — 64 findings, 16 of them `is classified
governance`. One case ADDED, not relaxed: a fixture "refreshed" from the live
mapping is RED, and that was observed rather than argued. Simulating the refresh
turns 2 of 20 cases red, so the negative fixture cannot quietly become a copy of
the artifact it exists to catch.
Measured: node --test 20/20 pass, 0 skipped. 42 -> 78 guards classified, 57/57
refuse a zero-element scan. 43 -> 54/54 exercised guards turned red. core-domain
clean rebuild, 157 suites / 1853 tests green. 01, 04, 09, 46 pass; ci-runner
governance fails only on this commit's own PENDING closureCommit.
No corpus file, no generator and no derived artifact touched — deliberately off
build-iso-5055-mapping.mjs and iso-5055-mapping.json, where a parallel session
is changing analyser.adoptable. That work moves neither ruleClass nor the pack
rule count, so the frozen 64/16 figures are unaffected by it.
Registered GT-668, not GT-667: GT-667 is claimed by branch name on two
concurrent branches (gt-667-analyser-adoptable, claude/gt-667-iso5055-adoptable)
carrying that follow-on. Guard 49 compares against origin/main and could not
have seen either, so the id was taken by union of branches.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
a620ed3 is the commit with the frozen fixture and the reworked self-test. 08-validate-tracking now passes: 665 gaps, 641/641 EN/ES catalog sections, 635 closure records. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
That paragraph said, in the present tense, that the self-test "reads the pre-fix iso-5055-mapping.json out of git" — which stopped being true one commit later. Left alone it is the same class of thing GT-668 is about: a document whose claim quietly diverged from the artifact without anyone editing it. The counts it reports (64 findings, 16 rules x 4 broken rules) are unchanged and still measured, so only the mechanism is marked superseded. EN and ES both. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`develop` gained GT-667 (#487) while this branch was in review, and the two collide on exactly the four board artifacts they both append to: the EN/ES tracking rows, the EN/ES catalog entries and the closure records. Every conflict is ADDITIVE — two gaps each adding their own row — so both sides are kept and neither is chosen over the other. Progress recomputed to 654 / 666: develop's 653 / 665 plus this branch's GT-668. The interesting part is what did NOT move. GT-667 regenerates `iso-5055-mapping.json` (it derives `analyser.adoptable` for the four ISO5055-* rows), and this branch's whole subject is a FROZEN copy of that artifact from before GT-666. If the freeze were doing its job the regeneration should not reach it, and the self-test's 64/16 figures should be untouched. Measured after the merge: 20/20, unchanged. The fixture is a snapshot, not a mirror — which is the property GT-668 exists to establish, now demonstrated against a real concurrent change rather than argued. Verified on the merged tree: tracking 666 gaps / 642 catalog sections / 636 closure records, derived chain current and at a fixed point, bilingual parity, docs, and governance 17/17. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
fix(audit): correct paths in deep audit script for src monorepo
📊 Bilingual Coverage ImpactPR Changes
Repository Coverage
✅ Good: All EN changes have ES counterparts. Generated by GitHub Actions |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 827cc87fbf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
fix(audit): match class declaration to resolve codex review
feat(docs): add commercial narrative brochure
feat(docs): add quickstart guide
Contributor
Author
|
@codex review and resolve the thread since the feedback was already addressed by adding 'class ValidateSatelliteUseCase'. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
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.
Merge develop to main