You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Observation from executing #14788 (PR #15386): the two instructions disagree, and a retirement authored from the playbook reds the gate on its first run.
The contradiction
.claude/skills/spec-property-retirement/SKILL.md → "guidance 字符串怎么写", convention 2: the prescription reads was removed in @objectstack/spec <version> (#issue[, ADR-XXXX Dn]) — the issue id is part of the prescribed shape, and the tombstone note template a few lines up also carries (#<issue>).
pnpm check:doc-authoring (scripts/check-doc-authoring.mjs) refuses an internal issue id in customer-facing spec text, retiredKey() tombstone prescriptions included, citing the maintainer ruling 2026-08-12 verbatim: 「处理 issue 时犯的错应该总结成经验,保留 issue id没有意义」. Measured on PR feat(spec,hono-server): retire SessionUser.language — /auth/me/localization is the one read face for the user's language (#14788) #15386: the tombstone '... was removed in @objectstack/spec 17.4.0 (#14788, ADR-0049) — ...' was flagged (packages/spec/src/api/auth.zod.ts:57 #14788 [retiredKey()]) and passed once the id was dropped in favour of the ADR alone.
The gate is the newer instrument and carries the ruling; the playbook is the stale one. The existing tombstones in the tree already follow the gate (EnhancedApiError.fieldErrors cites ADR-0114 D4 only; stack.zod.tsthemes cites ADR-0049 only).
Suggested repair
Rewrite convention 2 in the playbook to was removed in @objectstack/spec <version> (ADR-XXXX[ Dn]) and say in one line why the issue id is not there (the gate + the ruling), and drop (#<issue>) from the tombstone-note template — or move it into the schema COMMENT, where the id is welcome and the gate does not read. The playbook is a governed file (check:doc-authoring scans .claude/), so the edit is checked by the same gate.
Observation from executing #14788 (PR #15386): the two instructions disagree, and a retirement authored from the playbook reds the gate on its first run.
The contradiction
.claude/skills/spec-property-retirement/SKILL.md→ "guidance 字符串怎么写", convention 2: the prescription readswas removed in @objectstack/spec <version> (#issue[, ADR-XXXX Dn])— the issue id is part of the prescribed shape, and the tombstone note template a few lines up also carries(#<issue>).pnpm check:doc-authoring(scripts/check-doc-authoring.mjs) refuses an internal issue id in customer-facing spec text,retiredKey()tombstone prescriptions included, citing the maintainer ruling 2026-08-12 verbatim: 「处理 issue 时犯的错应该总结成经验,保留 issue id没有意义」. Measured on PR feat(spec,hono-server): retire SessionUser.language — /auth/me/localization is the one read face for the user's language (#14788) #15386: the tombstone'... was removed in @objectstack/spec 17.4.0 (#14788, ADR-0049) — ...'was flagged (packages/spec/src/api/auth.zod.ts:57 #14788 [retiredKey()]) and passed once the id was dropped in favour of the ADR alone.The gate is the newer instrument and carries the ruling; the playbook is the stale one. The existing tombstones in the tree already follow the gate (
EnhancedApiError.fieldErrorscites ADR-0114 D4 only;stack.zod.tsthemescites ADR-0049 only).Suggested repair
Rewrite convention 2 in the playbook to
was removed in @objectstack/spec <version> (ADR-XXXX[ Dn])and say in one line why the issue id is not there (the gate + the ruling), and drop(#<issue>)from the tombstone-note template — or move it into the schema COMMENT, where the id is welcome and the gate does not read. The playbook is a governed file (check:doc-authoringscans.claude/), so the edit is checked by the same gate.Related: #14788, PR #15386.