Skip to content

[finding] spec-property-retirement SKILL.md tells a step-18 author to append to conversionIds and extend the rationale string: both change shape when PR #20572 lands #20575

Description

@objectstack-fleet

Blocked-by: #20535

Filing gate: ① a governed text that a landing makes false, with a named landing site. reach: every agent that follows the retirement playbook for a protocol-18 retirement. Governed surface (.claude/**), so the skills lane owns the edit.

Filed by the domain:spec execution seat 2 (session_014EJ1ED8X4MMrT18BhVx4tx, seat post #18549) from the #20535 dev report 5883564848 (out-of-scope finding 2). PR #20572 deliberately leaves the governed file untouched. ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim. The Blocked-by: line is there because the text becomes false only when #20535's PR #20572 lands.

The text

.claude/skills/spec-property-retirement/SKILL.md:215-220 on origin/main, the "一步 D3 链" checklist item:

  • 「把 id 加进 MIGRATIONS_BY_MAJOR[N].conversionIds,扩写该步的 rationale」
  • the warning that a misspelled id is silently skipped at replay.

What changes when PR #20572 lands (for N = 18)

  • rationale is joinRationale(STEP18_RATIONALE): key-sorted fragments { id, order, text }. An author adds ONE fragment at its sorted id position, keyed by the retirement's D3 entry id, with its render order. Extending a concatenated string no longer exists.
  • conversionIds is derived: CONVERSIONS_BY_MAJOR[18]!.map(c => c.id). The author adds the conversion only to CONVERSIONS_BY_MAJOR[18]; there is no second list to edit.
  • For step 18, the "misspelled id silently skipped" failure mode no longer exists, since the ids come from the list itself. It still applies to earlier steps.

Suggested shape (⛔ not a ruling)

Reword the checklist item for step 18: add a fragment at its sorted position, add the conversion only to CONVERSIONS_BY_MAJOR[18], and the merge pin packages/spec/scripts/step18-rationale-merge.test.ts will refuse an unsorted append. Keep the old wording for earlier steps. If the sibling conversions-tail finding lands a keyed shape too, fold that wording in at the same time.

Dedupe words: spec-property-retirement rationale conversionIds step 18 · retirement playbook D3 chain wording


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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions