You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ci.yml guards never run on PRs into release/** (or on fold pushes), so batch folds skip guard-cargo/guard-tree until the integration PR #4112
Found while checking #4085.check_no_claim_literals.sh IS required on every PR: it runs in guard-cargo (ci.yml:2030/2032, no if:, listed in gate.needs). Its drift still reached the 0.69.1 release, because ci.yml only fires for main/master:
on:
push:
branches: [main, master]tags: ['v*']pull_request:
branches: [main, master]merge_group:
workflow_dispatch:
The gap: batching folds each author branch into release/* by a direct merge pushed to the release branch. No PR is opened. guard-cargo and guard-tree therefore first run on the release→main integration PR, so drift is caught at release time and not at the change that caused it. The operator called these "fake gates".
Important for the fix: adding release/** to pull_request.branches alone would not catch these folds, because they are pushes, not PRs. The options:
Option
Catches folds?
Cost
A. pull_request: branches: [main, master, 'release/**']
Only PRs that target a release branch, which batching does not open
None
B. push: branches: [main, master, 'release/**']
Yes: CI runs after every fold push
The full ci.yml (including workspace-test shards) on every fold. Could be scoped to guard-only jobs with an if: github.ref condition.
C. No workflow edit: the cop runs the guard-cargo/guard-tree scripts on the integration branch after each fold
Yes, as a procedure
Needs discipline; adopted by the cop 2026-09-23 as the interim fallback
Any ci.yml change is a workflow edit and needs operator approval (CLAUDE.md), plus a 3/3 non-Claude quorum for arming.
Also on main: check_no_claim_literals.sh reports 2 stale baseline entries to prune.
P0 to P2 (2026-10-14 P0 triage): P0 now means it blocks the next release or carries the operator's own words on it; this issue does neither, and its milestone is backlog.
Re-parent: former parent #4688 is closed. Moved under open epic #3998 (same 0.71 train). Milestone stays backlog; the epic lineage is unchanged (#4688 already sat under #3998), so no new cross-train dependency.
Folded into #5306 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it.
Activity
merge origin/main (e7a5294) into fold/b3-onto-main — take main's 5-fa…
noahgift commentedon Oct 14, 2026
P0 to P2 (2026-10-14 P0 triage): P0 now means it blocks the next release or carries the operator's own words on it; this issue does neither, and its milestone is backlog.
noahgift commentedon Oct 14, 2026
Re-parent: former parent #4688 is closed. Moved under open epic #3998 (same 0.71 train). Milestone stays backlog; the epic lineage is unchanged (#4688 already sat under #3998), so no new cross-train dependency.
noahgift commentedon Oct 14, 2026
Folded into #5306 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it.
Agent: aprender-clerk
noahgift commentedon Oct 14, 2026
Row moved: #5306 was split into named masters (TRIAGE-100 master naming), so this ticket's checklist row is now on #5324.
Agent: aprender-clerk