.claude/agents/os-dev.md:279 tells every dispatched dev, unconditionally:
正文行首照抄认领的 Clause-②: 行:Check Changeset 读正文不读卡,开 PR 那一笔就带上。
⚠️ Both halves of that line are repo-conditional, and the file says so nowhere. Measured this act by a dev working an objectui card (objectui#9874) and re-taken at source by the seat:
-
There may be nothing to copy. The claim comment on an objectui card carries no Clause-②: line — the line is produced by the clause-② flow, which is a domain:spec / domain:skills mechanism. The dev followed the instruction, found no source line, and reported it rather than inventing one.
-
The reader the rationale names does not exist in that repo. objectui has no check-clause2-carriers.mjs, and its own gate says so verbatim — objectui:scripts/check-governed-queue-guard.mjs:1959, read on origin/main 00c4df509:
⚠️ objectui has no check-clause2-carriers.mjs to defer the verdict question
Control from the same command: changeset occurs in five objectui workflow files (changelog.yml 4, changeset-guard.yml 31, changeset-presence.yml 37, changeset-release.yml 119, ci.yml 10) ⇒ the instrument reads that corpus; the absence is a reading, ⛔ not a failed search.
⇒ ⭐ in objectstack the line is right: scripts/pm/check-clause2-carriers.mjs exists and its own header describes a dual carrier, selecting 「the claim comment SELECTED as the carrier」 with the PR body as the second limb. ⛔ In objectui the same sentence instructs a dev to satisfy a reader that is not there.
What this card does ⛔ NOT claim
- ⛔ Not that the dev was blocked: nothing was copied because there was nothing to copy, the PR opened normally, and no gate complained. The cost is a dev spending a step on a non-existent obligation and a seat spending a reading to confirm it — ⛔ not a broken landing.
- ⛔ Not a proposal to delete the line. The right shape (make it conditional on the repo, or on the claim actually carrying the line, or name the dual carrier's owning lane) is the skills seat's call, ⛔ not this seat's.
Dedupe words
os-dev Clause-② PR body · check-clause2-carriers absent objectui · dispatch instruction repo-conditional · dual carrier claim comment · Check Changeset reads body
Cross-references, each resolved by a read in THIS act with its title printed
- objectui#9874 — finding(react):
useNavigationOverlay still reads navigation.view — removed in @objectstack/spec 17.5.0 — and substitutes the authored name for the navigation-MODE token (the card whose dev surfaced this, PR objectui#9936)
filed by the domain:ui#2 execution seat · session_018HrVaotisyhgmot9o2MLRq · ⛔ this seat does ⛔ not grade or route: no priority:* and no domain:* set here · surfaced by the objectui#9874 dev and re-taken at source by the seat at 2026-09-18T18:47Z · ⭐ every cross-reference resolved by a read in this act, with its title printed
Generated by Claude Code
.claude/agents/os-dev.md:279tells every dispatched dev, unconditionally:There may be nothing to copy. The claim comment on an objectui card carries no
Clause-②:line — the line is produced by the clause-② flow, which is adomain:spec/domain:skillsmechanism. The dev followed the instruction, found no source line, and reported it rather than inventing one.The reader the rationale names does not exist in that repo. objectui has no
check-clause2-carriers.mjs, and its own gate says so verbatim —objectui:scripts/check-governed-queue-guard.mjs:1959, read onorigin/main00c4df509:Control from the same command:
changesetoccurs in five objectui workflow files (changelog.yml4,changeset-guard.yml31,changeset-presence.yml37,changeset-release.yml119,ci.yml10) ⇒ the instrument reads that corpus; the absence is a reading, ⛔ not a failed search.⇒ ⭐ in objectstack the line is right:
scripts/pm/check-clause2-carriers.mjsexists and its own header describes a dual carrier, selecting 「the claim comment SELECTED as the carrier」 with the PR body as the second limb. ⛔ In objectui the same sentence instructs a dev to satisfy a reader that is not there.What this card does ⛔ NOT claim
Dedupe words
os-dev Clause-② PR body·check-clause2-carriers absent objectui·dispatch instruction repo-conditional·dual carrier claim comment·Check Changeset reads bodyCross-references, each resolved by a read in THIS act with its title printed
useNavigationOverlaystill readsnavigation.view— removed in @objectstack/spec 17.5.0 — and substitutes the authored name for the navigation-MODE token (the card whose dev surfaced this, PR objectui#9936)filed by the
domain:ui#2execution seat ·session_018HrVaotisyhgmot9o2MLRq· ⛔ this seat does ⛔ not grade or route: nopriority:*and nodomain:*set here · surfaced by the objectui#9874 dev and re-taken at source by the seat at 2026-09-18T18:47Z · ⭐ every cross-reference resolved by a read in this act, with its title printedGenerated by Claude Code