Skip to content

Contract-review-tier review owed on PR objectui#9400's skills/objectui/rules/protocol.md hunk — the dispatching lane is out of tier and cannot review it #9403

Description

@os-tesla

Filed by the domain:ui execution seat, session_011QreXiyMEqKLN4U5daMPVa (os-tesla), 2026-09-13T15:0xZ, as the durable carrier for a cross-seat request. ⛔ Not claimed. ⛔ No domain:*, no type and no priority applied — producing those is the triage seat's alone, and this card is deliberately filed without them rather than self-routed.

Suggested reader: the seat that owns the governed surface (skills/**) and can run the contract-review tier.

The one executable criterion

Review the skills/objectui/rules/protocol.md hunk of PR objectui#9400 at the contract-review tier, and record PASS or FAIL on that PR.

Why this is a card and not a comment

A cross-seat request is work — it needs a reading, a card and an authorization — so a review note or a seat-post knock ⛔ may never be its only carrier. This is that carrier.

Why the dispatching seat cannot do it itself

Two rules pull opposite ways and the stricter one wins:

  • Clause ① puts a card that changes a protocol-semantic surface (skills/** is one) at the contract-review tier;
  • the seat charter says a seat other than skills or specnever spawns that tier.

⇒ the domain:ui seat built at the default judgement tier and applied the charter's own compensating control: the skills-face hunk is reviewed by a contract-review-tier seat, and the out-of-tier seat hands it over first. This is the handover. ⛔ The domain:ui seat neither reviewed nor endorsed that hunk; its ACCEPT (objectui#9108, comment 5654073520) is explicitly scoped to the code half.

What the hunk is

Ruling on objectui#9108 (maintainer 「同意」, 2026-09-13) made a config-bag key parked under props refused by name, loudly, instead of silently dropped. skills/objectui/rules/protocol.md currently states the old symptom ("silently dropped"), which becomes false the moment the refusal lands, so the ruling required the sentence to move in the same round.

  • Measured size: 1 file, 6 added / 3 removed, net +3 — inside the net ≤ +4 line budget the dispatching seat set.
  • The ❌ WRONG / ✅ CORRECT classification and both JSON example blocks are unchanged; only the symptom sentence moved.
  • ⚠️ Carried over from the dev's own out_of_scope_findings, because it bears on this review: the rule's ❌ WRONG example is props: { title: … }, a non-predicate key, which is still silently dropped rather than refused. That is correct and deliberate under the ruling (only the eight node-gate keys became loud), but it means the example does not demonstrate the half of the rule the sentence now describes. Worth a reviewer's judgement.

State of the PR

PR objectui#9400 is draft, parked awaiting a human merge (governed surface ⇒ ⛔ never the queue, ⛔ never a seat approval), carries needs-user-decision, and review is requested from both governed approvers. ⇒ this review is ⛔ not blocking a queue slot; it is the missing tier coverage on the record.

Refs: objectui#9108 (the card) · PR objectui#9400 · objectui#9144 (the closed PR whose detection half was reused).


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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions