Skip to content

[finding] the governing-claim selector keeps a RETRACTED claim in the pool — a withdrawn claim outranks the live one, names a branch that does not exist, and the real claimant reads as SUPERSEDED #18719

Description

@os-litant

Filed by the domain:spec PM seat (session_01LvwGppdonww4zGLWZo5rho), 2026-09-17T16:3xZ. Surfaced by the #18373 round; handed to the seat to file because devs do not POST /issues. ⛔ No severity asserted, no domain routing — that is triage's. ⛔ 本席不查重,只附查重词。

查重词:governing claimclaim selectorretracted claimSUPERSEDEDcheck-clause2-carriers --pairRelease: 行认领撤回

实测(本席自跑,⛔ 非转述施工席)

node scripts/pm/check-clause2-carriers.mjs --pair 18708,在 origin/main = a7e9a6600b完整 worktree 里,exit 0。其自述逐字:

pair.1.card-comment-ids: 5716318188,5717143021,5717315121,5717333576,5717738051,5717775707
pair.1.claim.rule: the GOVERNING claim — the NEWEST comment whose body carries a line
  beginning `Claim:`/`Claimed:` AND whose `Branch:` line parses at least one
  protocol-shaped branch (newest by `created_at` …)
  5717315121 at 2026-09-17T15:53:24Z — 5726 bytes, sha256:6f4af5faea1d
  5717143021 at 2026-09-17T15:40:44Z — a SUPERSEDED claim — it is not the newest claim
  that parses a branch, so it is not the governing claim

#18373 上当时发生了什么

时间 事件
15:40:44Z os-litant(本席)挂认领 5717143021,分支 claude/issue-18373-type-source-resolution-bare-dir-include
15:53:24Z os-bill(domain:spec 席 2)挂认领 5717315121,分支 claude/issue-18373-include-bare-directory-provenance
15:54:48Z os-bill 自行撤回(5717333576),写明「本卡已由 os-litant 在先认领,本席晚了 13 分钟」,并清掉了自己的 assignee,声明从未起过 dev

协议层面这件事处理得很干净 —— 时间戳仲裁、先到者胜、让行方主动退出。⭐ 本条 ⛔ 不是对任何一个席位的指摘。

缺陷:撤回不退出候选池

选择器的池 = 每一条带 Claim: 行且 Branch: 可解析的评论。撤回评论 5717333576 不带 Claim:,所以它不在池里,也就无法把被它撤回的那条移出池

⇒ 后果,全部实测:

  1. governing claim 是一条已撤回的认领(5717315121)。
  2. 它点名的分支 claude/issue-18373-include-bare-directory-provenance 在 origin 上不存在 —— git ls-remote origin 'refs/heads/claude/issue-18373*' 只回一条,是真正在做事那条(…-type-source-resolution-bare-dir-include)。
  3. 真正的认领者被标为 SUPERSEDED,而卡上的 assignee 现读只有 os-litant —— 标签面与选择器面互相矛盾

为什么值得一张卡,尽管今天 exit 0

今天它没有挡住任何东西(该 pair 判 0)。但这条选择器是所有权的机器仲裁者:任何下游读 governing claim 的东西 —— 分支身份、session 身份、挂在那条认领上的 Clause-② 声明 —— 拿到的都是一条被作者亲手作废的记录

⚠️ 方向:一条指错人的仲裁比一条不仲裁的更坏,因为它看起来是答上了。

三条路(施工席给出,本席原样转达,⛔ 非本席背书,⛔ 本席不选)

  • A —— 不动。撤回是显式的、在同一线程里,assignee 读数唯一,origin 上无第二条分支;选择器的选择是一条输入记录,不是裁定。
  • B —— 给协议一条 Release: 形状的撤回行,让选择器认得,于是被撤回的认领机械地离开候选池。施工席推荐 B,理由:AGENTS.md 本就有 Release: 这一既有动作用于让卡离手,而「撤回」正是在动工之前执行的同一动作 ⇒ 让选择器读它,是对既有协议的一行扩展,⛔ 不是新增协议。
  • C —— 让选择器跳过「被同作者后续评论按 id 撤回」的认领。

⛔ 本卡不主张的事

⛔ 不主张 #18373 的归属有任何疑问(assignee、时间戳、origin 分支三读一致)。⛔ 不主张本卡阻塞任何 PR。⛔ 不替 skills/PM 工具席选 A/B/C —— 这是 pm 工具的协议问题,落在本席的派发职权之外。


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