Skip to content

pm-dispatch: lanes/ui.md 指向条款②的适用面却不陈述它 —— 维护者据此读成「本车道无需契约复核」 #17933

Description

@os-tesla

出处 / provenance: 由 objectui 的 domain:ui 执行 PM 席(os-tesla)在 R33 提出。⛔ 不认领、不写代码、不定级 —— domain:*、type 与定级归中央分诊(lanes/ui.md 〈形态〉)。

现场

维护者在一轮派发中直接问:

不是说你的 ui 车道不需要契约复审了吗?为什么还有 needs:contract-review

⇒ 这不是假设的歧义,是已经发生的误读,而且发生在规则的使用者身上。

规则现状

references/lanes/ui.md:38,逐字:

- 档位与复核豁免边界读源码与 `references/contract-review.md`,⛔ 不凭记忆或继承的注记。

它指向边界,不陈述边界。而被指向的 references/contract-review.md 里,答案分散在三段、需要读者自行合成:

段 相关句
复核归属与资格 spec 席审低档实现者的契约增量,非自身产物;余席条款②复核 = 默认判断档自审加门禁。
独立性件 独立性件,spec 席:契约判断真分叉或 dev 挂旗 ⇒ 起上下文隔离的达档复核子代理。
降档保险丝 保险丝只管 spec 席条款②复核与 skills 席 / 余席条款②复核与总监席裁决非达档裁决,⛔ 不受本丝

合成后的正确答案是:余席(含 domain:ui)要做条款②复核,形态是默认判断档自审加门禁;被豁免的只有独立性件与降档保险丝。

⛔ 但没有任何一处把这句话写出来。三段各自正确,合成的负担全在读者身上 —— 而 lanes/ui.md:38 那条「⛔ 不凭记忆或继承的注记」还额外禁止读者用记忆补足,于是每次都要重新合成一遍。

⚠️ 这个问题不是纯粹的措辞 —— 源码里有一句让它成为真问题

references/contract-review.md 降档保险丝段末:

- 契约复核 ⛔ 不适用额度耗尽豁免降档:豁免对象是派发,复核正为补偿低档派发而存在。

「复核正为补偿低档派发而存在」 —— 这句话给出了复核的目的。若某条车道的派发本身不低档,该目的的前提就不成立,「所以这条车道不需要复核」是一个从源码本身推得出来的读法,不是凭空的。

⇒ 所以这不是「读者没读仔细」,是文档留下了一个可推导但未裁定的结论。维护者的提问正是沿着这条推导走的。

一行可执行判据

references/lanes/ui.md 或 references/contract-review.md 其一,出现一句直接陈述本车道答案的话,使得「本车道挂不挂 needs:contract-review」⛔ 不需要跨三段合成即可读出;并就上面那条「补偿低档派发」的推导给出裁定(适用 / 不适用),⛔ 不留作可推导项。

建议的形状(⛔ 非裁定)

  • 在 contract-review.md 增一段〈适用面〉,逐车道一行,给出该车道是否挂标、由谁复核、被豁免哪几件。
  • lanes/ui.md:38 由指针改为该表的引用加本车道那一行的复述。

⇒ 判据是读者读一处即得答案,而不是「文档某处含有答案」。

血缘

同一场里本席另有两处协议缺口,各自立卡而非并入本卡:落地前检③对 base 继承红无处置;在飞 PR 重叠只查文件面、查不到点名证人。三者在不同文件、不同修法。

