Skip to content

ci: track engine main, retire ENGINE_REF, add bias-history (gitgalaxy#2682) - #46

Merged
squid-protocol merged 1 commit into
mainfrom
ci/2682-track-engine-main
Sep 3, 2026
Merged

ci: track engine main, retire ENGINE_REF, add bias-history (gitgalaxy#2682)#46
squid-protocol merged 1 commit into
mainfrom
ci/2682-track-engine-main

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Corpus half of gitgalaxy#2682. Makes this repo behave like gitgalaxy's tri-comparison system: PR-time verification only measures, a push-to-main job regenerates the published artifacts by itself, and no pin points at the other repo.

What changes

ENGINE_REF Deleted. verify.yml always checks out engine main. To verify against an unmerged engine PR in CI: gh workflow run verify.yml -f engine_ref=pull/<N>/head — a run parameter, nothing committed, nothing to reset.
.github/workflows/verify.yml Gate loop counts what it ran and fails on zero; a verifier that exits without printing PASS/FAIL is a broken audit (exit 2), not corpus drift. pipefail set so the verifier's status survives tee.
.github/workflows/bias-history.yml (new) On push to main (data/ledger/tools/SPEC) and daily 06:17 UTC: all 46 gates against engine main → bias_report.py at full precision → commit docs/bias_* + findings_by_language.md to main if changed → open/update/close one issue "corpus owes a re-bless against engine main" listing the failing languages. dry_run input for a no-push rehearsal. Never touches manifests or the ledger.
docs/GATING.md "Cross-repo choreography" → "Cross-repo flow (no pins)", with a paragraph on why the old procedure could not close. "Relationship to gitgalaxy's own gates" no longer says the corpus sits outside gitgalaxy CI (it has been inside since #2557).
AGENTS.md rules 4 & 6, rosetta-language-sweep skill Phases 4–5 + checklist, README.md step 5 Engine PR merges first; corpus PR against engine main; shipping regenerated docs is optional because CI does it after merge.

Why a direct commit and not a PR like tri-comparison-history

This repo has no AUTOMATION_PAT and "Allow GitHub Actions to create and approve pull requests" is off, so the workflow token cannot open a PR. A token push never re-triggers workflows, so there is no loop to guard. Same mechanism squid-telemetry uses daily. If you would rather have the PR shape, add the PAT secret and I will mirror tri-comparison-history exactly.

Verified

  • verify.yml dispatched on this branch for the full 46-gate sweep, and bias-history.yml dispatched with dry_run=true (links in a comment once they finish).
  • Both workflow files parse; the dry run proves the regeneration path end to end without pushing.

Cross-repo

Companion: squid-protocol/gitgalaxy PR "ci: rosetta-audit without pins" (its rosetta-audit now checks out this repo's main). Either side can merge first; neither depends on the other's SHA any more. Nothing owed afterwards.

🤖 Generated with Claude Code

…#2682)

The committed ENGINE_REF file and gitgalaxy's KEYWORD_ROSETTA_REF variable pointed at
each other, so no merge order satisfied both; the corpus merged with a knowingly wrong
ref and owed a reset nothing enforced (#39 was a PR whose only content was that reset).
Both checks are advisory, so both pins are retired.

verify.yml always checks out engine main. The rare "verify against an unmerged engine
PR in CI" case is a workflow_dispatch input (engine_ref), a run parameter with nothing
to reset. The gate loop now counts what it ran, fails on zero, and treats a verifier
that exits without PASS/FAIL as a broken audit rather than corpus drift.

bias-history.yml is the twin of gitgalaxy's tri-comparison-history.yml: on every push
to main and daily, it runs every gate against engine main, regenerates the bias report,
chart, cache and findings doc at full precision and commits them, and keeps one issue
("corpus owes a re-bless against engine main") open with the failing languages until
the re-bless lands. It never touches manifests or the ledger. Direct commit rather than
an auto-merged PR because this repo has no automation PAT and the workflow token cannot
open PRs here; token pushes never re-trigger workflows, so there is no loop.

GATING.md's choreography section is rewritten to the three-step flow and says plainly
that the old procedure did not close. AGENTS.md rule 4, the sweep skill's Phases 4-5
and README follow.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@squid-protocol

Copy link
Copy Markdown
Owner Author

Cross-repo companion: squid-protocol/gitgalaxy#2699 (rosetta-audit now checks out this repo's main, classifies against the PR's base branch). Either can merge first.

Full-sweep dispatch of this branch's verify.yml: https://github.com/squid-protocol/keyword-rosetta/actions/runs/33811136620. bias-history.yml cannot be dispatched until it exists on main (GitHub resolves workflow_dispatch against the default branch), so its dry_run=true rehearsal is the first thing to run after merge.

@squid-protocol

Copy link
Copy Markdown
Owner Author

Full-sweep dispatch of this branch's verify.yml against engine main: run 33811136620verified 46 of 46 language folders, n/a audit and bias-mode gate green. The PR's own verify check also passes.

@squid-protocol
squid-protocol merged commit f43a45b into main Sep 3, 2026
2 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