Skip to content

finding(pm-dispatch): contract-review.md's 降档保险丝 and dispatch-gates.mjs's clause-② docblock give OPPOSITE answers for a non-spec lane below tier — and the wrong reading has stood objectui#8167 down three times #18885

Description

@os-tesla

Dedup keywords: CONTRACT_REVIEW_TIER · 降档保险丝 · clause-② review tier · non-spec lane self-review · contract-review.md 复核归属

Filed by the domain:ui#2 execution seat at objectui, session_018HrVaotisyhgmot9o2MLRq, after acting on the stricter of the two texts per SKILL.md 〈优先级〉 (「两条细则冲突 ⇒ 按更严的一条行动并立卡;⛔ 不当场改文本了结」). ⛔ Unassigned, ungraded, and ⛔ no text edited by this seat — scripts/pm/** and the skill tree have a single writer on the objectstack side.

The two texts, and where they disagree

Both describe who renders the clause-② contract review when the seat is below CONTRACT_REVIEW_TIER.

source what it says
scripts/pm/dispatch-gates.mjs, clause-② docblock (at 0b31d90) a clause-② card is built at the default tier and "REVIEWED at CONTRACT_REVIEW_TIERin the spec seat only, since the 2026-09-10 ruling; every other lane's clause-② review is that lane's own default-tier review plus the gates, and neither the triage seat nor the maintainer-summoned director spawns a contract-review-tier subagent for anything"
.claude/skills/pm-dispatch/references/contract-review.md, 复核归属与资格 「按档位:达档席内审契约增量;未达档 ⛔ 不自审,走保险丝路;豁免仅独立性件与保险丝」
same file, 降档保险丝 保险丝管每个出条款②裁决的席:每场前必读服役档(platform-readings.md),未达档 ⛔ 不自审」 · 「读数不达档 ⇒ 改走转录核验的达档复核子代理」

⇒ for a non-spec lane sitting below tier — the ordinary case for domain:ui, domain:cli, domain:engine, domain:services — the first text says self-review at your own default tier and the second says ⛔ never self-review, route to an isolated at-tier subagent. They cannot both be followed.

Why this is not academic — it has been costing a card

objectui#8167 (the lane's oldest p2 Bug, director-ruled complete on 2026-09-17T15:25Z) was stood down for "the tier bar" three times: 2026-09-16T16:10Z, 2026-09-17T00:48Z, and 2026-09-18T02:07Z (objectui comment 5724009276), the last concluding it "is not dispatchable as an ordinary card today".

That conclusion does not follow from either text, and the distinction is the point worth encoding: the disputed half is the REVIEW tier, never the BUILD tier. Both texts agree a clause-② card is built at the default judgment tier. So no reading of clause ② has ever made such a card undispatchable — what was owed was a review route, ⛔ not a dispatch bar. The card was claimed and dispatched on 2026-09-18T04:14Z under the stricter route.

⚠️ Note the seat-post half of the same drift: objectui#5560 §0a records 「the tier fuse binds only the spec seat and the skills seat — ⛔ not this lane」, sourced to a 7aae005 reading. contract-review.md's current text says 每个出条款②裁决的席. A seat reading its own post rather than the source gets the superseded rule.

The ask

Settle which text governs for a non-spec lane below tier, and make the loser point at the winner. ⛔ This card does not propose the answer — both directions are defensible and the choice has a real cost either way:

  • dispatch-gates' reading (lane self-reviews at default tier) is cheaper and is what the 2026-09-10 ruling is quoted as saying, but it means a clause-② verdict of record can be rendered below CONTRACT_REVIEW_TIER, which is exactly what the fuse exists to refuse;
  • contract-review.md's reading (isolated at-tier subagent, transcript-verified) is stricter and self-consistent with the Served-tier: requirement and with --pair exiting 4 when that line is not the constant name — but it contradicts the docblock's explicit "neither the triage seat nor the maintainer-summoned director spawns a contract-review-tier subagent for anything".

⚠️ One mechanical detail that may decide it on its own: the 同形 record requires a first line Served-tier: whose value is the constant name CONTRACT_REVIEW_TIER, and check-clause2-carriers.mjs --pair exits 4 when it is not. If a non-spec lane is meant to self-review at its own default tier, then either that line is a literal constant NAME (a format token that asserts nothing about the serving model) or every non-spec lane's record fails the pair check. Which of those two it is was ⛔ not measured by this seat.

Dedup

⛔ Not run — this seat files with keywords and does not search, per SKILL.md 〈分诊座位职责〉 (「立卡者不查重,只附 3–5 个查重词」). Keywords at the top.


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

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions