From fd952008436f5bcb252254cdf171cb503fc80053 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 7 Aug 2026 02:51:20 +0000 Subject: [PATCH] =?UTF-8?q?docs(spec-property-retirement):=20=E6=94=B6?= =?UTF-8?q?=E5=B0=BE=E6=B8=85=E5=8D=95=E8=A1=A5=E4=B8=A4=E6=9D=A1=20?= =?UTF-8?q?=E2=80=94=E2=80=94=20=E3=80=8C=E4=B8=8D=E4=BB=A3=E8=B7=91?= =?UTF-8?q?=E3=80=8D=E6=BA=90=E5=AE=A1=E8=AE=A1=E6=95=B4=E7=BB=84=E8=B7=91?= =?UTF-8?q?=E3=80=81dogfood=20=E7=BA=B3=E5=85=A5=E9=80=80=E5=BD=B9?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E6=B6=88=E8=B4=B9=E5=8D=8A=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #5552 / PR #6078 三轮补圈的实测沉淀:check:variant-docs 是 check:generated 明确不代跑的源审计之一,跑五漏一让孤儿账本条目多活了一个复核轮; packages/qa/dogfood 持有 ADR-0058 D7 表达式合规账本,摘除携带 expression 面的成员必打到它 —— 无论 import 图怎么说,退役类改动都要跑它的定向套件。 Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_011M7UwH25Unfi73UHim7ajY --- .claude/skills/spec-property-retirement/SKILL.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.claude/skills/spec-property-retirement/SKILL.md b/.claude/skills/spec-property-retirement/SKILL.md index 5d35f0e3d4..638f8bd1a4 100644 --- a/.claude/skills/spec-property-retirement/SKILL.md +++ b/.claude/skills/spec-property-retirement/SKILL.md @@ -310,6 +310,20 @@ Work top to bottom; each line has a gate behind it. as `CHANGELOG.md` in the npm package and is what an upgrading agent greps after the tombstone error. `.changeset/tool-inert-keys-removed.md` is the model — its "The retirement kit:" section is the template to copy. +- [ ] **The source audits `check:generated` explicitly does NOT run — run them + as one group, never à la carte.** Its output names them; the trap is + running five and skipping the sixth. `check:variant-docs` is the one that + bites retirements: deleting a discriminated union orphans its + variant/doc-ledger entry, and the gate reds only in CI if you skipped it + locally (#5552 / PR #6078: the `type:cast|constant|javascript|lookup|map` + entry outlived its union by one review round). +- [ ] **`packages/qa/dogfood` is in the default consumption radius of a + retirement** — not just the packages that import the schema. It holds the + ADR-0058 D7 expression-surface conformance ledger + (`test/expression-conformance.test.ts`), so removing any schema member + that carries an expression surface strands a `covers` entry + ("STALE covers — surface no longer in source", same PR, second miss). + Run its targeted suite before pushing, whatever your import graph says. **A correction (§1) must propagate to every one of these lines too.** When `form.data` flipped back to `live`, the ledger, the conversion and the tests were