Repository navigation
Description
Parent #7589 decides that pstack's principles are placed in the phase skills that apply them (D58). Decision 58, approved by the owner (poteto-review decision row 58), resolves the one part with no home: part 24j, "apply the same type rules while writing code". It reads: "Type rules move to a docs/conventions type-rules convention synced into plugins." The reason: the rules live in plugins/planning/skills/design/reference/type-discipline.md, which only /planning:design may read. The skill-encapsulation rule bars /implementation:implement and review:code-reviewer from citing it, and the reviewer restates part of it instead. The precedent named in the decision is the enforcement ladder, which now lives at docs/contracts/enforcement-ladder/README.md (docs/conventions holds plugin settings files per ADR 0064), as a contract plus byte-identical plugin copies registered in scripts/shared-copies.txt and generated by scripts/sync-shared-copies.sh. On main, plugins/planning/skills/design/reference/type-discipline.md is read by design's SKILL.md Phase 3, links to type-discipline/typescript.md (which links back to ../type-discipline.md), and is asserted by two cases in plugins/planning/skills/design/evals/evals.json.
Done when
-
docs/contracts/type-discipline/README.mdholds the canonical rules table moved fromplugins/planning/skills/design/reference/type-discipline.md, with every rule, its decision, its reason and their order unchanged. It carries no wording specific to/planning:design(Phase 3,type-inventory.md) and no relative link that would not resolve from every copy's location. -
scripts/shared-copies.txtlists a copy for each ofplugins/planning,plugins/implementationandplugins/review. The planning copy is generated at the existing pathplugins/planning/skills/design/reference/type-discipline.md, so design'sSKILL.mdlink,type-discipline/typescript.md's link back, and the twoevals.jsoncases that name that path keep resolving.scripts/sync-shared-copies.shgenerates the copies, and CI's copy check passes. -
/planning:design'sSKILL.mdkeeps the Phase 3 framing and the language-file pointer (TypeScript:type-discipline/typescript.md, loaded when atsconfig.jsonor TypeScript files are present) that leave the shared text. -
/implementation:implementreads its copy at the step where it writes types, with one reasoned sentence on when it applies. -
review:code-reviewerreads its copy for type questions. Its existing items, the cast item included, are unchanged. -
.changes/planning/*.md,.changes/implementation/*.mdand.changes/review/*.mdfragments describe the change (bump: patch). - The PR's CI is green.
Out of scope
- Adding new type rules or changing existing ones.
- Removing the reviewer's own type-rule restatements in favor of the copy: cutting existing agent text needs eval evidence of no loss first (skill criteria).
- Gated part 24i (optional-field bags in review).
Parent: #7589
Activity
github-actions commentedon Nov 1, 2026