Activity

  1. added theissue type on Sep 13, 2026
  2. claude commented on Sep 13, 2026

    @claude
    Contributor

    Routed into domain:skills and graded — pm:queue · priority:p2 · Task (skills seat, session session_01DAcomhvR9kKizeYgg89Vo8, GitHub os-project-manager, 2026-09-13T07:19Z).

    Authority for the routing — maintainer direct routing, verbatim, untranslated (this seat's chat, 2026-09-13T07:0xZ, in the same exchange that produced #17942):

    包括:objectstack#17933 lanes/ui.md 指向条款②的适用面却不陈述它
    objectstack#17934 落地前检③ 对 base 继承的红没有处置
    objectstack#17935 在飞 PR 重叠只查文件面,查不到点名证人

    Landing: references/lanes/ui.md :38 and references/contract-review.md (60 lines, ceiling 60) ⇒ .claude/** governed ⇒ domain:skills. Grade: Task (a rule gains a stated applicability table; no declared contract is violated), p2 — the misreading has already happened on the rule's own user (the maintainer's question quoted on the card), and the same applicability question is live twice more: #17915 (the review tier) and the maintainer's 2026-09-13 word on #17178 (5651809638) 「如果需要契约复审你可以派 fable」, which today has no carrier in the tree.

    Direction (seat reading, veto window in the round report): one per-lane applicability table in contract-review.md — hang the label or not / who reviews / which parts are exempt — with the 「复核正为补偿低档派发而存在」 derivation ruled applicable-or-not in the same edit, and lanes/ui.md :38 restated as the table pointer plus its own row; paid by density at 60/60 (⛔ no raise; ⛔ re-wrap is not currency). If #17942 rules A, its 「借复核」 clause is the same table's row for every lane and lands in the same PR. Serial: contract-review.md is free at 07:1xZ (no open PR touches it); this card runs before #17934 on the same file. ⛔ Not folded with #17934 / #17935 — three files, three mechanisms; the filer's split stands.


    Generated by Claude Code

  3. claude commented on Sep 13, 2026

    @claude
    Contributor

    Held on substance behind #17942 — stays pm:queue (skills seat, session session_01DAcomhvR9kKizeYgg89Vo8, GitHub os-project-manager, 2026-09-13T07:43Z). If #17942 rules A, its 「借复核」 clause is a row of the same per-lane applicability table this card asks for in references/contract-review.md (60/60); one PR carries both, and the maintainer's 2026-09-13 word 「如果需要契约复审你可以派 fable」 (#17178, 5651809638) is written into that table at the same time. Dispatched with the #17942 charter PR; #17934 follows on the same file once its shape is ruled.


    Generated by Claude Code

  4. claude commented on Sep 13, 2026

    @claude
    Contributor

    Claim: PM loop round 1 — member of the charter-revision family, chain head #17942 (fold gates and the two-layer split are on the chain-head claim)
    Session: session_01DAcomhvR9kKizeYgg89Vo8 (GitHub os-project-manager, skills seat), claimed at 2026-09-13T11:26Z
    Branch: claude/issue-17942-charter-revision (shared family branch, named after the chain head)
    Worktree: objectstack-issue-17942
    Domain: domain:skills
    This card's part: lanes/ui.md :38 states clause ② applicability instead of pointing at it — in THIS PR (Part of); the contract-review.md half rides the follow-up references PR (⛔ not folded with #17934 / #17935 as its filer ruled: three files, three mechanisms — this family is a region fold, each member keeps its own commit and grep).
    Clause-②: no
    Thread-read: 5652021129 (held behind #17942 — the newest comment at this claim)


    Generated by Claude Code

  5. claude commented on Sep 13, 2026

    @claude
    Contributor

    Charter-revision dev (session session_01DAcomhvR9kKizeYgg89Vo8, branch claude/issue-17942-charter-revision, 2026-09-13T12:1xZ): the lanes/ui.md half landed in #18018 (draft), commit 1ecc96e — line 38 now states the applicability (条款②复核本席适用:默认判断档自审加门禁,标照挂;豁免只有独立性件与降档保险丝), 38/38. Deferred: the per-lane table and the 「复核正为补偿低档派发而存在」 ruling in contract-review.md (references PR) — the PR body carries Part of for this card. The os-dev-report for the whole family is on the chain head (issue 17942); the draft PR is governed (.claude/** + AGENTS.md) — four-piece, no ready / enqueue / auto-merge by the dev.


    Generated by Claude Code

  6. claude commented on Sep 13, 2026

    @claude
    Contributor

    ACCEPT (family member) — skills seat, 2026-09-13T12:15Z. PR #18018 head 269933d9, this card's part landed as Part of — rules-layer half here, references-layer half rides the follow-up references PR. Record of the whole family on the chain head #17942: contract review 5653195700 (PASS), 速读 5653195856, ACCEPT 5653199243. Four-piece applied on the PR; lands under ruling C after an authorized approval. Card stays pm:dispatched + assignee until the landing record.


    Generated by Claude Code

  7. claude commented on Sep 13, 2026

    @claude
    Contributor

    Rules-layer half LANDED; card back in the queue for the references PR — skills seat (session session_01DAcomhvR9kKizeYgg89Vo8), 2026-09-13T13:41Z. PR #18018 merged at 2026-09-13T13:39Z as 9489e2c0 (two readings at 2026-09-13T13:40Z: queue ref gone; origin/main has (#18018) 1, control (#18015) 1). This card was Part of that PR; what remains is the contract-review.md per-lane applicability half — the charter chain's ONE references PR, dispatched from this seat now that PR #17990 has landed (contract-review.md free). pm:dispatched → pm:queue and the assignee stripped in this pass and read back; the next claim names the references branch. Family record on the chain head #17942 — contract review 5653195700, 速读 5653195856, ACCEPT 5653199243.


    Generated by Claude Code

  8. claude commented on Sep 13, 2026

    @claude
    Contributor

    Claim: PM loop round 1 — member of the charter chain's references PR, chain head #17942 (fold gates, file surface and serial readings on the chain-head claim)
    Session: session_01DAcomhvR9kKizeYgg89Vo8 (GitHub os-project-manager, skills seat), claimed at 2026-09-13T13:42Z
    Branch: claude/issue-17942-charter-references (shared family branch, named after the chain head)
    Worktree: objectstack-issue-17942-refs
    Domain: domain:skills
    This card's part: the contract-review.md per-lane applicability half (lanes/ui.md :38 landed in PR #18018) — completes the card ⇒ Fixes on the references PR.
    Clause-②: no
    Thread-read: the rules-layer landing note this seat posted at 13:41Z — the newest comment at this claim


    Generated by Claude Code

  9. claude commented on Sep 13, 2026

    @claude
    Contributor

    This card's part is delivered in the charter references PR #18038 (draft, governed 事实层), commit a390e114: contract-review.md now states the per-lane clause-② applicability once (逐车道:spec 席达档审契约增量;余席默认档自审加门禁、挂标;豁免仅独立性件与保险丝) and closes the 「复核正为补偿低档派发而存在」 derivation (复核 ⛔ 不随派发档位免除); lanes/ui.md :38 landed earlier in PR #18018. File 60 → 60. The os-dev-report for the whole chain is on the chain head #17942.


    Generated by Claude Code

  10. claude commented on Sep 13, 2026

    @claude
    Contributor

    ACCEPT (references PR, member) — skills seat, 2026-09-13T14:18Z. PR #18038 head f0e533fc carries this card's remaining half as Fixes — closes on landing. Record of the whole PR on the chain head #17942: contract review 5653826097 (PASS), 速读 5653826263, ACCEPT 5653826642. Four-piece applied on the PR; lands under ruling C after an authorized approval or once #18020's guard tier lands. Card stays pm:dispatched + assignee until the landing record.


    Generated by Claude Code

  11. claude commented on Sep 13, 2026

    @claude
    Contributor

    Landed — skills seat (session session_01DAcomhvR9kKizeYgg89Vo8), 2026-09-13T15:02Z. PR #18038 → c185d087 on origin/main; the two readings and the ruling-C trail are on the chain head #17942. This card's Fixes closed it; pm:dispatched and the assignee stripped in this pass and read back.


    Generated by Claude Code

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