Path: none
scripts/pm/check-prior-rulings.mjs is the sanctioned producer of the Prior rulings read: line every decision card must carry. Run from an objectui checkout it refuses:
check-prior-rulings: PREREQUISITE NOT MET — `docs/adr` parsed to zero decision units at origin/main.
Nothing was searched. The paste line is:
Prior rulings read: unresolved
(Exit code 3)
Measured at 2026-09-18T22:12Z, cwd = /home/user/objectui, --terms gate,required,spec,shape.
The control, in the same act
docs/adr is not missing and is not empty. On objectui@origin/main 8f37c4e90:
docs/adr/0001-master-detail-subform.md
docs/adr/0034-unified-runtime-metadata-persistence.md
docs/adr/0036-field-conditional-rules.md
docs/adr/0053-list-view-navigation-modes.md
docs/adr/0054-ui-testability-contract.md
docs/adr/0055-parameterized-bare-data-surface.md
docs/adr/0056-permission-editing-studio.md
docs/adr/0057-console-ai-chat-one-conversation-docked.md
docs/adr/0058-cascading-select-options.md
docs/adr/0059-action-params-shared-field-widgets.md
count: 10
⇒ ten ADR files in, zero decision units out. The refusal's own diagnosis names the two candidates — "either the path moved or the decision shapes drifted" — and the path plainly did not move, so it is the shape: objectui's ADRs do not carry whatever structure the parser counts as a decision unit.
Why it matters rather than being cosmetic
The tool is honest about its own failure, which is the good half: it refuses rather than printing none, and it says in as many words why none would be a lie. The cost is that no objectui decision card can ever cite a prior ruling. Every one of them is entitled to exactly one paste line, Prior rulings read: unresolved, which tells a reader nothing about whether objectui has already ruled on the question in front of them — and objectui has ten ADRs that might.
This is the second reading in one session about this tool's cross-repo behaviour. The first is recorded as a seat 说明: the tool takes no --repo, by design, so a seat working an objectui card in the objectstack checkout silently gets objectstack's ADR corpus and pastes a line that searched the wrong repository. Six objectui cards (#9853 #9786 #9695 #9830 #9874 #9871) were corrected in place for that. The two readings meet at the same place: run it where the card lives and it refuses; run it where the tool lives and it answers about the wrong repo.
Shape of the fix (not a ruling)
Either the parser learns objectui's ADR shape, or the refusal gains a sentence naming which repo's docs/adr it just read so the wrong-corpus case is visible too. Which of those — or both — is the lane's call.
Dedup words
check-prior-rulings, Prior rulings read, zero decision units, docs/adr objectui, PREREQUISITE NOT MET
Filed by the domain:ui#2 execution seat (session_018HrVaotisyhgmot9o2MLRq) at 2026-09-18T22:13Z. Both readings were taken in this act; no code was written for this card.
Generated by Claude Code
Path: none
scripts/pm/check-prior-rulings.mjsis the sanctioned producer of thePrior rulings read:line every decision card must carry. Run from an objectui checkout it refuses:Measured at 2026-09-18T22:12Z,
cwd=/home/user/objectui,--terms gate,required,spec,shape.The control, in the same act
docs/adris not missing and is not empty. Onobjectui@origin/main8f37c4e90:⇒ ten ADR files in, zero decision units out. The refusal's own diagnosis names the two candidates — "either the path moved or the decision shapes drifted" — and the path plainly did not move, so it is the shape: objectui's ADRs do not carry whatever structure the parser counts as a decision unit.
Why it matters rather than being cosmetic
The tool is honest about its own failure, which is the good half: it refuses rather than printing
none, and it says in as many words whynonewould be a lie. The cost is that no objectui decision card can ever cite a prior ruling. Every one of them is entitled to exactly one paste line,Prior rulings read: unresolved, which tells a reader nothing about whether objectui has already ruled on the question in front of them — and objectui has ten ADRs that might.This is the second reading in one session about this tool's cross-repo behaviour. The first is recorded as a seat 说明: the tool takes no
--repo, by design, so a seat working an objectui card in the objectstack checkout silently gets objectstack's ADR corpus and pastes a line that searched the wrong repository. Six objectui cards (#9853 #9786 #9695 #9830 #9874 #9871) were corrected in place for that. The two readings meet at the same place: run it where the card lives and it refuses; run it where the tool lives and it answers about the wrong repo.Shape of the fix (not a ruling)
Either the parser learns objectui's ADR shape, or the refusal gains a sentence naming which repo's
docs/adrit just read so the wrong-corpus case is visible too. Which of those — or both — is the lane's call.Dedup words
check-prior-rulings,Prior rulings read,zero decision units,docs/adr objectui,PREREQUISITE NOT METFiled by the
domain:ui#2execution seat (session_018HrVaotisyhgmot9o2MLRq) at2026-09-18T22:13Z. Both readings were taken in this act; no code was written for this card.Generated by Claude Code