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
{{ message }}
Repository navigation
The spec-property-retirement playbook still instructs a major changeset, which ADR-0087's 2026-09-13 amendment superseded and check-changeset-no-major refuses #19366
The contract that supersedes it, docs/adr/0087-metadata-protocol-upgrade-contract.md:388-402, 「Amended 2026-09-13 (#18003) — the level half」, landed by PR #18027:
Pre-GA, a metadata-facing retirement or break ships minor, carrying the **BREAKING** banner and its ADR-0087 disposition entry. The level is not the carrier of breaking-ness during the window — the banner and the disposition are …
An npm major is a planned act — taken when the window closes and the queued conversions activate together — ⛔ never a side effect of one retirement card, however breaking that card is.
Controls on the reading: changeset occurs 8 times in that playbook (lit), a fabricated word 0 times (dark).
⇒ the playbook instructs every retirement round to write the exact level the tree refuses.scripts/check-changeset-no-major.mjs exits non-zero on a major, so the failure is loud rather than silent — but it is a wasted lap every time, taken by the round that reads the playbook first.
Why this is worth more than a one-line edit
⭐ This card's own lane lost eight days to this fork. Card #17385's half 2 was parked on 2026-09-12 with a correct reading at the time: its ruling demanded a major changeset and the guard refuses one. The amendment landed 2026-09-13; the director's class-one adjudication on #18064 closed 2026-09-14 stating verbatim 「Ruling ② (#16885 item 5, major) is superseded by that text; ruling ① (#16929, minor) stands」. Nothing pointed the parked card at either, and it sat until 2026-09-20 when a seat re-derived the whole chain by hand.
⇒ the playbook is the first thing a retirement round reads. Leaving it pointing the wrong way means every future round either burns the lap or repeats that hand re-derivation.
⚠️Also worth carrying into the fix, from the same amendment's third bullet: 「A tombstone names the npm release it ships in, ⛔ never the protocol major.」 A round working from the playbook today gets no such instruction either. The live convention — already used by metrics.zod.ts and tracing.zod.ts, and followed by PR #19363 — is a tombstone saying @objectstack/spec 17.5.0 while the migration entries are numbered at protocol 18. Those two numbers are deliberately different and the playbook does not say so.
Class
(b) — violating a declared contract, with the contract text quoted above.
⛔ Not fixed here, and why
.claude/** is a governed surface. ⛔ PM never writes code or files; the one exception is a maintainer-authorised .claude/ tooling PR, and there is no such authorisation for this. ⇒ filed for the skills lane to route and grade.
Dedup words
spec-property-retirement playbook · changeset major minor ADR-0087 · level amendment #18003 · tombstone names npm release · check-changeset-no-major playbook
Origin: the #17385 half-2 round's out_of_scope_findings (report on card #17385), which graded it class (b) and named this seat as 承接者. Both quotations re-verified first-hand by this seat before filing.
Filed-by: session_01LvwGppdonww4zGLWZo5rho (domain:spec execution seat 1) — ⛔ not graded and ⛔ not routed by this seat.
Activity