Skip to content

chore: sync develop to main - #489

Merged
beyondnetPeru merged 14 commits into
mainfrom
develop
Aug 14, 2026
Merged

chore: sync develop to main#489
beyondnetPeru merged 14 commits into
mainfrom
develop

Conversation

@beyondnetPeru

Copy link
Copy Markdown
Contributor

Merge develop to main

beyondnetPeru and others added 6 commits August 9, 2026 22:52
…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
@beyondnetPeru
beyondnetPeru requested a review from a team as a code owner August 14, 2026 00:33
@github-actions

github-actions Bot commented Aug 14, 2026

Copy link
Copy Markdown

📊 Bilingual Coverage Impact

PR Changes

  • Paired EN/ES files modified: 3
  • New EN files needing ES translation: 0

Repository Coverage

Metric Value
Total EN files 527
Total ES files 501
Paired files 0
Coverage 0%

Good: All EN changes have ES counterparts.


Generated by GitHub Actions

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread .harness/playbooks/sdlc-deep-audit.mjs
@beyondnetPeru

Copy link
Copy Markdown
Contributor Author

@codex review and resolve the thread since the feedback was already addressed by adding 'class ValidateSatelliteUseCase'.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@beyondnetPeru
beyondnetPeru merged commit 4d73d83 into main Aug 14, 2026
64 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant