Repository navigation
control corpus Phase 5: pin keyword-rosetta as a cross-language consistency gate in gitgalaxy CI #2557
Copy link
Copy link
Closed
Labels
core-engineModifications to the central physics and parsing engineModifications to the central physics and parsing engineenhancementNew feature, sensor, or structural signatureNew feature, sensor, or structural signaturetestingUnit, integration, and E2E pipeline verificationUnit, integration, and E2E pipeline verification
Description
Successor to #1096 (the multi-language control corpus), which is closed as delivered by keyword-rosetta: 46/46 registry languages locked and gate-passing, with that repo's own CI running tools/verify_language.py on any changed data/ folder. What #1096's plan called Phase 5 — the gitgalaxy-side integration — is this issue.
Scope
- Pinned-tag CI job in this repo, mirroring the crucible pin mechanism (
LANGUAGE_CRUCIBLE_REF+tests/_crucible_pin.py): check out keyword-rosetta at a pinned tag, run its verifier across all 46 folders against the PR's engine build, fail on gate regressions. This turns the corpus from a point-in-time audit into a standing regression gate the same way the golden masters work. - Re-baseline protocol documented for intentional engine changes: each of the still-open corpus findings (prism/detector: string-literal shielding is selective by signal family (if/try/open count inside a literal, eval does not) #2535–fragile_debt/planned_debt match inside hyphenated code identifiers (HACK-LEVEL, PROBE-TODO) — debt rules are whole-text, not comment-anchored #2537, javascript func_start/args parse 'with (x) {}' as a function named 'with' #2539–orphan census counts non-function shapes on non-call-graph languages, making orphan→api conversion unauditable #2547, html func_start is unreachable end-to-end: the polyglot splitter consumes <script>/<style> tags before html's rules run #2549) will, when fixed, change planted-corpus expected values — the corpus already has the precedent (keyword-rosetta commit
0e8ebfare-baselinedembedded_pythonapi 3→6 after PR fix(core): wire embedded_python into Python-family indentation-scoping #2548 landed here). The pin bump + expected-signals re-baseline should be one documented cross-repo step, likeBUMPING_THE_CRUCIBLE_PIN.md. - Optional, carried from Feature: multi-language control corpus to validate structural extraction equivalence across languages #1096's original proposal and explicitly not delivered in Phases 1–4: wrapping each language folder in its idiomatic project/manifest shape to stress
guidestar_lens.py's Intent Lock. Today only python (pyproject.toml), javascript (package.json) and rust (Cargo.toml) carry manifests; the other 43 are bare probe shells, which keeps planted counts exact but leaves the Intent Lock path untested by this corpus. Decide deliberately whether that's worth the count-perturbation risk before building it.
References
- Feature: multi-language control corpus to validate structural extraction equivalence across languages #1096 (closed epic) and its status comments for the phase history
- keyword-rosetta: SPEC.md, docs/GATING.md, deviation_ledger.json, bias report
- Crucible-pin precedent:
docs/self_scan/BUMPING_THE_CRUCIBLE_PIN.md,tests/_crucible_pin.py
🤖 Generated with Claude Code
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
core-engineModifications to the central physics and parsing engineModifications to the central physics and parsing engineenhancementNew feature, sensor, or structural signatureNew feature, sensor, or structural signaturetestingUnit, integration, and E2E pipeline verificationUnit, integration, and E2E pipeline verification
Activity
docs: adding a language now includes its keyword-rosetta control fold…
ci: rosetta-audit gate -- pinned cross-language consistency check on …
fix(ci): guard corpus-pin audits against an empty LANGUAGE_CRUCIBLE_R…