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
sync-release-index-currency.mjs rewrites a current-series field written ahead of a GA cut back to the older GA, stamped with the wrong date, on any version pass that is not that GA's own #25408
Raised by the #25356 card thread (session_013SFSGWz48S21trBAfXEXUx) as an out-of-scope finding (class a), in its os-dev report (comment 6364479785). The domain:devx seat files it on the thread's behalf. PR #25407 (#25356) keeps this path unchanged, as that card requires.
Producer. A PR writes the v-N current-series field ahead of a GA cut. #24584 did this for 18.0.0. Any version pass that is not that GA's own version run then rewrites the field. Such a pass is a cut-rc.yml prerelease cut or a manual run.
Measured, on a throwaway repo only. Before ## 18.1.0 existed, a run on (current series: 18.1.0, released 2026-10-21) wrote (current series: 18.0.0, released 2026-10-23). That is 18.0.0, with a date that is not 18.0.0's. The field moves backwards, and the date then belongs to neither release.
Already visible, but only as an advisory.check-release-section-coverage already reports such a field on main, but only without --strict.
Claim: PM loop round 3 · 2026-10-23T15:22Z
Session: session_01GUr4Vb6HcvEh7N4qrqhPyk (card thread, dispatched by seat session session_01LKHDniRQSWjRJyDtacwpEd)
Account: os-elon-musk
Branch: claude/project-thread-zhlg06 (the harness-pinned branch for the card thread; it names no issue, so this claim is the identity record)
Worktree: objectstack-issue-25408
Domain: domain:devx
Seat: domain:devx#1 (seat post #6023)
File surface: scripts/sync-release-index-currency.mjs and its --self-test (read-only: scripts/check-release-section-coverage.mjs); no .claude/, no .github/workflows/ (stop on breach; explain in the report)
Container & model: S–M, mode:thread, model: default tier, effort: xhigh
Clause-②: no
Metadata-protocol: none
Responsibility: domain:devx seat 1 (#6023) reviews and lands; Tier S ordinary queue
Thread-read: none
Serial constraints cleared: none — no other open card edits sync-release-index-currency.mjs (#25356 landed via #25407)
Dispatched under the maintainer's 「同意」 to the director's ruling batch 1, item 5A (devx dispatches p1–p3). This card is also covered by the maintainer's 「同意,立卡」 for the CI performance audit cards, where the card says so. Dispatch order: /mnt/project-files/pm-devx-seat/dispatch-25408.md.
Reviewed at head 969786544f: one file, scripts/sync-release-index-currency.mjs (+261 / -20). There is no content/docs/releases/**, workflow, package or .claude/** change, and check-governed-merges.mjs --pr 25488 says NOT governed.
Direction (the dispatch order's script route): a current series: field naming a newer version of its own major than the newest GA is left byte-identical on every run, rc cut, empty run, or a lower version's GA run. The run reports it as a deferral and exits 0. aheadOfNewestGa compares numerically, a different major is never "ahead", and a non-x.y.z version throws. A field behind the newest GA is still stamped forward, and the GA's own run still re-dates (the fix(release): re-date a pre-written current-series field on its GA's own version run #25407 path).
Exit 0 rather than a stop: agreed. The ladder's exit 1 fails pnpm run version, which would red every cut-rc.yml cut and version-pr refresh from the day the field is pre-written until its GA, with no sentence that improves that state. The deferral is per major: a refused shape on another major in the same index still stops the run, and Control J pins it. The gate is unchanged and still reports the field (advisory on main, red under --strict in the patrol).
Proof: the throwaway-repo before/after shows origin/main moving 18.1.0 back to 18.0.0, released 2026-10-23 on an empty run and an rc cut, and this branch leaving both byte-identical. 18.1.0's own run re-dates it on both. The seat re-ran --self-test at this head: 75 cases pass (Control J 17, floor 9 → 10). Four ablations each red. Gates are 33 of 33 with --ran reconciled. CI: 45 check runs, success or skipped.
Out of scope, as ordered:--strict for check-release-section-coverage outside the patrol is a workflow edit (Tier H). It is left as a follow-up if wanted.
Landing: ordinary queue, under the maintainer's standing grant for seat-reviewed PRs.
Activity
objectstack-fleet commentedon Oct 23, 2026
Claim: PM loop round 3 · 2026-10-23T15:22Z
Session:
session_01GUr4Vb6HcvEh7N4qrqhPyk(card thread, dispatched by seat sessionsession_01LKHDniRQSWjRJyDtacwpEd)Account:
os-elon-muskBranch:
claude/project-thread-zhlg06(the harness-pinned branch for the card thread; it names no issue, so this claim is the identity record)Worktree:
objectstack-issue-25408Domain:
domain:devxSeat:
domain:devx#1(seat post #6023)File surface: scripts/sync-release-index-currency.mjs and its --self-test (read-only: scripts/check-release-section-coverage.mjs); no .claude/, no .github/workflows/ (stop on breach; explain in the report)
Container & model:
S–M,mode:thread,model: default tier,effort: xhighClause-②: no
Metadata-protocol: none
Responsibility: domain:devx seat 1 (#6023) reviews and lands; Tier S ordinary queue
Thread-read: none
Serial constraints cleared: none — no other open card edits sync-release-index-currency.mjs (#25356 landed via #25407)
Dispatched under the maintainer's 「同意」 to the director's ruling batch 1, item 5A (devx dispatches p1–p3). This card is also covered by the maintainer's 「同意,立卡」 for the CI performance audit cards, where the card says so. Dispatch order:
/mnt/project-files/pm-devx-seat/dispatch-25408.md.objectstack-fleet commentedon Oct 23, 2026
ACCEPT (seat review) → PR #25488 ·
domain:devxseat 1 ·session_01LKHDniRQSWjRJyDtacwpEd· 2026-10-23T16:01Z969786544f: one file,scripts/sync-release-index-currency.mjs(+261 / -20). There is nocontent/docs/releases/**, workflow, package or.claude/**change, andcheck-governed-merges.mjs --pr 25488says NOT governed.current series:field naming a newer version of its own major than the newest GA is left byte-identical on every run, rc cut, empty run, or a lower version's GA run. The run reports it as a deferral and exits 0.aheadOfNewestGacompares numerically, a different major is never "ahead", and a non-x.y.zversion throws. A field behind the newest GA is still stamped forward, and the GA's own run still re-dates (the fix(release): re-date a pre-written current-series field on its GA's own version run #25407 path).pnpm run version, which would red everycut-rc.ymlcut andversion-prrefresh from the day the field is pre-written until its GA, with no sentence that improves that state. The deferral is per major: a refused shape on another major in the same index still stops the run, and Control J pins it. The gate is unchanged and still reports the field (advisory onmain, red under--strictin the patrol).origin/mainmoving 18.1.0 back to18.0.0, released 2026-10-23on an empty run and an rc cut, and this branch leaving both byte-identical. 18.1.0's own run re-dates it on both. The seat re-ran--self-testat this head: 75 cases pass (Control J 17, floor 9 → 10). Four ablations each red. Gates are 33 of 33 with--ranreconciled. CI: 45 check runs, success or skipped.--strictforcheck-release-section-coverageoutside the patrol is a workflow edit (Tier H). It is left as a follow-up if wanted.