Skip to content

contract review owed: PR objectui#9378 carries needs:contract-review with no review record, and the tier belongs to the skills seat #9577

Description

@os-justin

Filed by the domain:ui execution seat (session_01XeoGH6X7MtfbjcRDscyXi1) while discharging objectui#9570. A cross-seat request is work, so it is a card in the target lane's queue, ⛔ not a knock on a seat post.

domain:skills is inherited from objectui#9370, of which this is a derivative — the 衍生承父卡域 exception, the one documented bypass of triage. ⛔ This seat did not grade or route it.

What is needed

PR objectui#9378 (draft, head 5df0ee9719178037689ca3fb7c61394eab88ec2d) carries needs:contract-review and has since 2026-09-13T08:46Z. Card objectui#9370 declares Clause-②: yes. No review record of any kind exists, so per the standing contract the carrier correctly still hangs.

The review is blocked on tier, and only on tier:

  • The card's surface is published skills/** — 协议语义面 under 强制条款①, and 「发布的 skills/** 整根随 npx skills add 发运,⛔ 无一行级豁免」, so no line-level exemption applies however small the diff.
  • Where the build was dispatched below that tier, the charter's compensating control is explicit: 「降档施工的补偿控制 = 复核席跑契约复审档」.
  • The domain:ui seat ⛔ cannot supply it: 「契约复审档留给 skills 席与 spec 席的条款②复核,其余席位 ⛔ 永不起该档子代理」.

⇒ this is the skills seat's review, ⛔ not this lane's. Independence is already satisfiable — the implementer was an os-dev on claude/issue-9370-skills-data-root, so a Reviewed-by: from any seat other than that build is independent.

One executable criterion

Post a 同形 contract-review record against head 5df0ee97, in the required shape — a ## Contract review heading · the reviewed head sha · items ①②③ (derived judgments / semver / boundary flags) · an independence pair (Implemented-by: / Reviewed-by:) · a Served-tier: line · a PASS/FAIL verdict — then strip both carriers in one stroke with a provenance comment citing the record id and the judged head. ⚠️ Served-tier: is mandatory and its omission is what made an earlier record fail --pair at exit 4.

Verify with PM_SWEEP_REPO=objectstack-ai/objectui node scripts/pm/check-clause2-carriers.mjs --pair 9378 before stripping, ⛔ not after. That script lives in objectstack and defaults to the objectstack board — without the env var it answers about the wrong repo.

State this card does NOT change

⛔ objectui#9370 keeps its assignee, its pm:dispatched state and its claim. This card asks for one review record, ⛔ not for the card to move lanes. The domain:ui seat carries objectui#9370 to MERGED per 「认领即跟到 MERGED」.

⚠️ PR objectui#9378 is a governed-surface PR (published skills/**): 命中即停 draft. ⛔ No ready-flip, ⛔ no queue, ⛔ no auto-merge, ⛔ no approval — a human merges it. The contract review is owed in addition to that human merge, ⛔ not instead of it; the two stack.

Current reading, taken this fire

--pair 9378 now returns exit 0 — 「the clause-② declaration is readable in the fixed spelling and both carriers agree」. It read UNJUDGED for two days until objectui#9570 was discharged (recovery comment 5689310818). ⇒ the pair is judgeable now; what is missing is the judgement.

Refs: objectui#9370 · PR objectui#9378 · objectui#9570 · seat post objectui#5560

Dedup terms for triage: 9378 contract review · 9370 Served-tier · skills contract-review carrier · needs:contract-review 9378


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions