intent-planner 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/LICENSE +21 -0
  2. package/README.en.md +225 -0
  3. package/README.md +225 -0
  4. package/bin/cli.mjs +289 -0
  5. package/package.json +46 -0
  6. package/src/install.mjs +527 -0
  7. package/templates/en/agents/claude/CLAUDE.md +62 -0
  8. package/templates/en/agents/codex/AGENTS.md +62 -0
  9. package/templates/en/agents/gemini/GEMINI.md +62 -0
  10. package/templates/en/claude/skills/CONTRACT.md +86 -0
  11. package/templates/en/claude/skills/intent-compass/SKILL.md +55 -0
  12. package/templates/en/claude/skills/intent-compass/rules/algo-qoc.md +62 -0
  13. package/templates/en/claude/skills/intent-compass/rules/constraint-surfacing.md +41 -0
  14. package/templates/en/claude/skills/intent-discover/SKILL.md +63 -0
  15. package/templates/en/claude/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
  16. package/templates/en/claude/skills/intent-discover/rules/algo-gore-lite.md +35 -0
  17. package/templates/en/claude/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
  18. package/templates/en/claude/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
  19. package/templates/en/claude/skills/intent-discover/rules/designer-questions.md +78 -0
  20. package/templates/en/claude/skills/intent-discover/rules/drift-terrain.md +105 -0
  21. package/templates/en/claude/skills/intent-discover/rules/mode-selection.md +31 -0
  22. package/templates/en/claude/skills/intent-export-cc-sdd/SKILL.md +88 -0
  23. package/templates/en/claude/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
  24. package/templates/en/claude/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
  25. package/templates/en/claude/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
  26. package/templates/en/claude/skills/intent-export-openspec/SKILL.md +90 -0
  27. package/templates/en/claude/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
  28. package/templates/en/claude/skills/intent-export-openspec/rules/export-questions.md +23 -0
  29. package/templates/en/claude/skills/intent-export-openspec/rules/map-openspec.md +75 -0
  30. package/templates/en/claude/skills/intent-from-spec/SKILL.md +60 -0
  31. package/templates/en/claude/skills/intent-from-spec/rules/extract-intent.md +56 -0
  32. package/templates/en/claude/skills/intent-from-spec/rules/gap-readout.md +54 -0
  33. package/templates/en/claude/skills/intent-from-spec/rules/load-bearing.md +48 -0
  34. package/templates/en/claude/skills/intent-from-spec/rules/omission-recap.md +42 -0
  35. package/templates/en/claude/skills/intent-improve/SKILL.md +70 -0
  36. package/templates/en/claude/skills/intent-improve/rules/improve-axes.md +121 -0
  37. package/templates/en/claude/skills/intent-overview/SKILL.md +63 -0
  38. package/templates/en/claude/skills/intent-overview/rules/aggregate-sources.md +61 -0
  39. package/templates/en/claude/skills/intent-overview/rules/gap-readout.md +54 -0
  40. package/templates/en/claude/skills/intent-overview/rules/mermaid-tree.md +78 -0
  41. package/templates/en/claude/skills/intent-overview/rules/progress-readout.md +119 -0
  42. package/templates/en/claude/skills/intent-packets/SKILL.md +97 -0
  43. package/templates/en/claude/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
  44. package/templates/en/claude/skills/intent-packets/rules/algo-characterization-test.md +40 -0
  45. package/templates/en/claude/skills/intent-packets/rules/algo-example-mapping.md +47 -0
  46. package/templates/en/claude/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
  47. package/templates/en/claude/skills/intent-packets/rules/decision-slots.md +88 -0
  48. package/templates/en/claude/skills/intent-packets/rules/export-route.md +54 -0
  49. package/templates/en/claude/skills/intent-packets/rules/first-packet.md +35 -0
  50. package/templates/en/claude/skills/intent-packets/rules/packet-format.md +207 -0
  51. package/templates/en/claude/skills/intent-packets/rules/walking-skeleton.md +35 -0
  52. package/templates/en/claude/skills/intent-release-note/SKILL.md +58 -0
  53. package/templates/en/claude/skills/intent-release-note/rules/format-changelog.md +40 -0
  54. package/templates/en/claude/skills/intent-release-note/rules/format-github-releases.md +41 -0
  55. package/templates/en/claude/skills/intent-release-note/rules/format-select.md +32 -0
  56. package/templates/en/claude/skills/intent-release-note/rules/source-scope.md +42 -0
  57. package/templates/en/claude/skills/intent-status/SKILL.md +171 -0
  58. package/templates/en/claude/skills/intent-status/rules/decision-table.md +47 -0
  59. package/templates/en/claude/skills/intent-to-spec/SKILL.md +68 -0
  60. package/templates/en/claude/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
  61. package/templates/en/claude/skills/intent-to-spec/rules/format-integrated.md +42 -0
  62. package/templates/en/claude/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
  63. package/templates/en/claude/skills/intent-to-spec/rules/format-upstream.md +41 -0
  64. package/templates/en/claude/skills/intent-to-spec/rules/source-scope.md +50 -0
  65. package/templates/en/claude/skills/intent-validate/SKILL.md +80 -0
  66. package/templates/en/claude/skills/intent-validate/rules/validate-checks.md +121 -0
  67. package/templates/en/claude/skills/intent-writeback/SKILL.md +71 -0
  68. package/templates/en/claude/skills/intent-writeback/rules/writeback-protocol.md +139 -0
  69. package/templates/en/codex/skills/CONTRACT.md +77 -0
  70. package/templates/en/codex/skills/intent-compass/SKILL.md +52 -0
  71. package/templates/en/codex/skills/intent-compass/rules/algo-qoc.md +62 -0
  72. package/templates/en/codex/skills/intent-compass/rules/constraint-surfacing.md +41 -0
  73. package/templates/en/codex/skills/intent-discover/SKILL.md +60 -0
  74. package/templates/en/codex/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
  75. package/templates/en/codex/skills/intent-discover/rules/algo-gore-lite.md +35 -0
  76. package/templates/en/codex/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
  77. package/templates/en/codex/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
  78. package/templates/en/codex/skills/intent-discover/rules/designer-questions.md +78 -0
  79. package/templates/en/codex/skills/intent-discover/rules/drift-terrain.md +105 -0
  80. package/templates/en/codex/skills/intent-discover/rules/mode-selection.md +31 -0
  81. package/templates/en/codex/skills/intent-export-cc-sdd/SKILL.md +85 -0
  82. package/templates/en/codex/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
  83. package/templates/en/codex/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
  84. package/templates/en/codex/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
  85. package/templates/en/codex/skills/intent-export-openspec/SKILL.md +87 -0
  86. package/templates/en/codex/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
  87. package/templates/en/codex/skills/intent-export-openspec/rules/export-questions.md +23 -0
  88. package/templates/en/codex/skills/intent-export-openspec/rules/map-openspec.md +75 -0
  89. package/templates/en/codex/skills/intent-from-spec/SKILL.md +58 -0
  90. package/templates/en/codex/skills/intent-from-spec/rules/extract-intent.md +56 -0
  91. package/templates/en/codex/skills/intent-from-spec/rules/gap-readout.md +54 -0
  92. package/templates/en/codex/skills/intent-from-spec/rules/load-bearing.md +48 -0
  93. package/templates/en/codex/skills/intent-from-spec/rules/omission-recap.md +42 -0
  94. package/templates/en/codex/skills/intent-improve/SKILL.md +67 -0
  95. package/templates/en/codex/skills/intent-improve/rules/improve-axes.md +121 -0
  96. package/templates/en/codex/skills/intent-overview/SKILL.md +61 -0
  97. package/templates/en/codex/skills/intent-overview/rules/aggregate-sources.md +61 -0
  98. package/templates/en/codex/skills/intent-overview/rules/gap-readout.md +54 -0
  99. package/templates/en/codex/skills/intent-overview/rules/mermaid-tree.md +78 -0
  100. package/templates/en/codex/skills/intent-overview/rules/progress-readout.md +119 -0
  101. package/templates/en/codex/skills/intent-packets/SKILL.md +94 -0
  102. package/templates/en/codex/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
  103. package/templates/en/codex/skills/intent-packets/rules/algo-characterization-test.md +40 -0
  104. package/templates/en/codex/skills/intent-packets/rules/algo-example-mapping.md +47 -0
  105. package/templates/en/codex/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
  106. package/templates/en/codex/skills/intent-packets/rules/decision-slots.md +88 -0
  107. package/templates/en/codex/skills/intent-packets/rules/export-route.md +54 -0
  108. package/templates/en/codex/skills/intent-packets/rules/first-packet.md +35 -0
  109. package/templates/en/codex/skills/intent-packets/rules/packet-format.md +207 -0
  110. package/templates/en/codex/skills/intent-packets/rules/walking-skeleton.md +35 -0
  111. package/templates/en/codex/skills/intent-release-note/SKILL.md +56 -0
  112. package/templates/en/codex/skills/intent-release-note/rules/format-changelog.md +40 -0
  113. package/templates/en/codex/skills/intent-release-note/rules/format-github-releases.md +41 -0
  114. package/templates/en/codex/skills/intent-release-note/rules/format-select.md +32 -0
  115. package/templates/en/codex/skills/intent-release-note/rules/source-scope.md +42 -0
  116. package/templates/en/codex/skills/intent-status/SKILL.md +169 -0
  117. package/templates/en/codex/skills/intent-status/rules/decision-table.md +47 -0
  118. package/templates/en/codex/skills/intent-to-spec/SKILL.md +66 -0
  119. package/templates/en/codex/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
  120. package/templates/en/codex/skills/intent-to-spec/rules/format-integrated.md +42 -0
  121. package/templates/en/codex/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
  122. package/templates/en/codex/skills/intent-to-spec/rules/format-upstream.md +41 -0
  123. package/templates/en/codex/skills/intent-to-spec/rules/source-scope.md +50 -0
  124. package/templates/en/codex/skills/intent-validate/SKILL.md +78 -0
  125. package/templates/en/codex/skills/intent-validate/rules/validate-checks.md +121 -0
  126. package/templates/en/codex/skills/intent-writeback/SKILL.md +68 -0
  127. package/templates/en/codex/skills/intent-writeback/rules/writeback-protocol.md +139 -0
  128. package/templates/en/intent/README.md +118 -0
  129. package/templates/en/intent/cc-sdd/README.md +28 -0
  130. package/templates/en/intent/compass-archive/README.md +9 -0
  131. package/templates/en/intent/compass-archive/archive/.gitkeep +0 -0
  132. package/templates/en/intent/compass-archive.md +7 -0
  133. package/templates/en/intent/constraint-library.md +32 -0
  134. package/templates/en/intent/constraint-starters.md +58 -0
  135. package/templates/en/intent/context-cost-cues.md +55 -0
  136. package/templates/en/intent/deltas/README.md +11 -0
  137. package/templates/en/intent/deltas/archive/.gitkeep +0 -0
  138. package/templates/en/intent/deltas.md +34 -0
  139. package/templates/en/intent/drift-log/README.md +11 -0
  140. package/templates/en/intent/drift-log/archive/.gitkeep +0 -0
  141. package/templates/en/intent/drift-log.md +41 -0
  142. package/templates/en/intent/drift-patterns.md +68 -0
  143. package/templates/en/intent/export-log/README.md +12 -0
  144. package/templates/en/intent/export-log/archive/.gitkeep +0 -0
  145. package/templates/en/intent/export-log.md +6 -0
  146. package/templates/en/intent/glossary.md +23 -0
  147. package/templates/en/intent/intent-compass.md +55 -0
  148. package/templates/en/intent/intent-tree.md +59 -0
  149. package/templates/en/intent/milestones/README.md +10 -0
  150. package/templates/en/intent/milestones/archive/.gitkeep +0 -0
  151. package/templates/en/intent/milestones.md +22 -0
  152. package/templates/en/intent/mode.local.md +23 -0
  153. package/templates/en/intent/mode.md +32 -0
  154. package/templates/en/intent/modes/README.md +28 -0
  155. package/templates/en/intent/modes/behavior-unknown.md +57 -0
  156. package/templates/en/intent/modes/feature-growth.md +57 -0
  157. package/templates/en/intent/modes/non-code.md +46 -0
  158. package/templates/en/intent/modes/refactor.md +56 -0
  159. package/templates/en/intent/modes/standard.md +50 -0
  160. package/templates/en/intent/nl-spec/README.md +18 -0
  161. package/templates/en/intent/openspec/proposal.md +15 -0
  162. package/templates/en/intent/openspec/spec-delta.md +25 -0
  163. package/templates/en/intent/overview/README.md +18 -0
  164. package/templates/en/intent/packets/README.md +29 -0
  165. package/templates/en/intent/packets/index.md +6 -0
  166. package/templates/en/intent/packets/plan.md +23 -0
  167. package/templates/en/intent/release-note/README.md +18 -0
  168. package/templates/en/intent/scripts/intent-check.mjs +786 -0
  169. package/templates/en/intent/scripts/pre-push +27 -0
  170. package/templates/en/intent/spec-ingest/README.md +18 -0
  171. package/templates/ja/agents/claude/CLAUDE.md +62 -0
  172. package/templates/ja/agents/codex/AGENTS.md +62 -0
  173. package/templates/ja/agents/gemini/GEMINI.md +62 -0
  174. package/templates/ja/claude/skills/CONTRACT.md +90 -0
  175. package/templates/ja/claude/skills/intent-compass/SKILL.md +55 -0
  176. package/templates/ja/claude/skills/intent-compass/rules/algo-qoc.md +62 -0
  177. package/templates/ja/claude/skills/intent-compass/rules/constraint-surfacing.md +41 -0
  178. package/templates/ja/claude/skills/intent-discover/SKILL.md +63 -0
  179. package/templates/ja/claude/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
  180. package/templates/ja/claude/skills/intent-discover/rules/algo-gore-lite.md +35 -0
  181. package/templates/ja/claude/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
  182. package/templates/ja/claude/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
  183. package/templates/ja/claude/skills/intent-discover/rules/designer-questions.md +78 -0
  184. package/templates/ja/claude/skills/intent-discover/rules/drift-terrain.md +105 -0
  185. package/templates/ja/claude/skills/intent-discover/rules/mode-selection.md +31 -0
  186. package/templates/ja/claude/skills/intent-export-cc-sdd/SKILL.md +88 -0
  187. package/templates/ja/claude/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
  188. package/templates/ja/claude/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
  189. package/templates/ja/claude/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
  190. package/templates/ja/claude/skills/intent-export-openspec/SKILL.md +90 -0
  191. package/templates/ja/claude/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
  192. package/templates/ja/claude/skills/intent-export-openspec/rules/export-questions.md +23 -0
  193. package/templates/ja/claude/skills/intent-export-openspec/rules/map-openspec.md +75 -0
  194. package/templates/ja/claude/skills/intent-from-spec/SKILL.md +60 -0
  195. package/templates/ja/claude/skills/intent-from-spec/rules/extract-intent.md +56 -0
  196. package/templates/ja/claude/skills/intent-from-spec/rules/gap-readout.md +54 -0
  197. package/templates/ja/claude/skills/intent-from-spec/rules/load-bearing.md +48 -0
  198. package/templates/ja/claude/skills/intent-from-spec/rules/omission-recap.md +42 -0
  199. package/templates/ja/claude/skills/intent-improve/SKILL.md +70 -0
  200. package/templates/ja/claude/skills/intent-improve/rules/improve-axes.md +121 -0
  201. package/templates/ja/claude/skills/intent-overview/SKILL.md +63 -0
  202. package/templates/ja/claude/skills/intent-overview/rules/aggregate-sources.md +61 -0
  203. package/templates/ja/claude/skills/intent-overview/rules/gap-readout.md +54 -0
  204. package/templates/ja/claude/skills/intent-overview/rules/mermaid-tree.md +78 -0
  205. package/templates/ja/claude/skills/intent-overview/rules/progress-readout.md +119 -0
  206. package/templates/ja/claude/skills/intent-packets/SKILL.md +97 -0
  207. package/templates/ja/claude/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
  208. package/templates/ja/claude/skills/intent-packets/rules/algo-characterization-test.md +40 -0
  209. package/templates/ja/claude/skills/intent-packets/rules/algo-example-mapping.md +47 -0
  210. package/templates/ja/claude/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
  211. package/templates/ja/claude/skills/intent-packets/rules/decision-slots.md +88 -0
  212. package/templates/ja/claude/skills/intent-packets/rules/export-route.md +54 -0
  213. package/templates/ja/claude/skills/intent-packets/rules/first-packet.md +35 -0
  214. package/templates/ja/claude/skills/intent-packets/rules/packet-format.md +207 -0
  215. package/templates/ja/claude/skills/intent-packets/rules/walking-skeleton.md +35 -0
  216. package/templates/ja/claude/skills/intent-release-note/SKILL.md +58 -0
  217. package/templates/ja/claude/skills/intent-release-note/rules/format-changelog.md +40 -0
  218. package/templates/ja/claude/skills/intent-release-note/rules/format-github-releases.md +41 -0
  219. package/templates/ja/claude/skills/intent-release-note/rules/format-select.md +32 -0
  220. package/templates/ja/claude/skills/intent-release-note/rules/source-scope.md +42 -0
  221. package/templates/ja/claude/skills/intent-status/SKILL.md +171 -0
  222. package/templates/ja/claude/skills/intent-status/rules/decision-table.md +47 -0
  223. package/templates/ja/claude/skills/intent-to-spec/SKILL.md +68 -0
  224. package/templates/ja/claude/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
  225. package/templates/ja/claude/skills/intent-to-spec/rules/format-integrated.md +42 -0
  226. package/templates/ja/claude/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
  227. package/templates/ja/claude/skills/intent-to-spec/rules/format-upstream.md +41 -0
  228. package/templates/ja/claude/skills/intent-to-spec/rules/source-scope.md +50 -0
  229. package/templates/ja/claude/skills/intent-validate/SKILL.md +80 -0
  230. package/templates/ja/claude/skills/intent-validate/rules/validate-checks.md +121 -0
  231. package/templates/ja/claude/skills/intent-writeback/SKILL.md +71 -0
  232. package/templates/ja/claude/skills/intent-writeback/rules/writeback-protocol.md +139 -0
  233. package/templates/ja/codex/skills/CONTRACT.md +81 -0
  234. package/templates/ja/codex/skills/intent-compass/SKILL.md +52 -0
  235. package/templates/ja/codex/skills/intent-compass/rules/algo-qoc.md +62 -0
  236. package/templates/ja/codex/skills/intent-compass/rules/constraint-surfacing.md +41 -0
  237. package/templates/ja/codex/skills/intent-discover/SKILL.md +60 -0
  238. package/templates/ja/codex/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
  239. package/templates/ja/codex/skills/intent-discover/rules/algo-gore-lite.md +35 -0
  240. package/templates/ja/codex/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
  241. package/templates/ja/codex/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
  242. package/templates/ja/codex/skills/intent-discover/rules/designer-questions.md +78 -0
  243. package/templates/ja/codex/skills/intent-discover/rules/drift-terrain.md +105 -0
  244. package/templates/ja/codex/skills/intent-discover/rules/mode-selection.md +31 -0
  245. package/templates/ja/codex/skills/intent-export-cc-sdd/SKILL.md +85 -0
  246. package/templates/ja/codex/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
  247. package/templates/ja/codex/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
  248. package/templates/ja/codex/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
  249. package/templates/ja/codex/skills/intent-export-openspec/SKILL.md +87 -0
  250. package/templates/ja/codex/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
  251. package/templates/ja/codex/skills/intent-export-openspec/rules/export-questions.md +23 -0
  252. package/templates/ja/codex/skills/intent-export-openspec/rules/map-openspec.md +75 -0
  253. package/templates/ja/codex/skills/intent-from-spec/SKILL.md +58 -0
  254. package/templates/ja/codex/skills/intent-from-spec/rules/extract-intent.md +56 -0
  255. package/templates/ja/codex/skills/intent-from-spec/rules/gap-readout.md +54 -0
  256. package/templates/ja/codex/skills/intent-from-spec/rules/load-bearing.md +48 -0
  257. package/templates/ja/codex/skills/intent-from-spec/rules/omission-recap.md +42 -0
  258. package/templates/ja/codex/skills/intent-improve/SKILL.md +67 -0
  259. package/templates/ja/codex/skills/intent-improve/rules/improve-axes.md +121 -0
  260. package/templates/ja/codex/skills/intent-overview/SKILL.md +61 -0
  261. package/templates/ja/codex/skills/intent-overview/rules/aggregate-sources.md +61 -0
  262. package/templates/ja/codex/skills/intent-overview/rules/gap-readout.md +54 -0
  263. package/templates/ja/codex/skills/intent-overview/rules/mermaid-tree.md +78 -0
  264. package/templates/ja/codex/skills/intent-overview/rules/progress-readout.md +119 -0
  265. package/templates/ja/codex/skills/intent-packets/SKILL.md +94 -0
  266. package/templates/ja/codex/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
  267. package/templates/ja/codex/skills/intent-packets/rules/algo-characterization-test.md +40 -0
  268. package/templates/ja/codex/skills/intent-packets/rules/algo-example-mapping.md +47 -0
  269. package/templates/ja/codex/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
  270. package/templates/ja/codex/skills/intent-packets/rules/decision-slots.md +88 -0
  271. package/templates/ja/codex/skills/intent-packets/rules/export-route.md +54 -0
  272. package/templates/ja/codex/skills/intent-packets/rules/first-packet.md +35 -0
  273. package/templates/ja/codex/skills/intent-packets/rules/packet-format.md +207 -0
  274. package/templates/ja/codex/skills/intent-packets/rules/walking-skeleton.md +35 -0
  275. package/templates/ja/codex/skills/intent-release-note/SKILL.md +56 -0
  276. package/templates/ja/codex/skills/intent-release-note/rules/format-changelog.md +40 -0
  277. package/templates/ja/codex/skills/intent-release-note/rules/format-github-releases.md +41 -0
  278. package/templates/ja/codex/skills/intent-release-note/rules/format-select.md +32 -0
  279. package/templates/ja/codex/skills/intent-release-note/rules/source-scope.md +42 -0
  280. package/templates/ja/codex/skills/intent-status/SKILL.md +169 -0
  281. package/templates/ja/codex/skills/intent-status/rules/decision-table.md +47 -0
  282. package/templates/ja/codex/skills/intent-to-spec/SKILL.md +66 -0
  283. package/templates/ja/codex/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
  284. package/templates/ja/codex/skills/intent-to-spec/rules/format-integrated.md +42 -0
  285. package/templates/ja/codex/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
  286. package/templates/ja/codex/skills/intent-to-spec/rules/format-upstream.md +41 -0
  287. package/templates/ja/codex/skills/intent-to-spec/rules/source-scope.md +50 -0
  288. package/templates/ja/codex/skills/intent-validate/SKILL.md +78 -0
  289. package/templates/ja/codex/skills/intent-validate/rules/validate-checks.md +121 -0
  290. package/templates/ja/codex/skills/intent-writeback/SKILL.md +68 -0
  291. package/templates/ja/codex/skills/intent-writeback/rules/writeback-protocol.md +139 -0
  292. package/templates/ja/intent/README.md +118 -0
  293. package/templates/ja/intent/cc-sdd/README.md +28 -0
  294. package/templates/ja/intent/compass-archive/README.md +9 -0
  295. package/templates/ja/intent/compass-archive/archive/.gitkeep +0 -0
  296. package/templates/ja/intent/compass-archive.md +7 -0
  297. package/templates/ja/intent/constraint-library.md +32 -0
  298. package/templates/ja/intent/constraint-starters.md +58 -0
  299. package/templates/ja/intent/context-cost-cues.md +55 -0
  300. package/templates/ja/intent/deltas/README.md +11 -0
  301. package/templates/ja/intent/deltas/archive/.gitkeep +0 -0
  302. package/templates/ja/intent/deltas.md +34 -0
  303. package/templates/ja/intent/drift-log/README.md +11 -0
  304. package/templates/ja/intent/drift-log/archive/.gitkeep +0 -0
  305. package/templates/ja/intent/drift-log.md +41 -0
  306. package/templates/ja/intent/drift-patterns.md +68 -0
  307. package/templates/ja/intent/export-log/README.md +12 -0
  308. package/templates/ja/intent/export-log/archive/.gitkeep +0 -0
  309. package/templates/ja/intent/export-log.md +6 -0
  310. package/templates/ja/intent/glossary.md +23 -0
  311. package/templates/ja/intent/intent-compass.md +55 -0
  312. package/templates/ja/intent/intent-tree.md +59 -0
  313. package/templates/ja/intent/milestones/README.md +10 -0
  314. package/templates/ja/intent/milestones/archive/.gitkeep +0 -0
  315. package/templates/ja/intent/milestones.md +22 -0
  316. package/templates/ja/intent/mode.local.md +23 -0
  317. package/templates/ja/intent/mode.md +32 -0
  318. package/templates/ja/intent/modes/README.md +28 -0
  319. package/templates/ja/intent/modes/behavior-unknown.md +57 -0
  320. package/templates/ja/intent/modes/feature-growth.md +57 -0
  321. package/templates/ja/intent/modes/non-code.md +46 -0
  322. package/templates/ja/intent/modes/refactor.md +56 -0
  323. package/templates/ja/intent/modes/standard.md +50 -0
  324. package/templates/ja/intent/nl-spec/README.md +18 -0
  325. package/templates/ja/intent/openspec/proposal.md +15 -0
  326. package/templates/ja/intent/openspec/spec-delta.md +25 -0
  327. package/templates/ja/intent/overview/README.md +18 -0
  328. package/templates/ja/intent/packets/README.md +29 -0
  329. package/templates/ja/intent/packets/index.md +6 -0
  330. package/templates/ja/intent/packets/plan.md +23 -0
  331. package/templates/ja/intent/release-note/README.md +18 -0
  332. package/templates/ja/intent/scripts/intent-check.mjs +786 -0
  333. package/templates/ja/intent/scripts/pre-push +27 -0
  334. package/templates/ja/intent/spec-ingest/README.md +18 -0
@@ -0,0 +1,119 @@
1
+ # 進捗の多軸読み取りと関心別ビューの構成
2
+
3
+ `intent-overview` skill が、packet の進捗を単一%にせず3軸で映し、`depends_on` からブロック状態を read-only 導出し、関心ごとの派生ビューを構成するための正本。本ルールは**読み取り専用**であり、進捗軸も依存関係も**算出・採点・推論しない**。進捗・依存・証拠の正本は `intent-planner-packet-progress` が整えた packet(frontmatter + `## Evidence` 節)であり、overview はそれを**映すだけ**である。算出が必要な検査(依存健全性・validate 軸)は intent-validate / drift-watch / algo-intent-recovery の責務で、本ルールはその**結果を読みに行く**のみ。
4
+
5
+ ## 大原則(read-only mirror)
6
+
7
+ - packet 正本(`active/*.md` の frontmatter 10 キー + 本文 `## Evidence` 節)が進捗・依存・証拠の**唯一の正本**。overview はそこから派生ビューを再生成するだけで、正本を変更せず・二重化しない。
8
+ - 進捗を**単一の総合%に圧縮しない**。性質の異なる3軸に分けて提示する。
9
+ - 各軸・各ビューは「既存成果物のどこを読んだか」を出所として明示する。AI の自己申告ではなく、ファイルの読み取りに基づくことを示す。
10
+ - 対応する成果物が無い軸・ビューは「未観測 / 未記入 / 依存なし」と明示し、**推測で埋めない**。
11
+
12
+ ## 工程レール(read-only mirror)
13
+
14
+ 進捗の3軸(質的分解)の**前**に、全 packet を1本の縦レールとして並べ、各 packet が「いまどの段に居るか」を一望させる。レールは3軸を圧縮した総合指標ではなく、3軸の**手前にある俯瞰**である(レールで全体の現在地を掴み、各 packet の内訳は3軸で読む、という補完関係)。レールも read-only mirror であり、状態を**算出・推論・採点しない**。既存成果物(packet frontmatter `state` / `superseded_by`・`export-log.md`・`deltas.md`)を読み、下表の5信号のどれに当たるかを**機械的に判定して映すだけ**である。
15
+
16
+ ### 5信号と判定(すべて `.intent/` から機械観測可能)
17
+
18
+ 各 packet を `state` × export-log の行有無 × deltas の対応エントリ有無で突合し、**上から評価して最初に当たった信号**を1つだけ付ける(first-match)。
19
+
20
+ | 信号 | 意味 | 判定条件 | 出所 |
21
+ |------|------|----------|------|
22
+ | ◻ 統合済 | 後継 packet に統合され役目を終えた | `superseded_by` が非空 | packet frontmatter |
23
+ | ✅ 反映済 | 実装が完了し intent へ書き戻し済み | `state: done` **かつ** deltas にこの packet の promoted/closed エントリあり | packet + deltas.md |
24
+ | 🔵 今ここ | いま手をつけている1工程(export 済み・未反映) | export-log に行あり・deltas に対応エントリ無し のうち、**現行 Source Packet(export-log 最新行)に一致**するもの | export-log 最新行 + deltas.md |
25
+ | 🔴 反映漏れ | 実装の証跡があるのに intent へ未反映(取り残し) | export-log に行あり・deltas に対応エントリ無し のうち、現行 Source Packet 以外 | export-log + deltas.md |
26
+ | ⚪ 未着手 | まだ cc-sdd へ export していない | export-log にこの packet の行が無い(active だが未 export) | export-log + packets/active |
27
+
28
+ - **🔵 と 🔴 はどちらも「export 済み・未反映」**。違いは「いま手をつけている1つ(最新行=🔵)」か「過去の取り残し(それ以外=🔴)」かだけである。これにより、進行中の1工程と、書き戻し漏れで埋もれた N 個を視覚的に分離する。🔴 は別の警告ブロックを新設せず、**レール上のズレ(実装は進んだのに反映が遅れている)として浮かせる**。これは下記「軸間のズレを潰さずそのまま提示する」の具体化であり、新しい検査の追加ではない。
29
+
30
+ ### 各行に `[現在の工程 → 次に通る工程]` を併記する(パイプライン射影)
31
+
32
+ 5信号は「**反映の進捗**(export 済みか・書き戻し済みか)」を映すが、それだけでは「**この packet がいま意図づくり〜実装〜書き戻しのどの工程に居て、この後どの工程が残っているか**」が読めない。そこで各 packet 行に、信号に続けて `[現在の工程 → 次に通る工程]` を**併記する**。これは新しい観測・算出ではなく、既に「進捗の3軸」軸2で読み取る packet frontmatter の `state`(宣言値)を、下記の**固定パイプライン上の位置として読み替えて映すだけ**である(推論・採点をしない read-only mirror の規律を保つ)。
33
+
34
+ - **固定パイプライン(工程の正順)**: `discover → compass → packets → export → 実装(cc-sdd) → verify → writeback`。これは intent-planner の標準フロー(status の決定表 `decision-table.md` 脚注5 のコマンド順)と同じ並びであり、ここを工程順序の参照とする。各コマンド工程と packet `state` の対応は次のとおり読む。
35
+ - `state: draft` = 起案中 → **次に通る工程: compass → packets**(意図と判断基準を詰める段)
36
+ - `state: ready` = 着手可(依存解決済み・実装待ち) → **次に通る工程: export → 実装**
37
+ - `state: implementing` = 実装中 → **次に通る工程: verify → writeback**
38
+ - `state: verifying` = 実装済み・検証待ち(Evidence 未確定) → **次に通る工程: writeback**(Evidence 確定後)
39
+ - `state: done` = 完了 → **次に通る工程: なし(このレーン完了)**
40
+ - **「現在の工程」は5信号と `state` の合成で書く**。例: 信号が 🔵 今ここ で `state: implementing` なら `🔵 今ここ [implementing → 次: verify→writeback]`、⚪ 未着手で `state: ready` なら `⚪ 未着手 [ready → 次: export→実装]`、⚪ 未着手で `state: draft` なら `⚪ 未着手 [draft → 次: compass→packets]`。これにより「P いくつをやっていて、この先どの工程が残るか」が1行で読める。
41
+ - **次工程はパイプライン定義からの射影であり推論しない**。`state` を**次に来る固定工程に対応づけて映すだけ**で、所要時間・難易度・成否を予測しない。`depends_on` に未 `done` の依存があってブロック中の packet は、次工程の前に `(依存 <packet_id> 待ちでブロック中)` と併記する(ブロック判定は「依存・ブロックビュー」の read-only 導出に従い、推論・算出しない)。
42
+ - **後方互換**: 旧3値 `state: active` は `implementing` 相当として `[active(=実装中) → 次: verify→writeback]` と読む。`state` 自体を観測できない packet は工程併記を断定せず `[工程: 未観測]` と明示する(推測で埋めない)。
43
+ - **deltas の対応付けは新しい突合規則を作らない**。「現行 Source Packet=export-log 最新行」「packet 名のテキスト照合」「対応 delta の有無の機械判定は初回サイクルのみ有効」という既存正本の規律(aggregate-sources / deltas.md 運用説明)をそのまま流用する。2巡目以降(再 export・再実装後)の反映要否は機械判定せず「ユーザー判断」と明示する。
44
+ - **残工程の一望**: ⚪ の行がそのまま「これから着手する残工程」を表し、各行の `[現在の工程 → 次に通る工程]` 併記によって「その packet がこの後どの工程を通るか」まで一望できる。レールは残工程と反映漏れを1枚で一望させることが目的であり、依存でブロック中の packet は下記「依存・ブロックビュー」の導出に従ってレール行に併記してよい(依存は推論・算出しない)。
45
+ - **後方互換**: 旧3値 `state: active` は「進行中」として扱い、export-log の行有無で 🔵/🔴/⚪ を判定する。`superseded_by` 不在は「統合なし」。deltas 不在は「未反映」。`state` 自体を観測できない packet は信号を断定せず「未観測」と明示する(推測で埋めない)。
46
+ - **derived の明示**: レールも派生(derived)・再生成可能であり正本ではない。正本は packet frontmatter・export-log・deltas であり、レールはその読み取り時点のスナップショットである。
47
+
48
+ ## 進捗の3軸(単一%にしない)
49
+
50
+ 進捗は次の3軸に分けて提示する。各軸は既存成果物の読み取りから**導く**(算出・採点はしない)。各軸には必ず出所(どの成果物のどこから導いたか)を併記する。
51
+
52
+ ### 軸1: 意図の安定度
53
+
54
+ 「上位の意図がどれだけ確定しているか」を定性的に映す軸。
55
+
56
+ - **出所**: `intent-tree.md`(L0–L4 の未記入箇所・`## Open Questions`・`## Assumptions`)、`intent-compass.md`(North Star / Anti-direction / Invariants / Decision Rules の未記入)。
57
+ - **読み方**: 未記入の L レベルや空の見出し、`## Open Questions` の残件数、`## Assumptions`(inferred=推測由来)が canonical な確定記述に占める比率を**定性的に**示す。比率を厳密な数値スコアにしない(read-only mirror の規律。定量採点は持たない)。
58
+ - inferred(`## Assumptions` / `## Open Questions` 由来)と canonical(L0–L4 の確定記述)を**混在させず**、安定度の評価でも区別を保つ。
59
+ - 素材(tree/compass)が無ければ「未観測」と明示する。
60
+
61
+ ### 軸2: 実現の完了度
62
+
63
+ 「どこまで作ったか(開発の現在地)」を映す軸。
64
+
65
+ - **出所**: packet frontmatter の `state`。
66
+ - **値域(5値)**: `draft | ready | implementing | verifying | done`。各値は相互排他で、packet はちょうど1つの段階を取る。
67
+ - `draft` = 起案中・未確定 / `ready` = 着手可(依存解決済み・実装待ち) / `implementing` = 実装中 / `verifying` = 実装済み・検証待ち(Evidence 未確定) / `done` = 証拠取得済み・完了。
68
+ - **後方互換**: 旧3値(`draft | active | done`)が残る packet は、`active` を「進行中(`implementing` 相当)」として読む。`state` キー自体を観測できない既存 packet は「実現の完了度: 未観測」とし、推測で埋めない。
69
+ - `state` は**宣言的記録**であり、overview は遷移を判定・進行させない(状態機械を持たない)。読み取った値をそのまま映す。
70
+
71
+ ### 軸3: 証拠の確定度
72
+
73
+ 「実装結果がどれだけ検証で裏づけられているか」を映す軸。
74
+
75
+ - **出所**: packet 本文 `## Evidence` 節の有無と確定度、`intent-validate` の検査軸(`validate-checks.md` の安定 kebab-case ID)、`drift-log.md`(drift-watch が `on` で存在する場合)との突き合わせ。
76
+ - **読み方**: `## Evidence` に確定した検証結果(実施日・対応する検査軸 ID・出所=intent-validate / drift-watch / 人確認)があるかを読む。Evidence の各エントリが参照する検査軸 ID を、`validate-checks.md` の ID 体系に紐づけて整理する。
77
+ - **検査軸の読み取り**: intent-validate は結果を永続ファイルに書かないため、`validate-checks.md` の**検査軸 ID カタログ**(安定 kebab-case ID と重要度分類)を読み、証拠の観点をその ID 体系で整理する。検査ロジックは**再実装しない**。
78
+ - **後方互換**: `## Evidence` 節が無い既存 packet は「証拠の確定度: 未記入」として描き、欠落を推測で補完しない。
79
+ - validate 未実行・Evidence 不在・drift-log 不在で証拠が読めない場合は「未観測」と明示する。
80
+
81
+ ## 軸間のズレを潰さずそのまま提示する
82
+
83
+ 3軸は性質が異なるため、軸ごとの値がズレることがある。**そのズレを単一指標に押し潰さず、ズレとして明示**する。出所を併記してどの成果物の差から生じたズレかを辿れるようにする。
84
+
85
+ - 例: 「`verifying` だが Evidence 未確定」— 実現の完了度(軸2)は進んでいるが証拠の確定度(軸3)が未確定。
86
+ - 例: 「`done` だが上位 invariant との trace に穴」— 証拠の確定度(軸3)は揃ったが意図の安定度(軸1)との間にギャップ。
87
+
88
+ `verifying` 段階は仕様上「実現は進んだが証拠は未確定」を表す状態である。したがって overview は `verifying` の packet について、実現の完了度(軸2)と証拠の確定度(軸3)の差を**そのまま映す**(一方を他方に合わせて丸めない)。
89
+
90
+ ## 依存・ブロックビュー(read-only 導出)
91
+
92
+ packet 間の依存とブロック状態を、宣言の**読み取りのみ**で提示する。
93
+
94
+ - **出所**: packet frontmatter の `depends_on`(依存先 packet の `packet_id` の集合。既定 `[]`)。
95
+ - **ブロックの導出(read-only)**: 「`depends_on` の中に `state` が `done` でない packet がある」= その packet は**ブロック中**として表示する。依存は**推論・算出しない**。宣言された `depends_on` を読むだけで導出し、packet に書き戻さない(packet-progress R3.3 / R3.5 と整合)。
96
+ - **循環・未解決依存の明示**: 循環(A→…→A)や、存在しない `packet_id` を参照する壊れた依存があれば明示する。
97
+ - intent-validate の `dependency-cycle` / `dependency-broken-ref` の検査結果が参照可能なら、それに紐づけて提示する(検査ロジックは再実装しない)。
98
+ - 検査結果が無い場合に限り、読み取り時点の素朴な検出(宣言された `depends_on` 集合の単純な追跡)を**注記レベル**で併記してよい。これは検査の代替ではなく読み取り時の補助である旨を明示する。
99
+ - **後方互換**: `depends_on` キーが無い既存 packet は「依存なし(空集合と等価)」として描き、依存を推測で補完しない。
100
+
101
+ ## 関心別の派生ビュー(view-based 提示)
102
+
103
+ 全体像を1枚の長文に混ぜず、関心ごとの派生ビューに整理する。最低限、次の3ビューを構成する。
104
+
105
+ - **意図ビュー**: aggregate-sources(tree / compass / packets / plan / export-log / deltas の集約)由来。canonical と inferred を区別したまま提示する。
106
+ - **依存・ブロックビュー**: 上記「依存・ブロックビュー」。`depends_on` とそれに基づくブロック状態、循環・未解決依存。
107
+ - **進捗ビュー**: 上記「進捗の3軸」。3軸と軸間のズレ。
108
+
109
+ 各ビューについて次を守る。
110
+
111
+ - **単一正本から再生成**: 各ビューは canonical な `.intent/*.md` から再生成し、ビュー間で正本を二重化しない。同じ情報を複数ビューに重複保持しない(各ビューは正本への射影)。
112
+ - **素材不在のビューは省略**: 派生の素材となる成果物が無ければ当該ビューを**省略し、その理由(未観測 / 未生成 / 依存なし)を明示**する。空のビューを推測で埋めない。
113
+ - **derived の明示**: 各ビューに「これは派生(derived)・再生成可能であり正本ではない」ことを明示する。正本は元の `.intent/*.md` であり、ビューは読み取り時点のスナップショットである。
114
+
115
+ ## 後方互換のまとめ
116
+
117
+ - `depends_on` 不在 → 依存・ブロックビューは「依存なし」として描く(欠落を推測で埋めない)。
118
+ - `## Evidence` 不在 → 証拠の確定度(軸3)は「未記入」として描く(欠落を推測で埋めない)。
119
+ - 旧3値 `state`(`active`)→ `implementing` 相当の「進行中」として読む。`state` 自体を観測できない packet は実現の完了度を「未観測」とする。
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: intent-packets
3
+ description: Intent Tree と Intent Compass から、cc-sdd に渡す前の Packet Plan を作る。各 packet は parent intent を持ち、behavior-preserving / testable / rollbackable。実装はしない。
4
+ disable-model-invocation: true
5
+ allowed-tools: Read, Write, Glob, Grep, AskUserQuestion, Bash
6
+ argument-hint: <分解の焦点(任意)>
7
+ ---
8
+
9
+ # intent-packets Skill
10
+
11
+ ## Core Mission
12
+ - **Success Criteria**:
13
+ - 改修見込みの規模に応じた数の packet 候補があり(数合わせをしない・小規模なら 1 個でよい・1〜7 を緩い目安とする)、各 packet が parent intent を参照している
14
+ - 各 packet が `.intent/packets/active/` 配下の個別ファイル(1 packet = 1 ファイル)として起案されている
15
+ - 各 packet が Scope / Non-scope / Expected Behavior / Decisions / Safety(Invariants) / Validation / Evidence / Rollback / cc-sdd Mapping を持つ(`Evidence` は結果が無ければ空節で保持)
16
+ - 各 packet の `## Decisions` 節で、`decision-slots.md` の共通コアスロット(+ mode 別差分)が4ステータス(回答済み / 未定 / 非該当 / ADR候補)のいずれかで閉じている(既定値を埋めない・黙って飛ばさない)
17
+ - 各 packet が behavior-preserving / testable / rollbackable な粒度である
18
+ - 既存の packet ファイルを破壊していない(差分更新案として提示している)
19
+ - アプリケーションコードを一切変更していない
20
+
21
+ ## Execution Steps
22
+
23
+ ### Step 1: 前提を読む
24
+ - `.intent/intent-tree.md` と `.intent/intent-compass.md` を読む。どちらか無ければ「先に該当コマンドを実行」を案内して停止する。
25
+ - 読み取り時、compass / intent-tree の確定文体に紛れた未確定動詞(想定 / 流用 / 予定 / TBD / 暫定 等)を見たら、推測で確定させず Open Questions または未定スロット(理由・再訪条件(Revisit when)併記)への変換案として提示する。確定値への昇格は利用者の確認に委ねる。既に Open Questions / Deferred / 未定スロットへ記録済みの箇所は重複変換しない。
26
+ - `.intent/mode.local.md`(無ければ旧 `.intent/mode.md`)の mode 状態を読む。無ければ standard を既定とし Open Questions に告知する(停止しない)。
27
+ - `.intent/packets/index.md` と、既存の `.intent/packets/active/` 配下の packet ファイルを読む(差分更新の基礎にする)。
28
+ - 旧 install 対応: `.intent/packets/`・`plan.md`・`index.md`・`README.md` が不在なら、skill が自ら作成してから処理を行う(scaffold の再インストールを待たない)。
29
+ - 事後起草の判別(実装が先行していた場合): 起動の文脈や利用者の申告から「**対応する Packet が無いまま実装が進んだ/完了した**」ことが分かる場合は、これを通常の起草と同じ手順で扱う(事後でも Packet を起こす。実装済みであることは起草を省く理由にしない)。このとき:
30
+ - 確定している事実(既に実装された結線・挙動)は `what + constraints + oracle` として packet ファイルに記録する。
31
+ - **まだ固定できない仕様**(起動契機・閾値・判定手段など、実装に踏み切れていない/暫定で置いている決定)は、推測で埋めず Open Questions と Deferred(`未定(遅延中・再訪条件付き)`、再訪条件を必ず併記)として**明示的に器に入れる**。「仕様が固定できないから Packet を作らない」は誤り — 未確定をそのまま保持できることが Packet の役割。
32
+ - 起草の順序を案内する: **まず本スキルで Packet を起こし(起草フェーズ)、そのあと `/intent-writeback` で実装の現実から得た学びを delta 経由で canonical へ戻す(実装後フェーズ)**。この2つは方向が逆であり、Packet 起草を飛ばして writeback だけを行わない(フェーズ境界は writeback-protocol.md §3 を正とする)。
33
+
34
+ ### Step 2: モード定義のアルゴリズムを適用する
35
+ - `.intent/mode.local.md`(無ければ `.intent/mode.md`)の `definition` が指すモード定義を開き、Packet 分解フェーズに割り当てられた algo rule(`rules/algo-*.md`)を読み、適用する(standard なら `rules/algo-example-mapping.md`、refactor なら `rules/algo-migration-slicing.md`、behavior-unknown なら `rules/algo-example-mapping.md` + `rules/algo-characterization-test.md`)。例は網羅ではない。常にモード定義の表を正とする。
36
+
37
+ ### Step 3: Packet を分解する
38
+ - Example Mapping に従い、各 L2/L3 能力を「ルール・例・疑問・切り出し」に展開する。
39
+ - 例から Expected Behavior、Validation、Rollback を導く。
40
+ - 改修見込みの大きさに応じた数の packet にまとめる(数を目標に数合わせをしない・小規模なら 1 個でよい・1〜7 を緩い目安とする)。大きさは「触れる concern の数 × 既存境界への波及の広さ」で質的に測り、工数見積もり等の数値は持ち込まない。各 packet に parent intent(L0/L1/L2/L3 への参照)を必ず持たせる。
41
+ - 各 packet を `.intent/packets/active/<packet_id>.md` の個別ファイルとして起案する。ID 付与・frontmatter キーの記入・本文セクション構成(`## Decisions` 節・`## Evidence` 節を含む)は `rules/packet-format.md` を読み、従う(キー一覧・値域は正本が単一の真実源)。
42
+ - `updated_at` の打刻(書き手の責務): packet ファイルを書き込んだら、その更新時点を frontmatter の `updated_at`(ISO 8601)に記録する。新規作成時は `created_at` と同一時点を `updated_at` に記入し、既存 packet の内容を変更したときはその時点を `updated_at` に更新する。内容変更を伴わない再実行では `updated_at` を変えない(冪等。無変更で打刻しない)。日時は `created_at` と同じく Bash の `date` で取得する。日時を取得できない場合は推測の日付を書かず、その旨を報告する。打刻は書き手(本スキル)の責務であり、read-only の検証層(intent-validate)には持たせない。
43
+ - `rules/decision-slots.md` を読み、completeness schema のスロットを各 packet の `## Decisions` 節へ播く(スロット定義・値域・ID の正本は decision-slots.md。本節はその投影)。
44
+ - 共通コアスロット(全モードで播く8 ID)を全 packet に播き、`.intent/mode.local.md`(無ければ `.intent/mode.md`)の mode に応じた差分スロットを加算する(standard / refactor / behavior-unknown / feature-growth)。スロット定義は decision-slots.md の表が正であり、SKILL 本体にハードコードしない。
45
+ - 各スロットを4ステータス(回答済み / 未定 / 非該当 / ADR候補へ送る)のいずれかで**必ず閉じる**(「黙って飛ばす」を構造的に防ぐ)。「妥当な既定値」「推奨値」を埋めない(anchoring 回避)。スロットの該当性・値を成果物から推論・自動充填しない(人が宣言する)。
46
+ - discover が tree L3 直下に「決定が要る点(④)」として記録した posture を反映する(具体値が無くても、当該スロットの存在は閉じ対象にする)。
47
+ - 既存成果物が既にカバーするスロットは作り直さず、その閉じ先を参照する(例: `decision-fit-criterion` は `## Validation`、`decision-exception-flow` は `## Expected Behavior`、`decision-characterization` は `algo-characterization-test.md`)。`## Decisions` には値を二重に書かず「既存節で閉じている」旨を宣言する(重複定義しない)。
48
+ - `未定` のスロットは理由・downstream への注意書き・再訪条件(Revisit when)を併記する。`非該当` のスロットは該当しない根拠を併記し、黙って落とさない。
49
+ - 投与量の仕分け(前倒し / 遅延): 各決定を「人間が前倒しで固定する(visible rule)」か「エージェントに委譲して遅延する(hidden / discretion)」かに仕分ける。
50
+ - 前倒し5基準(不可逆・後からの変更が高コスト/複数モジュール・外部利用者へ波及(外部影響)/曖昧だと受入テスト・観測が弱くなる(受入オラクル)/セキュリティ・法規制の床/複数 packet を拘束する)のいずれかに該当する決定は**前倒しで固定**する。2つ以上を満たす architecture-significant な決定は ADR 候補として compass の Decision Rules へ送る。
51
+ - 設計規則の内側に局所化でき、可逆(cheap-to-reverse)で探索可能な決定は `未定(遅延中・再訪条件付き)` として保持し、エージェントの裁量ゾーンに委ねてよい(放置しない。再訪条件を必ず併記する)。
52
+ - 前倒しの対象は「決定そのものの早期確定」に限らず、**学習・リスク発見・テストオラクル形成の前倒し**を優先する(結論の早期固定を強制しない)。
53
+ - `state` は `packet-format.md` の5値域から宣言的に記入する。進行段階の確定(特に `verifying`/`done`)は AI の自己申告のみで行わず、人または検査ゲート(intent-validate / drift-watch の結果)に基づく。`state=done` は `## Evidence` 節に確定済みの検証結果があることを前提とする。
54
+ - `depends_on` には依存先 packet の `packet_id` を宣言的に記入する(既定 `[]`・空でもキーを省略しない)。ツールは依存を推論・算出しない。
55
+ - `## Evidence` 節には、検証した結果・実施日・検査軸 ID(`validate-checks.md` の kebab-case ID)・出所(intent-validate / drift-watch / 人確認)を記入する。Evidence は AI の自己申告ではなく検査結果または人確認に基づき、出所を辿れる形で記録する。結果が無ければ空節で保持し推測で埋めない。
56
+ - 既存 packet の `state: active` は `implementing` への移行案として、`depends_on`/`## Evidence` の欠落は遅延補完案(`depends_on: []` の差分追記)として、既存の差分更新案の規律に乗せて提示する(一括移行を強制せず・移動のみ・削除しない)。
57
+ - 既存の packet ファイルがあれば読み、上書きではなく破壊せず差分更新案として提示する。
58
+ - Compass の**プロジェクト普遍**の invariant を各 packet の Safety に反映し、packet 固有の invariant は packet ファイルの Safety / Invariants に直接起案する(compass には書かない)。
59
+ - `.intent/intent-compass.md` の `## Open Questions` に「packet 固有制約(候補)」として保留された制約を読む。各候補について、当該 packet の作業範囲(Scope/Non-scope)に合致するものを AskUserQuestion で利用者に確認したうえで、その packet ファイルの Safety / Invariants へ転記し、転記済みのエントリを compass の `## Open Questions` から除く(保留の二重管理を残さない)。どの packet にも合致しない候補は compass の `## Open Questions` に保留したまま残す。
60
+
61
+ ### Step 4: 終端判定・優先順位・分割を提示する
62
+ - 分解の終端判定(複合停止条件): 各 packet が次の6条件をすべて満たした時点で、それ以上の分割を止める。①一 packet が一つの主要 concern に対応する ②受入基準が観測可能な入力・条件・期待結果に落ちている ③解法空間の境界(固定 / 裁量 / 禁止)が明示されている ④cheap-to-reverse(後戻りが安い) ⑤トレース先が明確(parent intent / spec_refs を辿れる) ⑥単体完結: packet 単体の done が、利用者/呼び出し側から見て中途半端でない一貫した挙動の区切りになっている(half-done な振る舞いの done を作らない)。⑥は④とは別の独立条件である — ④は「作る側のロールバック安全性(中間状態が戻せる)」、⑥は「呼び出し側から見た完了形の意味的一貫性」で観測の主体が違う(④へ吸収しない)。満たすまでは粗い、満たした後の細分化は過剰。
63
+ - 検証可能性の床は discriminative testability とする: 単に「テストが書ける(testability)」では足りず、「誤った実装を落とせるオラクルがある」ことを満たす。落とせるオラクルが見当たらない packet は受入基準が未成熟と判定し、Validation / Expected Behavior を観測可能な形へ詰め直す。
64
+ - 受入基準が複数の concern または複数の品質属性トレードオフをまたぐ packet は「まだ粗い」と判定し、concern 単位への分割を提案する(一 packet 一 concern へ寄せる)。
65
+ - 作業単位を実装手順(how の完全指定)まで細分化しない。`what + constraints + oracle`(何を / 境界制約 / 誤実装を落とすオラクル)の指定に留め、規則の内側はエージェントの裁量に委ねる。
66
+ - 既存の粒度規律(behavior-preserving / testable / rollbackable・数は規模に応じて可変で 1〜7 を緩い目安・数合わせをしない)を維持し、「一 packet = 一 concern」と⑥単体完結を終端判定に明示的に用いる。
67
+ - packet の優先順位を示す。
68
+ - `rules/walking-skeleton.md` を読み、rule の適用条件に従って適用する。
69
+ - `rules/first-packet.md` を読み、適用する。
70
+ - 大きすぎる packet には分割案を提示する。
71
+ - 利用者確認を得た packet の `state` を draft から `ready`(着手可・依存解決済み)へ宣言的に更新し、`index.md` を再生成する(値域・再生成手順は `rules/packet-format.md` 参照)。実装中/検証待ち/完了への進行(`implementing`/`verifying`/`done`)は人または検査ゲートに基づく後続の宣言で行う。
72
+ - supersede: 計画見直しで既存 packet を後続 packet で置き換える場合、後続 packet の起案と同時に旧 packet へ `superseded_by` を記入し、`archive/<年>/` へ移動して index を再生成する。
73
+ - **in-flight ガード**: 置換対象が export 済み(`.intent/export-log.md` に行あり)かつ終端状態(promoted / closed)の delta が無い場合、実装進行中の可能性を警告し、利用者確認なしに移動しない。
74
+ - export 済み packet の改名要求は、改名ではなく supersede として扱う(`rules/packet-format.md` の name 可変性規則)。
75
+ - 実装変更はしない。
76
+
77
+ ## Output Description
78
+
79
+ **読み手**: 作業単位を切り出して実装フローへ渡す人間開発者。
80
+ **この出力で最初に掴ませること**: 「**最初に着手すべき packet はこれ(=次に export すべき packet)。次の一手は案件種別に応じた出口**」。packet 一覧・優先順位・分割案はその根拠となる詳細。
81
+
82
+ 出力は結論(着手 packet と次のコマンド)を先頭に立てる。
83
+
84
+ - **最初に着手すべき packet(先頭・理由付き)**: 推薦 packet = 次に export すべき packet(同一)。なぜそれを先頭にするかの理由を添える。
85
+ - **次の一手(1行・案件種別で分岐)**: `rules/export-route.md`(出口判定レーン)を read-only で適用し、案件種別から出口を選んで提示する。cc-sdd を無条件で推さない(決め打ち禁止):
86
+ - target format(`.intent/mode.local.md` の `format` 行)が有効値で明示されていれば、その出口を推薦する: `cc-sdd` → `/intent-export-cc-sdd` / `openspec` → `/intent-export-openspec` / `to-spec` → `/intent-to-spec`。
87
+ - `format` 未指定(不在/プレースホルダ/値域外)なら、mode(non-code / standard 系)と前提(`.kiro/` の有無)から推論して候補筆頭を提示する(non-code+`.kiro/`不在 → `/intent-to-spec` / standard+`.kiro/`存在 → `/intent-export-cc-sdd`)。
88
+ - 一意に決まらないときは単一の出口に畳まず候補を列挙する(出口は利用者の意図次第・判定の詳細は `rules/export-route.md` が正)。
89
+ - **詳細**: `.intent/packets/active/` 配下の packet ファイル群(新規起案・既存への差分更新案。規模に応じた数の packet・1〜7 が緩い目安、各 parent intent 付き)、`.intent/packets/plan.md` と `.intent/packets/index.md` の更新、packet の優先順位、大きすぎる packet の分割案。
90
+
91
+ ## Safety & Fallback
92
+ - Intent Tree / Compass が無ければ停止して該当コマンドを案内する。
93
+ - mode.md 不在は停止せず standard 既定で続行し告知する。
94
+ - packet を実装タスクに落としすぎない(Issue より上位、spec より手前)。
95
+ - packet ファイルは削除しない(移動のみ)。
96
+ - Bash の用途は、日時取得・`.intent/packets/` 配下のディレクトリ作成(mkdir)と移動に限る(アプリケーションコードを変更しない invariant は維持)。
97
+ - アプリケーションコードは変更しない。
@@ -0,0 +1,55 @@
1
+ # Algorithm: Additive Slicing
2
+
3
+ 新機能を、既存の振る舞いに影響を与えない順序で付加していく「付加スライス」へ分解する技法。`feature-growth` モードの Packet 分解フェーズで Example Mapping と併用する。接合面(seam)の確立 → 新機能の付加的な積み上げ → 既存への結線、の3段でスライスを構成し、各スライスが既存挙動を保ったまま独立にデリバリーできる道筋を導く。Migration Slicing が drift リスト(直すべきズレ)を入力に取るのに対し、Additive Slicing は影響リストと新機能の intent を入力に取る — 入力が違うため、両者は置き換え可能ではない。
4
+
5
+ ## 手順
6
+
7
+ 入力=新機能の intent(GORE-lite で階層化され Example Mapping で具体化済み)と、discover の Impact Analysis が出した影響リスト(各項目=触れる境界 / 依存する既存契約 / 影響の種類)。薄い影響リストはスライスを推測にする — 接合点を設計できる厚みが無ければ discover へ戻る。
8
+
9
+ 1. **接合面(seam)を確立するスライスを切る**
10
+ - 影響リストの「拡張する / 変更が必要」項目から、新機能が既存と接する接合点を特定し、**既存への最小変更で接合点を作る behavior-preserving なスライス**を最初に置く。
11
+ - 確立された戦術を参照する: **Branch by Abstraction**(Fowler / Hammant)のインターフェース挿入、**Parallel Change (expand-contract)**(Danilo Sato)の expand 段、**seam 概念**(Feathers, Working Effectively with Legacy Code)。いずれも「既存の振る舞いを変えずに、新実装を差し込める点を作る」ための手筋。
12
+ - seam 確立スライスの完了時点で、既存の観測可能な振る舞いが変わっていないこと。
13
+
14
+ 2. **新機能を付加的に積む**
15
+ - seam の先に、**既存コードに触れない新規コードのみのスライス群**として新機能を積む。この段のスライスは結線前で既存から到達されないため、既存挙動への影響をゼロに保ったまま積める。
16
+ - Example Mapping で具体化した例が、各スライスの Expected Behavior に流れる。
17
+
18
+ 3. **結線して有効化する**
19
+ - 最後に、**seam 経由で新機能を有効化する結線スライス**を置く。結線は単体で無効化に戻せること(その具体化が各 packet の Toggle Plan)。
20
+
21
+ 4. **SPIDR で候補を探索・分割する**
22
+ - スライス候補の探索と、大きすぎるスライスの分割には、**SPIDR**(Mike Cohn: Spike / Paths / Interfaces / Data / Rules の5切り口)を補助ヒューリスティクスとして使う。
23
+ - 段との相性の目安: seam 段=Interfaces、付加段=Paths / Rules、結線段=Data / Rules。
24
+
25
+ 5. **各スライスに検証点・rollback・toggle plan を付ける**
26
+ - 既存挙動の回帰検証点を付け、behavior-preserving が観測可能であること → **Validation**。
27
+ - 失敗時にどう戻すか(スライス単位で巻き戻せること)→ **Rollback**。
28
+ - どの範囲が off-by-default か / toggle の削除条件はいつか → **Toggle Plan**。
29
+
30
+ 6. **影響リストの終端を確認する**
31
+ - 影響リストの各項目が「いずれかのスライスの Safety / Invariants で保護される」か「Open Questions へ送られる」かのいずれかに終端していることを確認する。どちらにもなっていない項目を残さない。
32
+
33
+ ## packet の組み立て
34
+
35
+ 3段の順序付き付加スライス群を packet にまとめる。各 packet は次を満たす。
36
+
37
+ - **Parent Intent**: 対応する L1/L2/L3 への参照(必須)。影響リスト項目の保護なら元の項目も示す。
38
+ - **Scope / Non-scope**: そのスライスが含む付加 / 含まない付加。
39
+ - **Expected Behavior**: Example Mapping の「例」由来。seam・結線スライスでは「保たれる既存の振る舞い」も併記する。
40
+ - **Safety / Invariants**: 移行中も崩してはならない不変条件。影響リストのどの項目を保護するかを明示する(compass の Invariants 由来)。
41
+ - **Validation / Rollback**: 上記由来。
42
+ - **Toggle Plan**: どの範囲が off-by-default か / toggle の削除条件はいつか(Hodgson の Release Toggles)。toggle の実装難易度の見積もりは計画の範囲外 — 存在と寿命の計画までを書く。
43
+ - **cc-sdd Mapping**: cc-sdd へどう渡すかの方針。
44
+
45
+ ## 規律
46
+
47
+ - 各スライスは **behavior-preserving / testable / rollbackable** であること。
48
+ - **影響リストのトレーサビリティ**: 入力の影響リストにある各項目は、いずれかのスライスの Safety / Invariants で保護されるか、Open Questions へ送られるか、必ずいずれかに終端させる。項目を黙って落とさない。
49
+ - **段の順序を守る**: seam 確立 → 付加 → 結線。seam を作らずに既存モジュールへ直埋めしない。
50
+ - 数は改修見込みの大きさに応じて可変とし、数合わせをしない(小規模なら 1 個でよい・1〜7 を緩い目安とする)。大きすぎるスライスは SPIDR の切り口で分割案を提示する。
51
+ - これは Intent の詰め方(packet 分解の技法)であって、付加の実行コードではない。コードを変更しない。
52
+
53
+ ## 出力
54
+
55
+ 順序付き付加スライス群(seam 確立 → 付加 → 結線)。各スライスは上記構造を持ち、Scope / Validation / Rollback / Toggle Plan が各 packet に流れる。packet ファイル(`active/` 配下)を更新(案として提示)する。
@@ -0,0 +1,40 @@
1
+ # Algorithm: Characterization Test
2
+
3
+ 未知のレガシーの「観測可能な振る舞い」を、現状のまま固定するテスト観点として捉える技法。`behavior-unknown` モードの Packet 分解フェーズで Example Mapping と併用する。**振る舞いが不明な対象では本技法を先に走らせ**、観測した事実を Example Mapping へ渡す(知らない挙動の「例」は書けないため、観測が先)。意図を構造化する前に「今どう動いているか」を安全網として固定し、packet の Expected Behavior と Validation を観測事実から導く。
4
+
5
+ ## 手順
6
+
7
+ 入力=振る舞いが不明な対象(レガシーコード・既存挙動)。Example Mapping の出力には依存しない(むしろ本技法の観測が Example Mapping の入力になる)。
8
+
9
+ 1. **現状の振る舞いを観測し、判断せず固定する**
10
+ - 対象の現状の入出力・副作用を観測し、「正しいか」を判断せずそのまま characterization test(現状の挙動をそのまま固定するテスト)の観点として書き留める。
11
+ - これはテスト観点の計画であって、実際のテストコード実装ではない。
12
+
13
+ 2. **固定した振る舞いを意図的/偶発に仕分け、Example Mapping へ渡す**
14
+ - 固定した各振る舞いについて、どれが意図的でどれが偶発かを仕分ける。意図的な観測事実は後続の Example Mapping で「ルール・例」へ整理する素材になる。
15
+ - 偶発(意図と切り離せない副作用・依存)は **Open Questions** へ送り、推測で意図に昇格させない。
16
+
17
+ 3. **characterization test を Validation の起点にする**
18
+ - 仕分けた振る舞い観点を各 packet の **Validation** の起点とし、リファクタ時の回帰検知に使えるようにする。
19
+ - 失敗時にどう戻すか → **Rollback**。
20
+
21
+ ## packet の組み立て
22
+
23
+ 固定した振る舞い観点群を packet にまとめる。各 packet は次を満たす。
24
+
25
+ - **Parent Intent**: 対応する L1/L2/L3 への参照(必須)。観測由来なら元の振る舞いも示す。
26
+ - **Scope / Non-scope**: 含む振る舞い / 含まない振る舞い。
27
+ - **Expected Behavior**: 上記で固定した現状の観測振る舞い由来。
28
+ - **Safety / Invariants**: 固定した振る舞いのうち崩してはならない不変条件。
29
+ - **Validation / Rollback**: 上記由来。
30
+ - **cc-sdd Mapping**: cc-sdd へどう渡すかの方針。
31
+
32
+ ## 規律
33
+
34
+ - **観測であって判断ではない**: 現状の振る舞いはそのまま事実として固定し、正しさの判断や原因論には踏み込まない。
35
+ - 意図的か偶発かが判断できないものは推測で埋めず **Open Questions** へ送る。
36
+ - これは Intent の詰め方(振る舞いを観測して詰める技法)であって、実際のテストコード実装ではない。コードを変更しない。
37
+
38
+ ## 出力
39
+
40
+ 現状振る舞いを固定したテスト観点群(意図的/偶発の仕分け付き)。各観点の Expected Behavior / Validation が各 packet に流れる。packet ファイル(`active/` 配下)を更新(案として提示)する。
@@ -0,0 +1,47 @@
1
+ # Algorithm: Example Mapping
2
+
3
+ 抽象的な能力を、観測可能な具体例に落とす技法。`standard` / `behavior-unknown` モードの Packet 分解フェーズで使う。能力を「ルール・例・疑問・切り出し」に展開し、packet の Expected Behavior と Validation を導く。behavior-unknown モードでは、先行する Characterization Test が固定した観測事実を「例」の入力に取る(観測が先・整理が後)。
4
+
5
+ ## 手順
6
+
7
+ 各 L2/L3 能力について、4色のカードを書く要領で展開する。
8
+
9
+ 1. **ルール(その能力が従う規則)**
10
+ - 能力が満たすべき規則・制約を箇条書きにする。
11
+
12
+ 2. **例(観測可能な具体シナリオ)**
13
+ - 各ルールについて「こうなったら、こう振る舞う」という具体例を挙げる。
14
+ - これが packet の **Expected Behavior**(完了後に観測できる振る舞い)になる。
15
+
16
+ 3. **疑問(未確定)**
17
+ - 例を書こうとして埋まらないもの、判断が要るものは「疑問」として残す。
18
+ - これは packet の **Open Questions**、または Compass へ差し戻す。
19
+
20
+ 4. **切り出し(今回やらないと決めたこと)**
21
+ - 展開の途中で「このルール・例は今回の packet から外す」と判断したものは、黙って落とさず**切り出し**として明示的に記録する。後続 packet の種、または Open Questions になる。
22
+
23
+ 5. **例から Validation と Rollback を導く**
24
+ - 各例をどう検証するか(テスト / 手動確認 / 型検査 / ログ確認)→ **Validation**。
25
+ - 失敗時にどう戻すか → **Rollback**。
26
+
27
+ ## packet の組み立て
28
+
29
+ 展開結果を packet にまとめる。各 packet は次を満たす。
30
+
31
+ - **Parent Intent**: 対応する L0/L1/L2/L3 への参照(必須)。
32
+ - **Scope / Non-scope**: 含むこと / 含まないこと。
33
+ - **Expected Behavior**: 上記「例」由来。
34
+ - **Safety / Invariants**: Compass の invariant 由来。
35
+ - **Validation / Rollback**: 上記由来。
36
+ - **cc-sdd Mapping**: cc-sdd へどう渡すかの方針。
37
+
38
+ ## 規律
39
+
40
+ - packet は **behavior-preserving / testable / rollbackable** であること。保つべき既存の振る舞いが無い新規開発では、behavior-preserving は「他に影響を与えず単体で導入・撤去できる」と読み替える。
41
+ - 数は改修見込みの大きさに応じて可変とし、数合わせをしない(小規模なら 1 個でよい・1〜7 を緩い目安とする)。大きすぎる packet は分割案を提示する。
42
+ - 実装タスクに落としすぎない(Issue より上位、spec より手前)。
43
+ - コードを変更しない。
44
+
45
+ ## 出力
46
+
47
+ packet ファイル(`active/` 配下)を更新(案として提示)する。各 packet は上記構造を持つ。展開の4欄(ルール / 例 / 疑問 / 切り出し)のうち、ルール・例は各 packet の Expected Behavior に流れ、疑問は Open Questions へ、切り出しは `plan.md` の Deferred 節へ残す。
@@ -0,0 +1,47 @@
1
+ # Algorithm: Migration Slicing
2
+
3
+ 大きな変更を、振る舞いを保ったまま個別にデプロイできる「移行スライス」へ分解する技法。`refactor` モードの Packet 分解フェーズで使う。あるべき設計と現状の差分を、behavior-preserving / testable / rollbackable な単位に切り、現状から一歩ずつ進める道筋を導く。
4
+
5
+ ## 手順
6
+
7
+ 入力=refactor 対象の Intent(あるべき設計)と現状、Drift Analysis で出た drift リスト。
8
+
9
+ 1. **Mikado pre-pass: 前提を逆算する**
10
+ - 各 drift の解消(目標)について「これを安全に変えるには、先に何が真である必要があるか」を再帰的に逆算し、前提グラフ(Mikado Method の Mikado Graph)をインデント付きの箇条書きで書く。
11
+ - 前提を持たない**葉**が、最初に着手できる変更。これは計画時の机上の逆算であり、試しにコードを変えて確かめることはしない(実装時の「実験が失敗したら即座に戻し、葉から攻める」という Mikado の規律は、各スライスの Rollback に明記して export の実装ヒントへ流す)。
12
+
13
+ 2. **差分を最小の移行単位に切る**
14
+ - 現状 → あるべきの差分を、振る舞いを壊さずに適用できる最小の単位へ分割する。前提グラフの葉に近い変更からスライスを起こす(依存の発見はグラフ、単位の分解はスライス、と分けて考える)。
15
+ - 各スライスは単体でデプロイ可能で、既存の振る舞いを保ったまま設計を一歩進めるものにする。
16
+
17
+ 3. **依存順に並べ、unblock の連鎖にする**
18
+ - 各スライスを依存関係の順に並べ、前のスライスが次のスライスを unblock するようにする。
19
+ - どのスライスで止めても、その時点までの状態が一貫している(中間状態も behavior-preserving)ことを確認する。
20
+ - 依存制約の中で複数のスライスが着手可能な場合は、**リスク削減・後続スライスの解放が大きいものを先に**し、その理由を一文添える(数値スコアリングはしない。根拠の無い見せかけの定量化になる)。
21
+
22
+ 4. **各スライスに検証点と rollback を付ける**
23
+ - 各スライスに characterization / 回帰の検証点を付け、振る舞いが保たれていることを観測可能にする → **Validation**。
24
+ - 失敗時にどう戻すか(スライス単位で巻き戻せること)→ **Rollback**。
25
+
26
+ ## packet の組み立て
27
+
28
+ 順序付き移行スライス群を packet にまとめる。各 packet は次を満たす。
29
+
30
+ - **Parent Intent**: 対応する L1/L2/L3 への参照(必須)。drift 由来なら元の drift も示す。
31
+ - **Scope / Non-scope**: そのスライスが含む移行 / 含まない移行。
32
+ - **Expected Behavior**: 移行後も保たれる既存の振る舞い。
33
+ - **Safety / Invariants**: 移行中も崩してはならない不変条件。
34
+ - **Validation / Rollback**: 上記由来。
35
+ - **cc-sdd Mapping**: cc-sdd へどう渡すかの方針。
36
+
37
+ ## 規律
38
+
39
+ - 各スライスは **behavior-preserving / testable / rollbackable** であること。
40
+ - **drift トレーサビリティ**: 入力の drift リストにある各 drift は、スライス(packet)になるか、Open Questions / 理由付きの明示的な先送りになるか、必ずいずれかに終端させる。drift を黙って落とさない。
41
+ - スライスは依存順に並べ、各々が単体でデプロイ可能であること。
42
+ - 数は改修見込みの大きさに応じて可変とし、数合わせをしない(小規模なら 1 個でよい・1〜7 を緩い目安とする)。大きすぎるスライスは分割案を提示する。
43
+ - これは Intent の詰め方(packet 分解の技法)であって、移行の実行コードではない。コードを変更しない。
44
+
45
+ ## 出力
46
+
47
+ 順序付き移行スライス群。各スライスは上記構造を持ち、Scope / Validation / Rollback が各 packet に流れる。packet ファイル(`active/` 配下)を更新(案として提示)する。
@@ -0,0 +1,88 @@
1
+ # Decision Slots カタログ(完全性スキーマ)
2
+
3
+ 聞き漏らしやすい話題を「目次」として一覧化する**完全性スキーマ(completeness schema)の単一の正本**。要求本文の自由記述任せにせず、漏れの種類を構造的に限定する。`intent-discover`(posture 確認)・`intent-packets`(スロット播種)・`intent-validate`(充足検査)はこのカタログを単一参照として読む。
4
+
5
+ このカタログは「見本(漏れやすい話題の目次)」であって、固定の網ではない。プロジェクト種別での欠落補完は discover の posture 確認とモード別差分に委ねる。
6
+
7
+ ## 値域とステータス
8
+
9
+ 各スロットは値域 `確定値 | 未決定(理由付き)| 該当なし` のいずれかを取り、次の4ステータスのいずれかで**必ず閉じる**(「黙って飛ばす」を構造的に防ぐ)。
10
+
11
+ | ステータス | 意味 | 併記する内容 |
12
+ |------------|------|--------------|
13
+ | 回答済み | 確定値が決まっている | 確定値(packet の `## Decisions` または閉じ先の節) |
14
+ | 未定 | まだ決めていない(遅延中) | 理由・downstream への注意書き・再訪条件(Revisit when) |
15
+ | 非該当 | このスロットは当該 packet に該当しない | 該当しない根拠(黙って落とさない) |
16
+ | ADR候補へ送る | architecture-significant な決定 | compass の Decision Rules へ送る(前倒し固定の対象) |
17
+
18
+ - `回答済み` は値域 `確定値`、`未定` は値域 `未決定(理由付き)`、`非該当` は値域 `該当なし` に対応する。`ADR候補へ送る` は値が compass 側で確定するまでの宣言。
19
+ - 「閉じ先」が既存節(`## Validation` / `## Expected Behavior` 等)のスロットは、`## Decisions` に値を二重に書かず「既存節で閉じている」旨を宣言してよい(重複定義しない)。
20
+
21
+ ## 共通コアスロット(全モードで播く)
22
+
23
+ 全 packet に播く8スロット。前半4(④中心)は「制約下の意思決定」由来、後半4は既存成果物が未カバーだった欠落補完分。
24
+
25
+ | ID | スロット名 | 確認内容 | 完了条件 | 閉じ先 | 前倒し/遅延ドア | 根拠 |
26
+ |----|-----------|----------|----------|--------|-----------------|------|
27
+ | `decision-consistency` | 整合性モデル(consistency model) | データ変更時、即時整合(strong)か結果整合(eventual)か | どちらの整合モデルかが宣言され、下流が前提にできる | packet `## Decisions`(新規) | 前倒し(一方向: 後から覆すと外部影響が大きい) | 不可逆・複数 packet 拘束。ISO/IEC/IEEE 42010 の decision/rationale |
28
+ | `decision-idempotency` | 冪等性・リトライ(idempotency) | 書き込み再試行時の不整合防止(冪等キー等) | 再試行時の挙動が宣言される | packet `## Decisions`(新規) | 遅延可(双方向: 局所化でき可逆なら裁量) | 受入オラクルに効く。リトライ前提の品質特性 |
29
+ | `decision-error-semantics` | エラー意味論・境界バリデーション(error semantics) | 入力が空/期待外のときの境界検証とエラー返却(Fail-Fast 等) | 異常入力時の返却契約が宣言される | packet `## Decisions`(新規) | 遅延可(双方向) | 受入オラクル・外部契約に効く |
30
+ | `decision-authz` | 認可(authorization) | 実行できるアクター・アクセスできるデータの行レベル権限 | 誰が何にアクセスできるかが宣言される | packet `## Decisions`(新規) | 前倒し(一方向: セキュリティ/法規制の床) | 不可逆・セキュリティ床。高コスト決定 |
31
+ | `decision-quality-priority` | 品質目標の順位付け(quality priority) | 性能/信頼性/保守性/セキュリティのうち load-bearing な上位2-3特性 | 上位特性が順位付きで宣言される | packet `## Decisions`(新規。compass Invariants と連携可) | 遅延可(双方向) | 品質トレードオフ点。ISO/IEC 25010 の品質語彙 |
32
+ | `decision-fit-criterion` | 数値基準・適合基準(fit criterion) | 受入判定をどう測るか(fit criterion / SLO / test oracle) | 受入の数値・観測条件が宣言される | packet `## Validation`(既存)を参照。未定なら `## Decisions` で宣言 | 遅延可(双方向) | 受入オラクルに効く。Volere の fit criterion |
33
+ | `decision-exception-flow` | 例外フロー(exception flow) | 正常系だけでなく代表的な異常系フローが定義されているか | 代表的な異常系フローが宣言される | packet `## Expected Behavior`(既存)を参照。欠落なら `## Decisions` で宣言 | 遅延可(双方向) | ハッピーパス偏重の漏れ補完(PBR テスト/運用観点) |
34
+ | `decision-downstream-trace` | 下流トレース(downstream trace) | この packet を実現/検証する作業・テストへのリンク(realized-by / verified-by) | 下流リンクが宣言される(または最小十分と判断し空) | packet `## Verification protocol` / トレースリンク(新規・任意) | 遅延可(双方向) | 双方向トレース(pre-RS の欠落補完) |
35
+
36
+ - `decision-fit-criterion` / `decision-exception-flow` は閉じ先が既存節のため、既存節で閉じていれば `## Decisions` には「既存節で閉じている」旨の参照のみを置く(重複定義しない)。
37
+ - 共通コアは全モードで播く。`intent-validate` の `decision-slot-unsown` 検査は「この8 ID のうち1つも `## Decisions` に播かれていない」(共通コア未播種)を検出する。
38
+
39
+ ## モード別差分スロット(mode に応じて加算)
40
+
41
+ `.intent/mode.md` の mode に応じて共通コアに**加算**される差分スロット。スロット定義はこの表が正であり、skill 本体へハードコードしない(Mode/Algorithm/Skill の3層分離に乗る)。
42
+
43
+ ### standard
44
+
45
+ | ID | スロット名 | 確認内容 | 完了条件 | 閉じ先 | 前倒し/遅延ドア |
46
+ |----|-----------|----------|----------|--------|-----------------|
47
+ | `decision-perf-budget` | 性能予算(performance budget) | レイテンシ・スループット・リソースの許容枠 | 性能の許容枠が宣言される | packet `## Decisions` | 遅延可(双方向) |
48
+ | `decision-data-ownership` | データ所有権(data ownership) | このデータの正本はどこか・誰が書き換えられるか | データの正本と書き換え主体が宣言される | packet `## Decisions` | 前倒し(一方向: 後から覆すと外部影響大) |
49
+
50
+ ### refactor
51
+
52
+ | ID | スロット名 | 確認内容 | 完了条件 | 閉じ先 | 前倒し/遅延ドア |
53
+ |----|-----------|----------|----------|--------|-----------------|
54
+ | `decision-characterization` | 保持すべき挙動・characterization tests | 現状の観測可能な振る舞いをそのまま固定するテスト観点 | 観測振る舞いが固定される | 既存 `algo-characterization-test.md` を参照(重複定義しない) | 前倒し(一方向: 安全網を先に固定) |
55
+ | `decision-change-boundary` | 変更境界(change boundary) | どこまで変えてよく、どこは触らないか | 変更可能範囲と不可侵範囲が宣言される | packet `## Decisions` | 前倒し(一方向) |
56
+ | `decision-rollout-safety` | 段階展開の安全性(rollout safety) | 変更を段階的に出す際の戻し方・観測点 | ロールアウト戦略と戻し方が宣言される | packet `## Decisions` / `## Rollback`(既存)を参照 | 遅延可(双方向) |
57
+
58
+ ### behavior-unknown
59
+
60
+ | ID | スロット名 | 確認内容 | 完了条件 | 閉じ先 | 前倒し/遅延ドア |
61
+ |----|-----------|----------|----------|--------|-----------------|
62
+ | `decision-observed-facts` | 観測済み事実とその出所 | 何を観測したか・その出所はどこか | 観測事実と出所が宣言される | packet `## Decisions` / `## Expected Behavior`(既存)を参照 | 前倒し(一方向: 事実を先に固定) |
63
+ | `decision-hypothesis-confidence` | 仮説と確証度の区別 | どれが事実でどれが仮説か・確証度はどの程度か | 事実/仮説と確証度が区別される | packet `## Decisions` | 遅延可(双方向) |
64
+ | `decision-current-vs-future` | 現挙動と将来意図の分離 | 「今こう動いている」と「こう動かしたい」を混ぜていないか | 現挙動と将来意図が分離して宣言される | packet `## Decisions` | 遅延可(双方向) |
65
+
66
+ ### feature-growth
67
+
68
+ | ID | スロット名 | 確認内容 | 完了条件 | 閉じ先 | 前倒し/遅延ドア |
69
+ |----|-----------|----------|----------|--------|-----------------|
70
+ | `decision-existing-boundary` | 既存境界との整合 | 既存のモジュール境界・契約と整合するか | 既存境界との整合方針が宣言される | packet `## Decisions` | 前倒し(一方向) |
71
+ | `decision-backward-compat` | 後方互換性(backward compatibility) | 既存利用者・既存データを壊さないか | 後方互換の方針が宣言される | packet `## Decisions` | 前倒し(一方向: 高コスト決定) |
72
+ | `decision-data-migration` | データ移行(data migration) | 既存データをどう移すか・移行中の整合 | 移行戦略が宣言される | packet `## Decisions` | 前倒し(一方向: 不可逆) |
73
+ | `decision-staged-rollout` | 段階展開(staged rollout) | 新旧をどう並走させ、どう切り替えるか | 段階展開戦略が宣言される | packet `## Decisions` | 遅延可(双方向) |
74
+ | `decision-legacy-impact` | 旧機能への影響 | この拡張が既存機能に与える副作用 | 旧機能への影響が宣言される | packet `## Decisions` | 遅延可(双方向) |
75
+
76
+ ## 3規律
77
+
78
+ このカタログを適用する skill は次の3規律を守る。
79
+
80
+ 1. **既定値を出さない(anchoring 回避)**: スロットに「妥当な既定値」「推奨値」を提示しない。最初に提示された値に判断が引きずられる anchoring bias を避けるため。複数案の対称並列は将来の拡張候補として保留する。
81
+ 2. **ツールは該当性・値を推論しない**: スロットが該当するか・どの値を取るかを成果物の内容から推論・自動充填しない。人が宣言する(`depends_on` を推論しないのと同じ宣言ベースの規律)。`intent-validate` は実際に宣言されたスロット・ステータスのみを検査対象とする。
82
+ 3. **天井(How)を固定しない**: スロットは「何を決めるか(what + constraints + oracle)」を宣言するもので、実装の How を packet に書かせない。規則の内側の局所探索はエージェントの裁量ゾーンに委ねる。
83
+
84
+ ## 拡張の作法
85
+
86
+ - **表に行を足すだけで拡張が完結する**(他ファイルの構造変更を要しない・「表が正」パターン)。共通コアを増やすなら共通コア表に、モード別差分を増やすなら該当モードの表に1行足す。
87
+ - **既存成果物がカバーするスロットは「閉じ先」を参照し、新しい入れ物を作らない**。意図/範囲/利害関係者/制約/受入証拠 等は既存の tree / compass / packet 既存節がカバーするため、`## Decisions` に作り直さずその閉じ先を参照する。
88
+ - 既存 rule と同一対象のスロット(例: `decision-characterization`)は既存ファイル(`algo-characterization-test.md`)を参照に留め、定義を重複させない。
@@ -0,0 +1,54 @@
1
+ # Export Route(出口判定レーン)
2
+
3
+ 計画フェーズ(discover→compass→packets)の後、どの出口へ進むかを案件種別から決める **read-only の判定規約**。出口は3系統:
4
+
5
+ - **cc-sdd 実装 export** → `/intent-export-cc-sdd`
6
+ - **OpenSpec 実装 export** → `/intent-export-openspec`
7
+ - **読める Spec 射影** → `/intent-to-spec`
8
+
9
+ この規約は **intent-packets の単一正本**であり、`/intent-packets` の出口提示と export 系の preflight が本ルールを参照する(rule 本体を他 skill に複製しない)。判定は意味的で、`intent-check.mjs` 等の機械検査スクリプトに寄せない(INV2)。
10
+
11
+ ## 入力(すべて read-only 観測)
12
+
13
+ 判定の入力は次の3つ。いずれも Read / Glob で観測し、ファイルの作成・変更・削除をしない(read-only・INV5):
14
+
15
+ 1. **target format**: `.intent/mode.local.md`(無ければ旧 `.intent/mode.md`)の `format` 行の値(値域 `cc-sdd` / `openspec` / `to-spec`)。
16
+ 2. **mode**: 同ファイルの `mode` 値(`non-code` / `standard` 系)。
17
+ 3. **前提**: `.kiro/` ディレクトリの有無(cc-sdd 導入の有無の手がかり)。
18
+
19
+ ## 判定(first-match・決定的)
20
+
21
+ 同一の入力に対して常に同一の結果を返す(決定的)。上から評価し最初に該当した行を採る。
22
+
23
+ ### A. format が有効値で明示されているとき(最優先)
24
+
25
+ | `format` | 推薦する出口 |
26
+ |----------|--------------|
27
+ | `openspec` | `/intent-export-openspec`(**OpenSpec 案件は OpenSpec を促す**) |
28
+ | `cc-sdd` | `/intent-export-cc-sdd` |
29
+ | `to-spec` | `/intent-to-spec` |
30
+
31
+ 明示があればその出口を確定的に推薦する。
32
+
33
+ ### B. format が未指定のとき(mode + 前提から推論)
34
+
35
+ `format` が「未指定」(①行が無い ②プレースホルダ値 `(未確定 — …)` ③値域外の値、のいずれか。mode.local.md の読み取り契約に従う)のときは、mode と `.kiro/` の有無から**推論して候補を提示**する。4象限すべてを次のとおり扱う:
36
+
37
+ | mode | `.kiro/` | 結果 |
38
+ |------|----------|------|
39
+ | non-code | 不在 | `/intent-to-spec` を候補筆頭(読める成果物が目的・DR15) |
40
+ | standard 系 | 存在 | `/intent-export-cc-sdd` を候補筆頭(実装案件・cc-sdd 導入済み) |
41
+ | non-code | 存在 | **候補列挙**(`/intent-to-spec` を上位に置きつつ `/intent-export-cc-sdd` も併記。non-code でも cc-sdd 導入済みは起こりうるため1つに畳まない) |
42
+ | standard 系 | 不在 | **候補列挙**(`/intent-export-cc-sdd`〔導入が要る〕・`/intent-to-spec`・`/intent-export-openspec` を併記。一意に決まらない) |
43
+
44
+ ### C. フォールバック
45
+
46
+ 上記以外も含め、format が未指定で入力から出口を**一意に決められないときは、単一の出口に畳まず候補を列挙**する(断定より提示・出口は利用者の意図次第)。
47
+
48
+ ## 規律
49
+
50
+ - **決め打ちにしない**: 問題は「案件種別を見ず1つに決め打ちすること」。別の固定宛先(to-spec 一本道・openspec 一本道)にすり替えない。曖昧なら候補提示。
51
+ - **read-only**: 判定は観測のみ。状態を書き換えない(INV5)。
52
+ - **機械検査に寄せない**: 意味的判定は本ルール + 文脈で成立させ、`intent-check.mjs` 等のスクリプトに移さない(INV2)。
53
+ - **利用者への問い返しに依存しない**: 出口の提示は本ルールの規約と既定で一意化し、対話補完を前提にしない。
54
+ - **外部ツールを触らない**: `.kiro/` の有無を読むのは観測であって、kiro / cc-sdd / OpenSpec への変更ではない(INV1)。