Repository navigation
ci: core checks always report (required-ready); det sweep proves only the ports a translator change moves, shards up to 20 (#4825 1a, #4814 v1) - #4826
Merged
Conversation
…tep 1a) main has no required status checks: every gate is a convention, and bot PRs auto-merged before their tests meant anything (#4820 turned main red). A required check must report on EVERY PR, or a PR it skips waits forever. - det-sweep: no trigger path filter; det_sweep_plan.py holds the det inputs (DET_INPUTS, moved from the trigger) and plans mode "none" (0 shards) when no changed file is one -- `det` then passes in about a minute. A file det never reads (docs, README, other engine code) also no longer widens a case-only plan to a full sweep. - ruff-audit, mypy-audit, smoke-test (full-suite / smoke-test), mainframe-ground-truth: the pull_request trigger drops its docs-only paths-ignore (push filters unchanged). Next (1b, repo setting once this lands): a ruleset on main requiring det, ruff-audit, mypy-audit, full-suite, smoke-test and ground-truth. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TBJdDBRtJis5hzE244NQKV
…-sized shards up to 20 (#4814 v1) A change confined to gitgalaxy/tools/cobol_to_java/det/ (translator + cobolrt runtime: everything a port's bytes come from) used to re-prove every case on 6 runners (~30 min). Now the plan job runs `det_port.py check` (translate every case at origin/main and at HEAD, no Docker / JDK; ~4 min locally) and plans only the ports that differ, the cases the PR touched, and their dependents; the rest are carried forward from main. Anything that can move a verdict without moving a port byte (harness, proof_reach.py, oracle, generator) stays a full sweep; a missing/garbled port diff is a full sweep; the nightly schedule run is always full (the honesty check). Db2 cases a diff touches are listed (db2_not_swept) -- CI skips Db2 as before. MAX_SHARDS 6 -> 20 (a narrow plan still starts one runner per ~3 cases). Tests: 32 passed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TBJdDBRtJis5hzE244NQKV
Contributor
squid-protocol
marked this pull request as ready for review
October 9, 2026 23:28
squid-protocol
added a commit
that referenced
this pull request
Oct 9, 2026
…e; ledger re-applied from its sweeps Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TBJdDBRtJis5hzE244NQKV
This was referenced Oct 10, 2026
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.
Steps 1a of #4825 and v1 of #4814.
1a: the core checks run on every PR, so they can be required.
mainhas no required status checks; bot PRs auto-merged before their tests meant anything (#4820 turned main red). A required check must report on every PR.det_sweep_plan.pyholds the det inputs (DET_INPUTS) and plans modenone(0 shards) when no changed file is one, sodetpasses in about a minute. Files det never reads no longer widen a case plan to a full sweep.full-suite/smoke-test), mainframe-ground-truth: the PR trigger drops its docs-onlypaths-ignore. Push filters are unchanged.#4814 v1: prove only what a translator change moves. A change confined to
gitgalaxy/tools/cobol_to_java/det/used to re-prove every case on 6 runners (~30 min). Now the plan job runsdet_port.py check(translate all cases at main and at HEAD; ~4 min locally, no Docker or JDK) and proves only the ports that differ, the touched cases and their dependents. The rest carry forward from main.MAX_SHARDS6 → 20. A narrow plan starts one runner per ~3 cases.Local check: a translator-only change with no port change plans 0 cases (88 carried forward).
Tests:
test_det_sweep_fast.py32 passed;pr_gates --fast5/5; ruff and mypy audits clean.Next (1b, a repo setting after this lands): a ruleset on
mainrequiringdet,ruff-audit,mypy-audit,full-suite,smoke-test,ground-truth.🤖 Generated with Claude Code
https://claude.ai/code/session_01TBJdDBRtJis5hzE244NQKV