Skip to content

[finding] spec-property-retirement skill predates the live-elsewhere verdict — its ledger-verdict discipline never names the never-remove cross-repo case #14058

Closed

Description

@claude

Recorded from the #13483 delivery (PR #14056). Unassigned — recording only, for triage.

What

.claude/skills/spec-property-retirement/SKILL.md is the internal playbook for ADR-0049 enforce-or-remove and consumes liveness-ledger verdicts ("the ledger says dead", tombstone rows with status: "dead"). #13483 added a fifth verdict, live-elsewhere — dead here by measurement, genuinely enforced in a sibling repo — precisely so that a dead-here-enforced-elsewhere key can never again be read as a removal input (the manifest.runtime near-miss: the cloud marketplace publish gate consumes it, and the maintainer ruling of 2026-08-30 on the #11330 thread ruled retirement out).

The drift

The skill's discipline ("a dead verdict is input, not proof — build your own evidence before deleting") still holds and nothing in it breaks mechanically. What is missing is the vocabulary: a reader following the skill has no line telling them that the cross-repo-consumer case now has its own status, that such a row is NEVER a removal candidate, and that its attestation discipline (foreign pointer + cross-repo scope + dated verifiedAt + 180d expiry, scripts/liveness/elsewhere.mts) is what to check instead. The ledger README (packages/spec/liveness/README.md, "live-elsewhere" section) is the source to cite.

One or two sentences in the skill's verification-side section suffice. Out of scope for #13483 (the card's surface is the ledger + gate tooling; the skill is a downstream consumer), filed instead per the dispatch order.

Generated by Claude Code


Generated by Claude Code

Activity

  1. added
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    on Sep 1, 2026
  2. huangyiirene commented on Sep 1, 2026

    @huangyiirene
    Collaborator

    裁决:A —— 授权天花板 337 → 340,落卡面忠实版两句(维护者 2026-09-01,总监批 #26)

    项目总监席 · session session_01KGtaLpkW1mycWgkbSb3H6t · 维护者对本批逐字:「同意」。

    1. A 获批:.claude/skills/spec-property-retirement/SKILL.md 天花板 337 → 340,落 dev 报告中已起草的忠实版文本(+3 行,361 字节,含「本仓实测无消费者、姊妹仓真在强制执行」的可识别性定义 —— B 省的正是这半句,不采);提额 PR 引用本裁决评论(棘轮自己的合法出口;本文件有 2026-08-22 的提额先例);
    2. C(删内容付账)不采 —— 与卡面「nothing else in the skill moves」围栏冲突;D/E 维持排除;
    3. ⚠️ 落地时顺手核对 skill 是否覆盖全部五种 verdict(inconclusive 亦 0 命中)—— 分诊已点名,⛔ 不扩范围,同一句话里核一遍;
    4. 孪生卡 lint-liveness-properties.ts describe() has not been taught the live-elsewhere verdict — throws by design the day such a row opts into authorWarn #14057 同一实施者顺手(同因同判据);
    5. 受治面照旧:draft + 人工合并。

    状态转移(同笔)

    needs-user-decision → pm:queue;priority:p3 domain:skills 不动。分支 claude/issue-14058-live-elsewhere-vocabulary 已在,裁后派发机械化。


    Generated by Claude Code

  3. added
    pm:queueReady for the PM dispatch loop
    and removed
    needs-user-decisionBlocked on a maintainer decision — do not dispatch; decision cards only, never on a PR
    on Sep 1, 2026
  4. removed
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    on Sep 1, 2026
  5. os-litant commented on Sep 2, 2026

    @os-litant
    Contributor

    CLAIM (dev seat) — folded into the family flight #14317; session session_01LraLgQVGq8egUwfYZpbYt1, branch claude/issue-14317-skills-internal-small (objectstack, base aaa4e657).

    This card is finding SPR-C-05 of that flight: the fifth §0 checkbox in .claude/skills/spec-property-retirement/SKILL.md naming the live-elsewhere never-remove cross-repo verdict. It lands in the same file and the same PR as the rest of the SPR cluster, so the earlier branch claude/issue-14058-live-elsewhere-vocabulary (zero commits) is superseded — not re-used.

    Note on funding, relative to the 2026-09-01 ruling on this card (A: ceiling 337 → 340): the flight's constraint is stricter and pays instead of raising — the checkbox is funded by the SPR-C-01 and SPR-C-04 deletions in the same file, so the ceiling is not raised. The ruled TEXT (the recognizability half — dead here by measurement, genuinely enforced in a sibling repo — plus the never-remove rule and the four attestation criteria) is what lands; only its funding route changes. The 2026-09-01 side-note to check all five verdicts in the same stroke is carried out in the same sentence.

    The objectstack PR opens Fixes #14317 on the first line and Fixes #14058 on the second.


    Generated by Claude Code

  6. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Sep 2, 2026
  7. self-assigned this
    on Sep 2, 2026
  8. os-litant commented on Sep 2, 2026

    @os-litant
    Contributor

    Claim: PM loop round 4 — folded into the family flight #14317 (state pm:queue → pm:dispatched, assignee set in the same stroke; the dev's claim above named the branch first, this comment completes the seat's half)
    Session: session_01LraLgQVGq8egUwfYZpbYt1
    Branch: claude/issue-14317-skills-internal-small (supersedes the zero-commit claude/issue-14058-live-elsewhere-vocabulary)
    Landing: PR #14598 @ 7df16bc7, Fixes #14317 line 1 / Fixes #14058 line 2 — this card closes on that merge.

    Funding relative to the 2026-09-01 ruling (A: ceiling 337 → 340): the ruled TEXT lands in full — the recognizability half ("dead here by measurement, genuinely enforced in a sibling repo"), the never-remove rule, the four attestation criteria, the script and the README citation — as the fifth §0 checkbox. The raise is not taken: the same PR's SPR-C-01 and SPR-C-04 deletions in the same file pay for it (337 → 333 lines, ceiling untouched). Option C was rejected on 2026-09-01 only because it conflicted with this card's "nothing else in the skill moves" fence; the family flight's scope (maintainer mandate 2026-09-02) moves the rest of the file by design, so the fence no longer applies and the sanctioned pay-by-deletion route is the stricter outcome. The all-five-verdicts side-check ordered in that ruling was carried out: inconclusive is not a ledger status (zero hits in the vocabulary table and the liveness scripts). Recorded here for the reviewers; nothing in the ruling's substance is re-litigated.


    Generated by Claude Code

  9. os-litant commented on Sep 2, 2026

    @os-litant
    Contributor

    ACCEPT recorded on #14317 — PR #14598 @ 7df16bc7 is CI-green (34/34), draft, review requested from os-zhuang and hotlong. This card closes on that merge (Fixes #14058, line 2 of the PR body); the seat strips pm:dispatched then.


    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

Labels

domain:skillsDomain lane — seat card indexed by label:pm:seatpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions