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.
- package/LICENSE +21 -0
- package/README.en.md +225 -0
- package/README.md +225 -0
- package/bin/cli.mjs +289 -0
- package/package.json +46 -0
- package/src/install.mjs +527 -0
- package/templates/en/agents/claude/CLAUDE.md +62 -0
- package/templates/en/agents/codex/AGENTS.md +62 -0
- package/templates/en/agents/gemini/GEMINI.md +62 -0
- package/templates/en/claude/skills/CONTRACT.md +86 -0
- package/templates/en/claude/skills/intent-compass/SKILL.md +55 -0
- package/templates/en/claude/skills/intent-compass/rules/algo-qoc.md +62 -0
- package/templates/en/claude/skills/intent-compass/rules/constraint-surfacing.md +41 -0
- package/templates/en/claude/skills/intent-discover/SKILL.md +63 -0
- package/templates/en/claude/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
- package/templates/en/claude/skills/intent-discover/rules/algo-gore-lite.md +35 -0
- package/templates/en/claude/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
- package/templates/en/claude/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
- package/templates/en/claude/skills/intent-discover/rules/designer-questions.md +78 -0
- package/templates/en/claude/skills/intent-discover/rules/drift-terrain.md +105 -0
- package/templates/en/claude/skills/intent-discover/rules/mode-selection.md +31 -0
- package/templates/en/claude/skills/intent-export-cc-sdd/SKILL.md +88 -0
- package/templates/en/claude/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
- package/templates/en/claude/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
- package/templates/en/claude/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
- package/templates/en/claude/skills/intent-export-openspec/SKILL.md +90 -0
- package/templates/en/claude/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
- package/templates/en/claude/skills/intent-export-openspec/rules/export-questions.md +23 -0
- package/templates/en/claude/skills/intent-export-openspec/rules/map-openspec.md +75 -0
- package/templates/en/claude/skills/intent-from-spec/SKILL.md +60 -0
- package/templates/en/claude/skills/intent-from-spec/rules/extract-intent.md +56 -0
- package/templates/en/claude/skills/intent-from-spec/rules/gap-readout.md +54 -0
- package/templates/en/claude/skills/intent-from-spec/rules/load-bearing.md +48 -0
- package/templates/en/claude/skills/intent-from-spec/rules/omission-recap.md +42 -0
- package/templates/en/claude/skills/intent-improve/SKILL.md +70 -0
- package/templates/en/claude/skills/intent-improve/rules/improve-axes.md +121 -0
- package/templates/en/claude/skills/intent-overview/SKILL.md +63 -0
- package/templates/en/claude/skills/intent-overview/rules/aggregate-sources.md +61 -0
- package/templates/en/claude/skills/intent-overview/rules/gap-readout.md +54 -0
- package/templates/en/claude/skills/intent-overview/rules/mermaid-tree.md +78 -0
- package/templates/en/claude/skills/intent-overview/rules/progress-readout.md +119 -0
- package/templates/en/claude/skills/intent-packets/SKILL.md +97 -0
- package/templates/en/claude/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
- package/templates/en/claude/skills/intent-packets/rules/algo-characterization-test.md +40 -0
- package/templates/en/claude/skills/intent-packets/rules/algo-example-mapping.md +47 -0
- package/templates/en/claude/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
- package/templates/en/claude/skills/intent-packets/rules/decision-slots.md +88 -0
- package/templates/en/claude/skills/intent-packets/rules/export-route.md +54 -0
- package/templates/en/claude/skills/intent-packets/rules/first-packet.md +35 -0
- package/templates/en/claude/skills/intent-packets/rules/packet-format.md +207 -0
- package/templates/en/claude/skills/intent-packets/rules/walking-skeleton.md +35 -0
- package/templates/en/claude/skills/intent-release-note/SKILL.md +58 -0
- package/templates/en/claude/skills/intent-release-note/rules/format-changelog.md +40 -0
- package/templates/en/claude/skills/intent-release-note/rules/format-github-releases.md +41 -0
- package/templates/en/claude/skills/intent-release-note/rules/format-select.md +32 -0
- package/templates/en/claude/skills/intent-release-note/rules/source-scope.md +42 -0
- package/templates/en/claude/skills/intent-status/SKILL.md +171 -0
- package/templates/en/claude/skills/intent-status/rules/decision-table.md +47 -0
- package/templates/en/claude/skills/intent-to-spec/SKILL.md +68 -0
- package/templates/en/claude/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
- package/templates/en/claude/skills/intent-to-spec/rules/format-integrated.md +42 -0
- package/templates/en/claude/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
- package/templates/en/claude/skills/intent-to-spec/rules/format-upstream.md +41 -0
- package/templates/en/claude/skills/intent-to-spec/rules/source-scope.md +50 -0
- package/templates/en/claude/skills/intent-validate/SKILL.md +80 -0
- package/templates/en/claude/skills/intent-validate/rules/validate-checks.md +121 -0
- package/templates/en/claude/skills/intent-writeback/SKILL.md +71 -0
- package/templates/en/claude/skills/intent-writeback/rules/writeback-protocol.md +139 -0
- package/templates/en/codex/skills/CONTRACT.md +77 -0
- package/templates/en/codex/skills/intent-compass/SKILL.md +52 -0
- package/templates/en/codex/skills/intent-compass/rules/algo-qoc.md +62 -0
- package/templates/en/codex/skills/intent-compass/rules/constraint-surfacing.md +41 -0
- package/templates/en/codex/skills/intent-discover/SKILL.md +60 -0
- package/templates/en/codex/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
- package/templates/en/codex/skills/intent-discover/rules/algo-gore-lite.md +35 -0
- package/templates/en/codex/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
- package/templates/en/codex/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
- package/templates/en/codex/skills/intent-discover/rules/designer-questions.md +78 -0
- package/templates/en/codex/skills/intent-discover/rules/drift-terrain.md +105 -0
- package/templates/en/codex/skills/intent-discover/rules/mode-selection.md +31 -0
- package/templates/en/codex/skills/intent-export-cc-sdd/SKILL.md +85 -0
- package/templates/en/codex/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
- package/templates/en/codex/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
- package/templates/en/codex/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
- package/templates/en/codex/skills/intent-export-openspec/SKILL.md +87 -0
- package/templates/en/codex/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
- package/templates/en/codex/skills/intent-export-openspec/rules/export-questions.md +23 -0
- package/templates/en/codex/skills/intent-export-openspec/rules/map-openspec.md +75 -0
- package/templates/en/codex/skills/intent-from-spec/SKILL.md +58 -0
- package/templates/en/codex/skills/intent-from-spec/rules/extract-intent.md +56 -0
- package/templates/en/codex/skills/intent-from-spec/rules/gap-readout.md +54 -0
- package/templates/en/codex/skills/intent-from-spec/rules/load-bearing.md +48 -0
- package/templates/en/codex/skills/intent-from-spec/rules/omission-recap.md +42 -0
- package/templates/en/codex/skills/intent-improve/SKILL.md +67 -0
- package/templates/en/codex/skills/intent-improve/rules/improve-axes.md +121 -0
- package/templates/en/codex/skills/intent-overview/SKILL.md +61 -0
- package/templates/en/codex/skills/intent-overview/rules/aggregate-sources.md +61 -0
- package/templates/en/codex/skills/intent-overview/rules/gap-readout.md +54 -0
- package/templates/en/codex/skills/intent-overview/rules/mermaid-tree.md +78 -0
- package/templates/en/codex/skills/intent-overview/rules/progress-readout.md +119 -0
- package/templates/en/codex/skills/intent-packets/SKILL.md +94 -0
- package/templates/en/codex/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
- package/templates/en/codex/skills/intent-packets/rules/algo-characterization-test.md +40 -0
- package/templates/en/codex/skills/intent-packets/rules/algo-example-mapping.md +47 -0
- package/templates/en/codex/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
- package/templates/en/codex/skills/intent-packets/rules/decision-slots.md +88 -0
- package/templates/en/codex/skills/intent-packets/rules/export-route.md +54 -0
- package/templates/en/codex/skills/intent-packets/rules/first-packet.md +35 -0
- package/templates/en/codex/skills/intent-packets/rules/packet-format.md +207 -0
- package/templates/en/codex/skills/intent-packets/rules/walking-skeleton.md +35 -0
- package/templates/en/codex/skills/intent-release-note/SKILL.md +56 -0
- package/templates/en/codex/skills/intent-release-note/rules/format-changelog.md +40 -0
- package/templates/en/codex/skills/intent-release-note/rules/format-github-releases.md +41 -0
- package/templates/en/codex/skills/intent-release-note/rules/format-select.md +32 -0
- package/templates/en/codex/skills/intent-release-note/rules/source-scope.md +42 -0
- package/templates/en/codex/skills/intent-status/SKILL.md +169 -0
- package/templates/en/codex/skills/intent-status/rules/decision-table.md +47 -0
- package/templates/en/codex/skills/intent-to-spec/SKILL.md +66 -0
- package/templates/en/codex/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
- package/templates/en/codex/skills/intent-to-spec/rules/format-integrated.md +42 -0
- package/templates/en/codex/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
- package/templates/en/codex/skills/intent-to-spec/rules/format-upstream.md +41 -0
- package/templates/en/codex/skills/intent-to-spec/rules/source-scope.md +50 -0
- package/templates/en/codex/skills/intent-validate/SKILL.md +78 -0
- package/templates/en/codex/skills/intent-validate/rules/validate-checks.md +121 -0
- package/templates/en/codex/skills/intent-writeback/SKILL.md +68 -0
- package/templates/en/codex/skills/intent-writeback/rules/writeback-protocol.md +139 -0
- package/templates/en/intent/README.md +118 -0
- package/templates/en/intent/cc-sdd/README.md +28 -0
- package/templates/en/intent/compass-archive/README.md +9 -0
- package/templates/en/intent/compass-archive/archive/.gitkeep +0 -0
- package/templates/en/intent/compass-archive.md +7 -0
- package/templates/en/intent/constraint-library.md +32 -0
- package/templates/en/intent/constraint-starters.md +58 -0
- package/templates/en/intent/context-cost-cues.md +55 -0
- package/templates/en/intent/deltas/README.md +11 -0
- package/templates/en/intent/deltas/archive/.gitkeep +0 -0
- package/templates/en/intent/deltas.md +34 -0
- package/templates/en/intent/drift-log/README.md +11 -0
- package/templates/en/intent/drift-log/archive/.gitkeep +0 -0
- package/templates/en/intent/drift-log.md +41 -0
- package/templates/en/intent/drift-patterns.md +68 -0
- package/templates/en/intent/export-log/README.md +12 -0
- package/templates/en/intent/export-log/archive/.gitkeep +0 -0
- package/templates/en/intent/export-log.md +6 -0
- package/templates/en/intent/glossary.md +23 -0
- package/templates/en/intent/intent-compass.md +55 -0
- package/templates/en/intent/intent-tree.md +59 -0
- package/templates/en/intent/milestones/README.md +10 -0
- package/templates/en/intent/milestones/archive/.gitkeep +0 -0
- package/templates/en/intent/milestones.md +22 -0
- package/templates/en/intent/mode.local.md +23 -0
- package/templates/en/intent/mode.md +32 -0
- package/templates/en/intent/modes/README.md +28 -0
- package/templates/en/intent/modes/behavior-unknown.md +57 -0
- package/templates/en/intent/modes/feature-growth.md +57 -0
- package/templates/en/intent/modes/non-code.md +46 -0
- package/templates/en/intent/modes/refactor.md +56 -0
- package/templates/en/intent/modes/standard.md +50 -0
- package/templates/en/intent/nl-spec/README.md +18 -0
- package/templates/en/intent/openspec/proposal.md +15 -0
- package/templates/en/intent/openspec/spec-delta.md +25 -0
- package/templates/en/intent/overview/README.md +18 -0
- package/templates/en/intent/packets/README.md +29 -0
- package/templates/en/intent/packets/index.md +6 -0
- package/templates/en/intent/packets/plan.md +23 -0
- package/templates/en/intent/release-note/README.md +18 -0
- package/templates/en/intent/scripts/intent-check.mjs +786 -0
- package/templates/en/intent/scripts/pre-push +27 -0
- package/templates/en/intent/spec-ingest/README.md +18 -0
- package/templates/ja/agents/claude/CLAUDE.md +62 -0
- package/templates/ja/agents/codex/AGENTS.md +62 -0
- package/templates/ja/agents/gemini/GEMINI.md +62 -0
- package/templates/ja/claude/skills/CONTRACT.md +90 -0
- package/templates/ja/claude/skills/intent-compass/SKILL.md +55 -0
- package/templates/ja/claude/skills/intent-compass/rules/algo-qoc.md +62 -0
- package/templates/ja/claude/skills/intent-compass/rules/constraint-surfacing.md +41 -0
- package/templates/ja/claude/skills/intent-discover/SKILL.md +63 -0
- package/templates/ja/claude/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
- package/templates/ja/claude/skills/intent-discover/rules/algo-gore-lite.md +35 -0
- package/templates/ja/claude/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
- package/templates/ja/claude/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
- package/templates/ja/claude/skills/intent-discover/rules/designer-questions.md +78 -0
- package/templates/ja/claude/skills/intent-discover/rules/drift-terrain.md +105 -0
- package/templates/ja/claude/skills/intent-discover/rules/mode-selection.md +31 -0
- package/templates/ja/claude/skills/intent-export-cc-sdd/SKILL.md +88 -0
- package/templates/ja/claude/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
- package/templates/ja/claude/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
- package/templates/ja/claude/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
- package/templates/ja/claude/skills/intent-export-openspec/SKILL.md +90 -0
- package/templates/ja/claude/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
- package/templates/ja/claude/skills/intent-export-openspec/rules/export-questions.md +23 -0
- package/templates/ja/claude/skills/intent-export-openspec/rules/map-openspec.md +75 -0
- package/templates/ja/claude/skills/intent-from-spec/SKILL.md +60 -0
- package/templates/ja/claude/skills/intent-from-spec/rules/extract-intent.md +56 -0
- package/templates/ja/claude/skills/intent-from-spec/rules/gap-readout.md +54 -0
- package/templates/ja/claude/skills/intent-from-spec/rules/load-bearing.md +48 -0
- package/templates/ja/claude/skills/intent-from-spec/rules/omission-recap.md +42 -0
- package/templates/ja/claude/skills/intent-improve/SKILL.md +70 -0
- package/templates/ja/claude/skills/intent-improve/rules/improve-axes.md +121 -0
- package/templates/ja/claude/skills/intent-overview/SKILL.md +63 -0
- package/templates/ja/claude/skills/intent-overview/rules/aggregate-sources.md +61 -0
- package/templates/ja/claude/skills/intent-overview/rules/gap-readout.md +54 -0
- package/templates/ja/claude/skills/intent-overview/rules/mermaid-tree.md +78 -0
- package/templates/ja/claude/skills/intent-overview/rules/progress-readout.md +119 -0
- package/templates/ja/claude/skills/intent-packets/SKILL.md +97 -0
- package/templates/ja/claude/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
- package/templates/ja/claude/skills/intent-packets/rules/algo-characterization-test.md +40 -0
- package/templates/ja/claude/skills/intent-packets/rules/algo-example-mapping.md +47 -0
- package/templates/ja/claude/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
- package/templates/ja/claude/skills/intent-packets/rules/decision-slots.md +88 -0
- package/templates/ja/claude/skills/intent-packets/rules/export-route.md +54 -0
- package/templates/ja/claude/skills/intent-packets/rules/first-packet.md +35 -0
- package/templates/ja/claude/skills/intent-packets/rules/packet-format.md +207 -0
- package/templates/ja/claude/skills/intent-packets/rules/walking-skeleton.md +35 -0
- package/templates/ja/claude/skills/intent-release-note/SKILL.md +58 -0
- package/templates/ja/claude/skills/intent-release-note/rules/format-changelog.md +40 -0
- package/templates/ja/claude/skills/intent-release-note/rules/format-github-releases.md +41 -0
- package/templates/ja/claude/skills/intent-release-note/rules/format-select.md +32 -0
- package/templates/ja/claude/skills/intent-release-note/rules/source-scope.md +42 -0
- package/templates/ja/claude/skills/intent-status/SKILL.md +171 -0
- package/templates/ja/claude/skills/intent-status/rules/decision-table.md +47 -0
- package/templates/ja/claude/skills/intent-to-spec/SKILL.md +68 -0
- package/templates/ja/claude/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
- package/templates/ja/claude/skills/intent-to-spec/rules/format-integrated.md +42 -0
- package/templates/ja/claude/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
- package/templates/ja/claude/skills/intent-to-spec/rules/format-upstream.md +41 -0
- package/templates/ja/claude/skills/intent-to-spec/rules/source-scope.md +50 -0
- package/templates/ja/claude/skills/intent-validate/SKILL.md +80 -0
- package/templates/ja/claude/skills/intent-validate/rules/validate-checks.md +121 -0
- package/templates/ja/claude/skills/intent-writeback/SKILL.md +71 -0
- package/templates/ja/claude/skills/intent-writeback/rules/writeback-protocol.md +139 -0
- package/templates/ja/codex/skills/CONTRACT.md +81 -0
- package/templates/ja/codex/skills/intent-compass/SKILL.md +52 -0
- package/templates/ja/codex/skills/intent-compass/rules/algo-qoc.md +62 -0
- package/templates/ja/codex/skills/intent-compass/rules/constraint-surfacing.md +41 -0
- package/templates/ja/codex/skills/intent-discover/SKILL.md +60 -0
- package/templates/ja/codex/skills/intent-discover/rules/algo-drift-analysis.md +34 -0
- package/templates/ja/codex/skills/intent-discover/rules/algo-gore-lite.md +35 -0
- package/templates/ja/codex/skills/intent-discover/rules/algo-impact-analysis.md +37 -0
- package/templates/ja/codex/skills/intent-discover/rules/algo-intent-recovery.md +39 -0
- package/templates/ja/codex/skills/intent-discover/rules/designer-questions.md +78 -0
- package/templates/ja/codex/skills/intent-discover/rules/drift-terrain.md +105 -0
- package/templates/ja/codex/skills/intent-discover/rules/mode-selection.md +31 -0
- package/templates/ja/codex/skills/intent-export-cc-sdd/SKILL.md +85 -0
- package/templates/ja/codex/skills/intent-export-cc-sdd/rules/drift-export-check.md +75 -0
- package/templates/ja/codex/skills/intent-export-cc-sdd/rules/export-questions.md +23 -0
- package/templates/ja/codex/skills/intent-export-cc-sdd/rules/map-cc-sdd.md +62 -0
- package/templates/ja/codex/skills/intent-export-openspec/SKILL.md +87 -0
- package/templates/ja/codex/skills/intent-export-openspec/rules/drift-export-check.md +50 -0
- package/templates/ja/codex/skills/intent-export-openspec/rules/export-questions.md +23 -0
- package/templates/ja/codex/skills/intent-export-openspec/rules/map-openspec.md +75 -0
- package/templates/ja/codex/skills/intent-from-spec/SKILL.md +58 -0
- package/templates/ja/codex/skills/intent-from-spec/rules/extract-intent.md +56 -0
- package/templates/ja/codex/skills/intent-from-spec/rules/gap-readout.md +54 -0
- package/templates/ja/codex/skills/intent-from-spec/rules/load-bearing.md +48 -0
- package/templates/ja/codex/skills/intent-from-spec/rules/omission-recap.md +42 -0
- package/templates/ja/codex/skills/intent-improve/SKILL.md +67 -0
- package/templates/ja/codex/skills/intent-improve/rules/improve-axes.md +121 -0
- package/templates/ja/codex/skills/intent-overview/SKILL.md +61 -0
- package/templates/ja/codex/skills/intent-overview/rules/aggregate-sources.md +61 -0
- package/templates/ja/codex/skills/intent-overview/rules/gap-readout.md +54 -0
- package/templates/ja/codex/skills/intent-overview/rules/mermaid-tree.md +78 -0
- package/templates/ja/codex/skills/intent-overview/rules/progress-readout.md +119 -0
- package/templates/ja/codex/skills/intent-packets/SKILL.md +94 -0
- package/templates/ja/codex/skills/intent-packets/rules/algo-additive-slicing.md +55 -0
- package/templates/ja/codex/skills/intent-packets/rules/algo-characterization-test.md +40 -0
- package/templates/ja/codex/skills/intent-packets/rules/algo-example-mapping.md +47 -0
- package/templates/ja/codex/skills/intent-packets/rules/algo-migration-slicing.md +47 -0
- package/templates/ja/codex/skills/intent-packets/rules/decision-slots.md +88 -0
- package/templates/ja/codex/skills/intent-packets/rules/export-route.md +54 -0
- package/templates/ja/codex/skills/intent-packets/rules/first-packet.md +35 -0
- package/templates/ja/codex/skills/intent-packets/rules/packet-format.md +207 -0
- package/templates/ja/codex/skills/intent-packets/rules/walking-skeleton.md +35 -0
- package/templates/ja/codex/skills/intent-release-note/SKILL.md +56 -0
- package/templates/ja/codex/skills/intent-release-note/rules/format-changelog.md +40 -0
- package/templates/ja/codex/skills/intent-release-note/rules/format-github-releases.md +41 -0
- package/templates/ja/codex/skills/intent-release-note/rules/format-select.md +32 -0
- package/templates/ja/codex/skills/intent-release-note/rules/source-scope.md +42 -0
- package/templates/ja/codex/skills/intent-status/SKILL.md +169 -0
- package/templates/ja/codex/skills/intent-status/rules/decision-table.md +47 -0
- package/templates/ja/codex/skills/intent-to-spec/SKILL.md +66 -0
- package/templates/ja/codex/skills/intent-to-spec/rules/fabrication-guard.md +41 -0
- package/templates/ja/codex/skills/intent-to-spec/rules/format-integrated.md +42 -0
- package/templates/ja/codex/skills/intent-to-spec/rules/format-nonprogram.md +45 -0
- package/templates/ja/codex/skills/intent-to-spec/rules/format-upstream.md +41 -0
- package/templates/ja/codex/skills/intent-to-spec/rules/source-scope.md +50 -0
- package/templates/ja/codex/skills/intent-validate/SKILL.md +78 -0
- package/templates/ja/codex/skills/intent-validate/rules/validate-checks.md +121 -0
- package/templates/ja/codex/skills/intent-writeback/SKILL.md +68 -0
- package/templates/ja/codex/skills/intent-writeback/rules/writeback-protocol.md +139 -0
- package/templates/ja/intent/README.md +118 -0
- package/templates/ja/intent/cc-sdd/README.md +28 -0
- package/templates/ja/intent/compass-archive/README.md +9 -0
- package/templates/ja/intent/compass-archive/archive/.gitkeep +0 -0
- package/templates/ja/intent/compass-archive.md +7 -0
- package/templates/ja/intent/constraint-library.md +32 -0
- package/templates/ja/intent/constraint-starters.md +58 -0
- package/templates/ja/intent/context-cost-cues.md +55 -0
- package/templates/ja/intent/deltas/README.md +11 -0
- package/templates/ja/intent/deltas/archive/.gitkeep +0 -0
- package/templates/ja/intent/deltas.md +34 -0
- package/templates/ja/intent/drift-log/README.md +11 -0
- package/templates/ja/intent/drift-log/archive/.gitkeep +0 -0
- package/templates/ja/intent/drift-log.md +41 -0
- package/templates/ja/intent/drift-patterns.md +68 -0
- package/templates/ja/intent/export-log/README.md +12 -0
- package/templates/ja/intent/export-log/archive/.gitkeep +0 -0
- package/templates/ja/intent/export-log.md +6 -0
- package/templates/ja/intent/glossary.md +23 -0
- package/templates/ja/intent/intent-compass.md +55 -0
- package/templates/ja/intent/intent-tree.md +59 -0
- package/templates/ja/intent/milestones/README.md +10 -0
- package/templates/ja/intent/milestones/archive/.gitkeep +0 -0
- package/templates/ja/intent/milestones.md +22 -0
- package/templates/ja/intent/mode.local.md +23 -0
- package/templates/ja/intent/mode.md +32 -0
- package/templates/ja/intent/modes/README.md +28 -0
- package/templates/ja/intent/modes/behavior-unknown.md +57 -0
- package/templates/ja/intent/modes/feature-growth.md +57 -0
- package/templates/ja/intent/modes/non-code.md +46 -0
- package/templates/ja/intent/modes/refactor.md +56 -0
- package/templates/ja/intent/modes/standard.md +50 -0
- package/templates/ja/intent/nl-spec/README.md +18 -0
- package/templates/ja/intent/openspec/proposal.md +15 -0
- package/templates/ja/intent/openspec/spec-delta.md +25 -0
- package/templates/ja/intent/overview/README.md +18 -0
- package/templates/ja/intent/packets/README.md +29 -0
- package/templates/ja/intent/packets/index.md +6 -0
- package/templates/ja/intent/packets/plan.md +23 -0
- package/templates/ja/intent/release-note/README.md +18 -0
- package/templates/ja/intent/scripts/intent-check.mjs +786 -0
- package/templates/ja/intent/scripts/pre-push +27 -0
- package/templates/ja/intent/spec-ingest/README.md +18 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# omission recap 手順(何を照合し・何が埋まらなかったかを要約し再確認を促す)
|
|
2
|
+
|
|
3
|
+
`intent-from-spec` skill が、抽出(extract-intent)と照合(gap-readout)・定性仕分け(load-bearing)を終えたあとに、**何を照合し(枠の提示)・何が埋まらなかったか**を要約して利用者に提示し、再確認を促すための正本。SKILL.md は手順と報告形式のみを持ち、「照合した枠をどう要約し、未承認項目をどう保持し、承認項目をどう昇格案内するか」は本ルールを参照する。本ルールは新たな検査・スロットを定義せず、gap-readout が紐づけた既存 ID 体系(`validate-checks.md` / `decision-slots.md`)の枠を**そのまま要約**する。観測は Read / Glob / Grep に限り、入力仕様書・canonical な `.intent/*.md`・物差しの正本を一切変更しない(書き込みは `.intent/spec-ingest/` 配下のみ)。
|
|
4
|
+
|
|
5
|
+
## なぜ recap が要るか(「沈黙の沈黙」を避ける)
|
|
6
|
+
|
|
7
|
+
本ルールの目的を冒頭に明記する。これは隣の gap-readout が「各ギャップを示す」のに対し、本ルールは「**照合した枠そのものと、埋まらなかった箇所を一覧として要約する**」役割を負う。
|
|
8
|
+
|
|
9
|
+
- 各ギャップを個別に示すだけでは、AI が**どの枠まで照合したのか**が利用者から見えない。検査した枠自体が不可視だと、利用者は「もう網羅された」と早合点して自分の探索を止めてしまう。これが「**沈黙の沈黙**」(AI が完全性を匂わせたことで人間が探索を止める不作為エラー・自動化バイアス)である。
|
|
10
|
+
- これを避けるため、recap は**照合した物差しの枠を明示的に提示する**。「どの物差しを読み(validate-checks の検査カタログ・decision-slots の8スロット)、そのうちどれが埋まり・どれが沈黙し・どれが照合できなかったか」を一覧化し、検査の輪郭そのものを利用者に見せる。
|
|
11
|
+
- 沈黙だけでなく**照合できなかった箇所**(カタログに該当 ID が無い・物差しが当該観点を持たない)も明示する。推測で埋めず、不在を不在として残す。網羅を主張しないこと自体が recap の責務である。
|
|
12
|
+
|
|
13
|
+
## recap が要約する内容
|
|
14
|
+
|
|
15
|
+
extract-intent・gap-readout・load-bearing の出力を受けて、次を観測可能な形で一覧化する。いずれも gap-readout が紐づけた既存 ID をそのまま引き、再導出・再定義しない。
|
|
16
|
+
|
|
17
|
+
1. **照合した枠(何を読んだか)** — 読んだ物差し(`validate-checks.md` の検査カタログ、`decision-slots.md` の共通コア8スロット)を提示し、検査の輪郭を見せる。
|
|
18
|
+
2. **埋まった箇所(仕様書が応えていた項目)** — 仕様書が応えていた枠を示し、recap が「沈黙だけを拾った」のではないことを観測可能にする。
|
|
19
|
+
3. **埋まらなかった箇所(沈黙)** — gap-readout が列挙したギャップを、紐づいた ID とともに一覧化する。load-bearing の定性仕分け(高い/低い)を区別できる形で併記する。
|
|
20
|
+
4. **照合できなかった箇所(不在)** — 紐づく ID が無く判断を保留した箇所を、推測で埋めずに不在として明示する。
|
|
21
|
+
|
|
22
|
+
## 承認ゲート(承認した項目のみ canonical 昇格)
|
|
23
|
+
|
|
24
|
+
recap は再確認を促すための提示であって、確定ではない。canonical への反映には利用者の明示的な承認を必須とする。
|
|
25
|
+
|
|
26
|
+
- 利用者が項目を**確認・承認**した場合に限り、その項目を canonical な意図構造(intent-tree / compass の Invariants・Anti-direction・Decision Rules)へ載せる対象とする(Req 4.2)。
|
|
27
|
+
- 利用者の確認を経ていない項目は canonical へ**自動的に反映しない**(Req 4.3)。recap が提示した時点では、すべての項目はなお仮説である。
|
|
28
|
+
- 承認されなかった項目は**破棄せず Assumptions のまま保持**する(Req 4.4)。棄却ではなく保留であり、次回以降の再確認のために派生領域(`.intent/spec-ingest/`)に残す。
|
|
29
|
+
|
|
30
|
+
## 昇格は人手コピー(機械ハンドオフを持たない)
|
|
31
|
+
|
|
32
|
+
ここが本機能の境界の要であり、明示しなければ hidden shared ownership を生む。
|
|
33
|
+
|
|
34
|
+
- spec-ingest の出力は**派生(derived)・再生成可能**であり、canonical の正本ではない。spec-ingest は派生領域に「**転記しやすい形**」で承認候補を書き出すだけである。
|
|
35
|
+
- canonical への昇格は**利用者が承認項目を手で discover / compass の対話に持ち込む人手コピー**で行う。spec-ingest が discover / compass を**呼び出すことはなく**、discover / compass が spec-ingest の出力を**自動で読み込むこともない**。両者の間に自動連携(機械ハンドオフ)は存在しない。
|
|
36
|
+
- したがって recap は「承認した項目を、利用者自身が discover / compass の対話へ転記してください」という**案内**を提示する。recap 自身が昇格を実行することはない。転記先(intent-tree の Assumptions / compass の各ブロック)へ 1:1 で写せる見出し・粒度で書き出すことで、人手転記を容易にする(昇格の継ぎ目を人手に保つ)。
|
|
37
|
+
- この分離により、派生(spec-ingest)と canonical(intent-tree / compass)の二重正本を作らず、所有権の重なり(hidden shared ownership)を避ける。
|
|
38
|
+
|
|
39
|
+
## 出力の扱い
|
|
40
|
+
|
|
41
|
+
- すべての出力は派生・再生成可能であり正本ではない。canonical な intent-tree / compass へは書き戻さない(昇格は承認後に人手)。
|
|
42
|
+
- 本ルールは物差しの正本(`validate-checks.md` / `decision-slots.md`)を一切変更せず、gap-readout・load-bearing の出力を要約するだけである。検査やスロット検証を自前で実行しない。
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: intent-improve
|
|
3
|
+
description: 実装後に .intent/ 成果物と実装の現実を completeness / correctness / coherence の3軸で突き合わせ、ズレを分類して是正案を提示する。反映はユーザー承認後のみ。書き戻し漏れは /intent-writeback へ誘導する。
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
allowed-tools: Read, Write, Glob, Grep, AskUserQuestion
|
|
6
|
+
argument-hint: <対象範囲(任意)>
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# intent-improve Skill
|
|
10
|
+
|
|
11
|
+
## Core Mission
|
|
12
|
+
- **Success Criteria**:
|
|
13
|
+
- `.intent/` 成果物と実装の現実(コードベース・テスト・cc-sdd spec の進行状況)を3軸(completeness / correctness / coherence)で評価している
|
|
14
|
+
- 評価結果を5分類(aligned / intent 強化推奨 / 是正 packet 推奨 / Decision Rules 更新推奨 / invariant 違反検出)で、根拠(ファイル / 該当記述)付きで提示している
|
|
15
|
+
- `.intent/` への反映はユーザーが承認した是正のみ(承認単位は提案ごと)
|
|
16
|
+
- 書き戻し未実施の学びを検出したら、自ら delta を書かず `/intent-writeback` の実行を促している
|
|
17
|
+
- 5分類に `Decision Rules 更新推奨` または `invariant 違反検出` を含む回では、`rules/improve-axes.md` の規定に従い `/intent-validate`(conformance 追従の点検)の実行を併せて促している(含まない回では促さない。誘導のみで自らは conformance 判定をしない)
|
|
18
|
+
- drift-watch が on のとき coherence 検出を drift-log に stage:improve・outcome:missed で記録し pattern×outcome 改善度レポートを出している(off / 未記載 / 不正値 / 節不在 / mode.md 不在のとき何もしない。5分類は不変)
|
|
19
|
+
- drift-watch が on のとき context-cost-cues を照合してコンテキストを食う進め方を気づき口調で名指している(どのログにも記録せず・pattern×outcome 集計にも含めず・5分類は不変・off のとき何もしない)
|
|
20
|
+
- アプリケーションコードを一切変更していない
|
|
21
|
+
|
|
22
|
+
## Execution Steps
|
|
23
|
+
|
|
24
|
+
### Step 1: 現状を収集する
|
|
25
|
+
- `.intent/` の成果物(intent-tree.md / intent-compass.md / `.intent/packets/index.md` + active/ 配下の packet ファイル(completeness 軸の横断読み。archive/ は読まない) / `cc-sdd/<スラッグ>/` 配下の packet 毎下書き / deltas.md)を読む。`.intent/` が無ければセットアップ(intent-planner のインストールと `/intent-discover` の実行)を案内して停止する。
|
|
26
|
+
- `.intent/mode.local.md`(無ければ旧 `.intent/mode.md`)の mode 状態を読む。無ければ standard 既定で続行し告知する。
|
|
27
|
+
- 実装の現実を収集する: コードベース(Read/Glob/Grep の読み取りのみ)、テストの有無と配置、`.kiro/specs/` の進行状況(存在する場合のみ)、deltas.md の promoted / pending エントリ。
|
|
28
|
+
- `.kiro/` が無ければ cc-sdd 文脈なしで継続する。deltas.md が無ければ「delta 記録なし」として継続する(非ブロッキング)。
|
|
29
|
+
- 引数で対象範囲が指定されていればそこに絞る。なければ `.intent/` 全体を対象とする。
|
|
30
|
+
|
|
31
|
+
### Step 2: 3軸で評価する
|
|
32
|
+
- `rules/improve-axes.md` を読み、completeness / correctness / coherence の3軸で `.intent/` と実装の現実を突き合わせる。
|
|
33
|
+
- 評価には必ず根拠(ファイル / 該当記述)を添える。根拠を示せない評価は提示しない。
|
|
34
|
+
|
|
35
|
+
### Step 3: 分類して報告する
|
|
36
|
+
- 評価結果を5分類(aligned / intent 強化推奨 / 是正 packet 推奨 / Decision Rules 更新推奨 / invariant 違反検出。複数該当可)し、分類ごとに整理して提示する。
|
|
37
|
+
- 書き戻し未実施の学びや「保留」タグ付きの見送り項目を検出したら、`rules/improve-axes.md` の規定に従い `/intent-writeback` への誘導を併記する。
|
|
38
|
+
- 5分類に `Decision Rules 更新推奨` または `invariant 違反検出` を含む回は、`rules/improve-axes.md` の「validate 追従誘導」規定に従い `/intent-validate`(conformance 追従の点検)への誘導を writeback 誘導と並置で併記する(含まない回は併記しない。誘導のみで自らは判定しない)。
|
|
39
|
+
- drift-watch が on のとき(off / 未記載 / 不正値 / 節不在 / mode.md 不在は何もしない): `.intent/mode.md` の `## Drift-watch(ユーザー管理)` セクションの `drift-watch` 値を確認し、`on` のときのみ、`rules/improve-axes.md` の規定に従い coherence 軸で検出した逸脱(invariant 違反 / anti-direction 抵触)を `.intent/drift-log.md` へ `stage: improve` / `outcome: missed` の下書きとして記録し、`pattern × outcome` クロス集計の改善度レポートを出す。記録手順の詳細(9キー固定順・append-only・commit 取得・drift-log 不在時の新規作成)は `rules/improve-axes.md` に委ねる(ここでは重複させない)。この記録は**新しい是正分類を作らず**(上の5分類は不変)、deltas.md への書き込みや writeback フックも行わない。off / 未記載 / 不正値 / 節不在 / mode.md 不在のときは drift 記録・集計を行わず現行どおり進む(現行動作とバイト等価)。なお上の5分類の報告は drift-watch の値によらず常に行う。あわせて `drift-watch: on` のとき、`rules/improve-axes.md` 末尾の「コンテキストコストの気づき」節に従い `.intent/context-cost-cues.md` を照合してコンテキストを食う進め方を気づき口調で名指す(**どのログにも記録せず・pattern × outcome 集計にも含めず・5分類も不変**。カタログ不在ならスキップ)。
|
|
40
|
+
|
|
41
|
+
### Step 4: 是正案を提案ごとに承認確認する
|
|
42
|
+
- 是正が必要な項目ごとに是正案(成果物の更新案または是正 packet 案)を提示し、**提案ごとに**ユーザーの承認を確認する(一括承認を強要しない)。
|
|
43
|
+
- 承認されなかった提案は提示のみで終了する(書き換えない)。
|
|
44
|
+
|
|
45
|
+
### Step 5: 承認された是正のみ反映する
|
|
46
|
+
- 承認された是正のみ canonical 成果物(intent-tree.md / intent-compass.md / `.intent/packets/` 配下(対象 packet ファイル・plan.md))へ反映する。
|
|
47
|
+
- `.intent/packets/` 配下の canonical を変更した場合(delta 昇格を対象 packet ファイルへ反映した時を含む)、`.intent/packets/index.md` を active/ 配下の frontmatter から再生成する。
|
|
48
|
+
- Decision Rules を変更する是正は `rules/improve-axes.md` の変更規約(ADR 形式で新エントリ追加 + 旧エントリへ superseded・後継参照を明記して `.intent/compass-archive/<rule-slug>.md`(rule 単位ファイル)へ退避)に従う。
|
|
49
|
+
- deltas.md には書き込まない(delta の記録・見送りタグの確定更新は `/intent-writeback` の責務)。
|
|
50
|
+
|
|
51
|
+
## Output Description
|
|
52
|
+
|
|
53
|
+
**読み手**: 実装後に意図と実装のズレを承認・是正する人間開発者。
|
|
54
|
+
**この出力で最初に掴ませること**: 「**実装と意図のズレはここ(invariant 違反があれば最優先)。承認待ちは N 件**。書き戻し漏れがあれば `/intent-writeback` へ」。3軸評価の内訳は判断材料の詳細。
|
|
55
|
+
|
|
56
|
+
出力は結論(ズレと承認待ち)を先頭に立てる。
|
|
57
|
+
|
|
58
|
+
- **ズレのサマリ(先頭)**: 検出した是正の要点を分類で示す。`invariant 違反検出` があれば最優先で筆頭に立てる。すべて `aligned`(ズレなし)なら「整合済み・是正不要」と明言する。
|
|
59
|
+
- **承認待ちリスト(次・提案ごと)**: 各是正案に根拠(ファイル / 該当記述)を添える。何を承認すれば何が反映されるかが分かる形。
|
|
60
|
+
- **writeback 誘導**(該当時): 書き戻し未実施の学びを検出したら `/intent-writeback` の実行案内。
|
|
61
|
+
- **validate 追従誘導**(該当時): 5分類に `Decision Rules 更新推奨` / `invariant 違反検出` を含む回は、writeback 誘導と並置で `/intent-validate`(conformance 追従の点検)の実行案内を添える。
|
|
62
|
+
- **詳細**: 3軸評価サマリ(completeness / correctness / coherence)と分類別(aligned / intent 強化推奨 / 是正 packet 推奨 / Decision Rules 更新推奨 / invariant 違反検出)の内訳。
|
|
63
|
+
- **改善度レポート**(drift-watch=on のとき): drift-log を `pattern × outcome` でクロス集計したレポート。誠実さ注記(`missed=0` は記録漏れの疑い / `false-positive` 多発は anti-direction が広すぎる疑い)を必ず添え、集計キーは型(pattern)に揃え、群間比較(なし群 / あり群)は型 id と drift-log の `commit` 列のみで成立させる(追加の比較機構は作らない)。
|
|
64
|
+
|
|
65
|
+
## Safety & Fallback
|
|
66
|
+
- ユーザー承認なしに `.intent/` 成果物を書き換えない。承認は提案ごとに確認する。
|
|
67
|
+
- アプリケーションコードは変更しない(INV6。コードは Read/Glob/Grep の読み取りのみ)。
|
|
68
|
+
- `.kiro/` には書き込まない(進行状況の読み取りのみ)。`.kiro/` 不在は cc-sdd 文脈なしで継続する。
|
|
69
|
+
- deltas.md には直接書き込まない。書き戻し漏れ・保留項目への対応は `/intent-writeback` への誘導のみで、確定更新は writeback が行う。
|
|
70
|
+
- `.intent/` 不在はセットアップを案内して停止する。mode.md 不在は停止せず standard 既定で続行し告知する。
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Improve: 3軸評価と分類基準
|
|
2
|
+
|
|
3
|
+
実装後の再整合で `.intent/` 成果物と実装の現実を突き合わせる規則。`intent-improve` skill が使う。writeback が packet 単位の通常経路であるのに対し、improve は packet に紐づかない drift も拾う全体横断の safety net である。
|
|
4
|
+
|
|
5
|
+
## 評価3軸
|
|
6
|
+
|
|
7
|
+
- **completeness**(意図した内容が実現されているか): active/ 配下の packet ファイルの Expected Behavior / Scope が実装とテストに現れているか(横断読みは active/ 限定。archive/ は読まない)。未実現・部分実現を検出する。
|
|
8
|
+
- **correctness**(実現された内容が意図に合っているか): 実装された挙動が packet の Why / Expected Behavior と一致しているか。意図と異なる実現・意図外の追加を検出する。
|
|
9
|
+
- **coherence**(実装が North Star・Invariants・Decision Rules と整合しているか): intent-compass.md の North Star / Invariants / Anti-direction / Decision Rules と実装が矛盾していないか。局所最適や invariant 違反を検出する。また、intent-compass.md の Decision Rules の Revisit when 条件の成立が、実装の現実・`deltas`(分割形横断読み: 分割形 `.intent/deltas/*.md` 群(あれば正本・自然キー昇順)→ 無ければ旧 `.intent/deltas.md`(生成ミラー)への read fallback。共存時は分割形を正本とし、ミラーを二重に数えない)から読み取れる Decision エントリを検出する。検出は既存分類「Decision Rules 更新推奨」として根拠付きで報告する(新しい分類は作らない)。さらに、入力源を異にする別経路として、`.intent/milestones.md` の各 event 文字列を全 Decision Rule の `Revisit when` 欄と substring 照合し、合致した Decision Rule を同じ「Decision Rules 更新推奨」分類として見直し再提案する。`Revisit when` が「未定」と明示されている Rule は照合対象外とする(誤った発火を生まない)。event が短すぎる過剰一致を避けるため、十分具体的な event(一定長以上)を前提とする。この milestones 起点の照合は read-only・報告のみで行い、compass を自動書き換えせず、新しい是正分類も作らない。実装/deltas 起点の Revisit 検出と milestones 起点の照合は併存し、いずれも「Decision Rules 更新推奨」分類で報告する。
|
|
10
|
+
|
|
11
|
+
## 分類(5種・複数該当可)
|
|
12
|
+
|
|
13
|
+
- **aligned**: ズレなし。3軸とも整合している(是正不要。整合の根拠は添える)。
|
|
14
|
+
- **intent 強化推奨**: 実装は妥当だが `.intent/` 側の記述が薄い・暗黙のまま。成果物(intent-tree.md / intent-compass.md / packet ファイル)の追記・明確化の更新案を提示する。
|
|
15
|
+
- **是正 packet 推奨**: 実装側にズレがあり、コード変更が必要。improve はコードを変更しないため、是正作業を新しい packet 案として提示する(新規 packet ファイル(active/ 配下)の追加案 → export → cc-sdd 実装の通常経路へ)。
|
|
16
|
+
- **Decision Rules 更新推奨**: 実装で得た判断が既存の Decision Rules と食い違う、または新しい判断基準が必要。Revisit when 条件の成立が検出された Decision エントリの見直しもこの分類として報告する。下記の「Decision Rules 変更規約」に従う。
|
|
17
|
+
- **invariant 違反検出**: 実装が Invariants に違反している。最優先で報告し、是正 packet 案または invariant 自体の見直し(ユーザー判断)を提示する。
|
|
18
|
+
|
|
19
|
+
複数該当する場合はすべて挙げ、報告は分類ごとに整理する。
|
|
20
|
+
|
|
21
|
+
## 証拠の扱い
|
|
22
|
+
|
|
23
|
+
- 実装の現実の参照元: コードベース(Read/Glob/Grep のみ、変更禁止)、テストの有無と配置、`.kiro/specs/` の進行状況、`deltas`(promoted / pending。分割形横断読み)。いずれも**読み取りのみ**。
|
|
24
|
+
- **`deltas` は分割形で横断読みする(CONTRACT「append-only 記録の分割・archive 規約」。`intent-overview` の `aggregate-sources.md` と同一規律)**: 分割形 `.intent/deltas/*.md` 群(あれば正本・自然キー昇順)→ 無ければ旧 `.intent/deltas.md`(生成ミラー)への read fallback の順で読み、共存時は分割形を正本としてミラーを二重に数えず、archive は履歴として active 集計に混ぜない(read-only)。
|
|
25
|
+
- 評価には必ず根拠(ファイル / 該当記述)を添える。根拠を示せない評価・是正案は提示しない。
|
|
26
|
+
|
|
27
|
+
## Decision Rules 変更規約(writeback と同一規約)
|
|
28
|
+
|
|
29
|
+
- Decision Rules を変更する是正は、intent-compass.md の既存 ADR 形式(**Context** / **Decision** / **Why** / **Alternatives considered** / **Consequences** / **Revisit when**)で**新エントリを追加**し、置き換えられる旧エントリに superseded である旨と後継エントリへの参照を注記する。
|
|
30
|
+
- superseded を注記した旧エントリは、6欄の内容のまま(要約しない)退避する Decision Rule の **rule 単位ファイル** `.intent/compass-archive/<rule-slug>.md` へ move する(CONTRACT 分割・archive 規約。`<rule-slug>` は既存スラッグ規則で導出・新採番なし・同一 rule の再 supersede は同ファイル)。`compass-archive/` ディレクトリが無ければ作る。active な Decision Rules エントリは引き続き compass 内に直接記載のまま保つ。
|
|
31
|
+
- 旧エントリは削除しない(履歴は compass-archive.md に保持される)。独自フィールド(例: Supersedes)を導入しない。
|
|
32
|
+
- 6欄形式の導入前に記録された旧4欄エントリ(Alternatives considered / Revisit when を持たないもの)は有効として扱い、欄の不足をエラー・指摘・書き換えの対象にしない。
|
|
33
|
+
|
|
34
|
+
## writeback 誘導(safety net の役割分担)
|
|
35
|
+
|
|
36
|
+
- 書き戻し未実施の学び — 現行 Source Packet(最新 export)に対応する delta エントリが `deltas`(分割形横断読み: `.intent/deltas/*.md` 群(あれば正本)→ 無ければ旧 `.intent/deltas.md` への read fallback。二重計上しない)に無い、または実装に現れた未記録の決定 — を検出したら、自ら delta を書かず `/intent-writeback` の実行を促す。
|
|
37
|
+
- 「保留」タグ付きの見送り項目が残っている場合は、再提案または却下への確定を促すのみとする。タグの確定更新(昇格 / 却下確定 / 継続保留)は `/intent-writeback` の責務。
|
|
38
|
+
- improve は `deltas` 記録(分割形 / 旧単一ミラーいずれの形でも)に書き込まない(delta の記録・状態更新はすべて writeback が行う)。
|
|
39
|
+
|
|
40
|
+
## validate 追従誘導(conformance の点検への橋渡し)
|
|
41
|
+
|
|
42
|
+
- その回の5分類に `Decision Rules 更新推奨` または `invariant 違反検出` が含まれる場合(=compass の Decision Rules / Invariants に影響する反映が生じうる回)に限り、writeback 誘導と並置で `/intent-validate`(compass 更新が各 packet に追随しているかの照合=conformance 陳腐化の点検)の実行を促す1文を添える。`aligned` のみの回や上記2分類を含まない回では添えない(過剰誘導の回避)。
|
|
43
|
+
- improve 自身は conformance 陳腐化の判定(頃合いの概算)をしない。頃合いの概算は intent-status の責務であり、improve は誘導のみ。確定診断は `/intent-validate` が行う。
|
|
44
|
+
- 本誘導は誘導文の追加に閉じ、3軸評価(completeness / correctness / coherence)と5分類のロジックを一切変更しない(5分類は不変)。
|
|
45
|
+
|
|
46
|
+
## drift-log への記録(drift-watch 連動)
|
|
47
|
+
|
|
48
|
+
`drift-watch: on` のときだけ、coherence 軸で検出した逸脱(invariant 違反 / anti-direction 抵触)を `.intent/drift-log.md` へ事後記録として写す。`off` / 未記載 / 不正値のときは記録しない(現行動作とバイト等価。off ガードは SKILL.md 側で保証)。
|
|
49
|
+
|
|
50
|
+
### 記録手順
|
|
51
|
+
|
|
52
|
+
- coherence 軸が検出した逸脱(invariant 違反 / anti-direction 抵触)を**改めて検出し直すのではなく流用し**、`.intent/drift-log.md` へ `stage: improve` のエントリとして1件ずつ append する。値は:
|
|
53
|
+
- `pattern: <該当する drift-patterns の id | uncatalogued:<短い名> | ->`(特定できれば id、カタログ外の実逸脱なら `uncatalogued:<短い名>`、判別できなければ `-`)
|
|
54
|
+
- `stage: improve`
|
|
55
|
+
- `packet: <帰属する packet 名 | ->`(帰属を特定できなければ `-`)
|
|
56
|
+
- `mechanism: compass-invariant`(Invariant に違反したとき)または `compass-anti-direction`(Anti-direction に抵触したとき。どちらの compass 要素に抵触したかで選ぶ)
|
|
57
|
+
- `outcome: missed`(**下書き**。improve の時点では逸脱は既に起きて通り抜けたあとなので基本は `missed`。確定は利用者の `user-verdict` が valid / false-alarm / unjudged で裏づける)
|
|
58
|
+
- `user-verdict: unjudged`
|
|
59
|
+
- `recorded_at: <ISO 8601>`
|
|
60
|
+
- `commit: <短縮ハッシュ | ->`
|
|
61
|
+
- `note: <1〜2行>`(何に違反・抵触したか)
|
|
62
|
+
- 複数の逸脱が検出されたら、逸脱ごとに1エントリずつ append する。
|
|
63
|
+
- **分割形で書く(CONTRACT「append-only 記録の分割・archive 規約」)**: drift-log は事象由来なので、単一 `drift-log.md` 末尾へ追記せず **日付+slug 単位の分割ファイル** `drift-log/<date>-<slug>.md` へ1エントリ書く。`<date>` は recorded_at の日付、`<slug>` は pattern(事象)を既存スラッグ規則(`intent-packets/rules/packet-format.md`)で導出する(新採番・連番を作らない)。別事象が別ファイルを触るため末尾衝突が原理的に消える。既存エントリは書き換え・削除しない(**append-only**)。
|
|
64
|
+
- **9キーを固定順で必ず全部書く**: `pattern` → `stage` → `packet` → `mechanism` → `outcome` → `user-verdict` → `recorded_at` → `commit` → `note`。9キーのうち1つでも欠けたエントリは書かない。
|
|
65
|
+
- **commit**: `git rev-parse --short HEAD` の結果を書く。非リポジトリ・git CLI 不在などで取得できないときは `-` とする(fail-open。記録は続行する)。
|
|
66
|
+
- **`drift-log/` ディレクトリが不在のとき**: ディレクトリを作ってから分割ファイルを書く。旧単一 `drift-log.md` が残っていても読み手は共存して読める(移行は本スライスの migration が担う)。エントリ書式は `.intent/drift-log.md` の「エントリ書式」節の見本(`### drift-log entry`)に従う。
|
|
67
|
+
|
|
68
|
+
### 新しい是正分類を作らない(記録と是正の分離)
|
|
69
|
+
|
|
70
|
+
- この記録は**新しい是正分類を作らない**。上記「分類(5種)」(aligned / intent 強化推奨 / 是正 packet 推奨 / Decision Rules 更新推奨 / invariant 違反検出)は一切変えない。coherence 軸で検出した逸脱を、是正分類とは別に**drift-log のスキーマへも写す**だけである。
|
|
71
|
+
- **drift-watch は記録し、improve は是正する**。記録(drift-log)と是正(5分類)は別の責務であり、混ぜない。drift-log への append は是正を一切代替・変更しない。
|
|
72
|
+
|
|
73
|
+
## 改善度レポート(pattern × outcome クロス集計)
|
|
74
|
+
|
|
75
|
+
`drift-watch: on` のとき、improve は出力に drift-log を `pattern × outcome` でクロス集計した改善度レポートを併せて提示する。
|
|
76
|
+
|
|
77
|
+
- **集計キーは型(pattern)に揃える**。利用者が「なし群(過去の失敗作)/ あり群(drift-watch 稼働期間)」を後から突合できる構造は、**型 id と drift-log の `commit` 列のみ**で成立させる(追加の比較機構は作らない)。
|
|
78
|
+
- レポートには次の**誠実さ注記**を必ず添える:
|
|
79
|
+
- `missed=0` は「効いた証拠」ではなく「記録漏れの疑い」と読む(効いた瞬間だけが集計に残るのは確証バイアス)。
|
|
80
|
+
- `false-positive` の多発は anti-direction が広すぎる疑いを示す。
|
|
81
|
+
- これらの注記は `.intent/drift-log.md` の正直注記と同趣旨であり、効いた系(prevented / caught)に偏らない読み方を担保する。
|
|
82
|
+
|
|
83
|
+
### packet-scope-overflow を「第一防御の効きを測る計器」として読む(DR9 第二防御)
|
|
84
|
+
|
|
85
|
+
`mechanism: packet-scope-overflow` のエントリ(export 後にユーザーが対象 packet の `## Scope` を超える実装指示を出したときに drift-watch が記録する第二防御由来の検知)は、**第一防御(規約文書の「スコープ超過なら intent に戻る」規律=想起のみ・強制力なし)が実際に効いているか**を測る計器として読む。同じ pattern × outcome クロス集計に乗せるが、読み方の規律を1つ足す:
|
|
86
|
+
|
|
87
|
+
- `outcome: caught`(ユーザーが警告を容れて `/intent-packets`→再 export で intent に戻った)=第一防御+第二防御が効いた瞬間。
|
|
88
|
+
- `outcome: missed`(警告を無視して cc-sdd で押し切った)=第一防御の想起が効かなかった瞬間=**意図流動率(scope-creep の発生率)の母数**。これが溜まることで初めて「第一防御がどれだけ効いていないか」が観測できる(鶏卵: 第一防御の効きを測る機構そのものが第二防御の中にある)。
|
|
89
|
+
- `outcome: false-positive`(実際は妥当なスコープ拡張だった)=照合が過敏な疑い。
|
|
90
|
+
- **数値スコアリング・閾値ソルバーは持ち込まない**。「caught が増えれば第一防御が効いている」と断定せず、`missed=0`=記録漏れの疑い・`false-positive` 多発=照合過敏、の正直注記をそのまま継承して候補提示に留める。集計キーは型(pattern=`scope-creep` または `uncatalogued:scope-overflow`)に揃え、追加の比較機構は作らない。
|
|
91
|
+
|
|
92
|
+
## 役割境界(記録・是正・writeback の三分立)
|
|
93
|
+
|
|
94
|
+
- **drift-watch は writeback にフックを差さない**(要件 R8)。writeback の単一責務=delta の二段階昇格を濁さないため、drift-log への記録は writeback 経路には一切干渉しない。上記「writeback 誘導」の挙動は変更しない。
|
|
95
|
+
- 記録(drift-log)・是正(5分類)・writeback(delta の二段階昇格)は**別個の3責務**である。三者を混ぜない。
|
|
96
|
+
|
|
97
|
+
## コンテキストコストの気づき(drift-watch 連動)
|
|
98
|
+
|
|
99
|
+
coherence 軸の評価と並んで、実装後の振り返り(realignment)の進め方がコンテキスト(トークン)を食っていないかに**気づかせる**照合を行う。drift-patterns(意図逸脱の型)とは**別カタログ**であり、症状(symptom)が「意図逸脱」ではなく「コンテキストを食う場面」である点だけが異なる。これは規範ではなく気づきであり、上の「drift-log への記録」「改善度レポート(pattern×outcome 集計)」とは性質が違うので**手順を分けて持つ**。
|
|
100
|
+
|
|
101
|
+
- **`drift-watch: on` のときだけ**この照合を行う(off / 未記載 / 不正値のとき何もしない)。`.intent/context-cost-cues.md` が不在のときは照合をスキップしてその旨を告知する(停止しない)。
|
|
102
|
+
- **これはどのログにも記録しない**。上の coherence 逸脱検出(`drift-log.md` へ append し pattern×outcome 集計する)とは異なり、コンテキストコストの気づきは **`drift-log.md` にも他のどのログにも append しない**。理由: 消費量は計測できず outcome を評価できないため、ログに混ぜると drift-log の集計を推測値で汚す。さらに何が文脈を食うかは人により正当に異なり、記録すればプライバシーに踏み込む。**上の「drift-log への append 手順」「改善度レポートの集計」をこの照合には適用せず、pattern×outcome 集計にも含めない**。
|
|
103
|
+
- **5分類は不変**: この気づきは既存の5分類(aligned / intent 強化推奨 / 是正 packet 推奨 / Decision Rules 更新推奨 / invariant 違反検出)を一切変えない。是正分類とは別の、ログに残さない助言として提示する。
|
|
104
|
+
|
|
105
|
+
### 手順
|
|
106
|
+
|
|
107
|
+
1. **context-cost-cues.md を読む**
|
|
108
|
+
- `.intent/context-cost-cues.md` を読み、全型(seed + 利用者が育てた型すべて)を取得する。不在ならスキップして告知する(停止しない)。
|
|
109
|
+
|
|
110
|
+
2. **各型の symptom を realignment の進め方と照合する**
|
|
111
|
+
- 各型の `symptom` を、実装後の振り返り(コードや done を読む経路・題材)に照らす。`symptom` は弱い手がかりで、当てはまりが弱ければ黙る(誤検知より黙る側に倒す=気づき機能の信頼を保つ)。
|
|
112
|
+
- 照合に使うのは題材のみ。トークン消費量・git 差分・実行時メトリクスは読まない。
|
|
113
|
+
|
|
114
|
+
3. **該当型があるとき(気づきの提示・ログには書かない)**
|
|
115
|
+
- 利用者に気づき口調で名指しする。例:「この振り返りの進め方は `<id>` に当てはまるかもしれません — これがコンテキストを食っている可能性があります」。
|
|
116
|
+
- その型の「もし意図せず効いていれば」の軽い代替(薄い入口 / JIT pull / 入力限定)を、**任意の選択肢**として添える。例:「もし意図せず効いていれば、<軽い代替> もあります(判断はお任せします)」。
|
|
117
|
+
- **矯正・指図をしない**。命令形・断定で言わず、気づきの提示に留める。大量スキルの導入・全文ロード等は正当な高コスト選択でありうるので、コストを食う選択を不要と断じない。判断は利用者に委ねる。
|
|
118
|
+
- **どのログにも append しない**(coherence 逸脱の append 手順・集計を流用しない)。
|
|
119
|
+
|
|
120
|
+
4. **該当型がないとき**
|
|
121
|
+
- 何も名指さない。**ログにも書かない**(空振りの記録もしない=そもそもこの照合はログを持たない)。
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: intent-overview
|
|
3
|
+
description: 散在する .intent/ 成果物を read-only で読み、整形済みの通読・俯瞰ビューを .intent/overview/ 配下に派生(derived)として生成する集約スキル。canonical な成果物は一切変更しない。
|
|
4
|
+
allowed-tools: Read, Glob, Grep, Write
|
|
5
|
+
argument-hint: なし
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# intent-overview Skill
|
|
9
|
+
|
|
10
|
+
## Core Mission
|
|
11
|
+
- **Success Criteria**:
|
|
12
|
+
- 散在する `.intent/` の既存成果物(intent-tree / intent-compass / packets の index・active / packets/plan / export-log / deltas / mode / drift-log)を read-only で読み、人間とエージェントが一度に通読できる整形済み俯瞰ビューを `.intent/overview/overview.md` に生成している(R1.1)
|
|
13
|
+
- 生成物を派生(derived)として扱い、canonical な `.intent/*.md` 成果物を一切作成・変更・削除していない。書込み先は `.intent/overview/` 配下限定である(R1.2)
|
|
14
|
+
- 再実行時は最新の成果物から俯瞰ビューを全置換で再生成し、正本との二重化を生んでいない(冪等な再生成。R1.3)
|
|
15
|
+
- `.intent/` または必須成果物(intent-tree など)が存在しないとき、何も書き込まず不在を明示し、先に実行すべき該当スキル(例: `/intent-discover`)を案内している(R1.4)
|
|
16
|
+
- 生成物が派生・再生成可能であり正本ではないこと(および Git 非追跡であること)を明示している(読み手の関心を優先し、ビュー末尾に退避してよい。R1.5)
|
|
17
|
+
- 関心ごとの派生ビュー(意図ビュー / 依存・ブロックビュー / 進捗ビュー)として整理し、進捗を単一%でなく性質の異なる軸で映している
|
|
18
|
+
- ビュー最上段に全 packet を1本の工程レールとして並べ、各行に5信号 + `[現在の工程 → 次に通る工程]` を併記し、「今どの packet が 🔵 今ここで・この後どの工程が残り・どこに ⚪ 残工程 / 🔴 反映漏れがあるか」を一望できるようにしている(5信号と `state` を read-only で映すのみで、状態を算出・推論しない)
|
|
19
|
+
- canonical な意図と inferred(推測)な意図、設計意図と実装実態を区別したまま集約し、欠落・未観測は「未記入/未観測」と明示して推測で埋めていない
|
|
20
|
+
- 他スキルを直接呼ばず、scaffold ファイル(`.intent/*.md`)を介した読み取りと出力テキストの案内のみで連携している(R6.5)。状態機械・自律ループ・常駐プロセスを持たず、外部依存ゼロを維持している(R6.1 / R6.2)
|
|
21
|
+
|
|
22
|
+
## Execution Steps
|
|
23
|
+
|
|
24
|
+
### Step 1: `.intent/` と必須成果物の存在を確認する(fail-fast)
|
|
25
|
+
- 利用者が俯瞰ビューの生成を要求したとき、まず `.intent/` ディレクトリの存在を確認する。
|
|
26
|
+
- `.intent/` または必須成果物(少なくとも `.intent/intent-tree.md`)が存在しない場合は、**何も書き込まず**に不在を明示し、先に実行すべき該当スキル(例: `/intent-discover`)を案内して終了する(fail-fast。R1.4)。この時点では `.intent/overview/overview.md` を生成・更新しない。
|
|
27
|
+
- `.intent/mode.md` を読む(無くても停止しない。enforcement / drift-watch の値は後続 Step で参照する。読み取りのみで変更しない)。
|
|
28
|
+
|
|
29
|
+
### Step 2: ソースを読み取り、4 つの rules に委譲して集約する
|
|
30
|
+
- 本スキルは独自の解析・逆算・検査ロジックを持たない。各観点の正確な読み取り規則は以下 4 つの rules に委譲する(相対パスで参照)。各 rules が指定する正確な見出し・キー・列名に従い、canonical と inferred を区別し、欠落・未観測は明示する(推測で埋めない)。
|
|
31
|
+
- `rules/aggregate-sources.md` — 意図ドキュメント集約(intent-tree の L0–L4 / intent-compass の North Star・Anti-direction・Invariants・Decision Rules / packets の index・active / plan / export-log / deltas)。canonical な意図と inferred(intent-tree の Assumptions / Open Questions 由来)を分離する。逆算は refactor モードの `algo-intent-recovery` 出力を読むのみで、独自の AST / スキャナ逆算は行わない。逆算が未取得なら不在を明示し該当 algo を案内する(R2.x / R4.x)。
|
|
32
|
+
- `rules/mermaid-tree.md` — intent-tree の L0→L4 を純 Mermaid `graph` として描画し、対応するテキスト階層を正本として併記する。intent-tree が空/未生成なら Mermaid を省略し理由を明示する(R3.x)。
|
|
33
|
+
- `rules/gap-readout.md` — drift-log と intent-validate の検査軸を**再実装せず読み取り**、「設計意図 vs 実装実態」のギャップとして集約する。`mode.md` の `## Drift-watch(ユーザー管理)` が `on` かつ `drift-log.md` が存在するときのみ drift を集約し、`off`/未記載/不在のときは当該ブロックを省略して未観測を明示する。validate 軸は `validate-checks.md` の安定 kebab-case ID カタログに紐づける。`## Enforcement(ユーザー管理)` / `## Drift-watch(ユーザー管理)` は読取のみ・変更しない(R5.x)。
|
|
34
|
+
- `rules/progress-readout.md` — 進捗を単一%でなく 3 軸(意図の安定度 / 実現の完了度 / 証拠の確定度)に分け、各軸を既存成果物の読み取りから導いて出所を明示する。軸間のズレは潰さずそのまま提示する。packet frontmatter の `depends_on` を読んでブロック状態を read-only 導出し(依存は宣言を読むだけで推論・算出しない)、循環・未解決依存があれば明示する。関心別の派生ビュー(意図 / 依存・ブロック / 進捗)として整理する。対応成果物が無い軸・ビューは「未観測/未生成」と明示し省略する(R8.x / R9.x)。
|
|
35
|
+
- 分岐方針: inferred の有無、drift-watch の on/off で分岐し、不在なら該当ブロックを省略してその状態を明示する(推測で埋めない)。後方互換として、`depends_on` 不在の既存 packet は「依存なし」、`## Evidence` 不在は「未記入」、旧 3 値 state(`draft|active|done`)の `active` は「進行中(実装中相当)」として読む(rules の規則に従う)。
|
|
36
|
+
|
|
37
|
+
### Step 3: 俯瞰ビューを最後に書き込む(全置換・派生)
|
|
38
|
+
- すべての読み取りと集約が終わってから、**最後に** `.intent/overview/overview.md` を**全置換**で書き込む(再生成の冪等性。R1.3)。canonical な `.intent/*.md` には一切書き込まない。
|
|
39
|
+
- 書き込む内容の構成順は「Output Description」に従う(最上段に工程レール=結論、続いて関心別ビュー、**末尾に派生・正本ではない旨の注記**)。読み手(人間開発者)の「今どこ・この先どうなる」を最優先し、派生注記でビュー冒頭を埋めない。
|
|
40
|
+
- 本ビューが派生(derived)であり・再生成可能であり・正本ではなく・Git 非追跡であることは末尾の注記で明示する(R1.2 / R1.3 / R1.5)。各派生ビューが derived・再生成可能であること(正本ではないこと)も同様に各ビューの注記で示す(R9.5)。
|
|
41
|
+
|
|
42
|
+
## Output Description
|
|
43
|
+
|
|
44
|
+
**読み手**: `.intent/` 全体を通読したい人間開発者(と、後続で読む AI)。
|
|
45
|
+
**この出力で最初に掴ませること**: 「いま全 packet のうちどれが 🔵 今ここで、各 packet がこの後どの工程を通り、どこに 🔴 反映漏れ・⚪ 残工程があるか」。派生・正本ではない旨などツール内部の注記は読み手の関心ではないため**末尾に退避**する。
|
|
46
|
+
|
|
47
|
+
ビュー冒頭は次の順で構成する(人間が「今どこ・この先どうなる」に最短で辿り着く順)。
|
|
48
|
+
|
|
49
|
+
1. **工程レール(最上段・結論)**: 全 packet を縦に並べ、各行に5信号(✅ 反映済 / 🔵 今ここ / ⚪ 未着手 / 🔴 反映漏れ / ◻ 統合済)と、それに続けて `[現在の工程 → 次に通る工程]` を併記する(`progress-readout.md`「各行に `[現在の工程 → 次に通る工程]` を併記する」に従う)。これにより「P いくつが今ここで、この後どの工程が残るか」「どこに反映漏れ・残工程があるか」を1枚で一望させる。
|
|
50
|
+
2. **関心別の派生ビュー**(レールの内訳):
|
|
51
|
+
- **意図ビュー**: intent-tree(L0–L4)の Mermaid 図 + テキスト階層、intent-compass、packets 一覧(plan / export-log / deltas を文脈として併記)。canonical と inferred を区別。
|
|
52
|
+
- **依存・ブロックビュー**: packet 間の `depends_on` に基づく依存関係とブロック状態(あれば循環・未解決依存も明示)。
|
|
53
|
+
- **進捗ビュー**: 3 軸(意図の安定度 / 実現の完了度 / 証拠の確定度)と各軸の出所、軸間のズレ、設計意図 vs 実装実態のギャップ集約(工程レールは 1. で先頭に出すため、ここでは3軸の内訳に集中する)。
|
|
54
|
+
3. **末尾の注記**: 本ビュー全体および各ビューが派生(derived)・再生成可能・Git 非追跡であり正本ではないこと(R1.2 / R1.3 / R1.5 / R9.5)。素材が無いビュー・軸は省略し理由(未観測/未生成)を明示する。
|
|
55
|
+
|
|
56
|
+
## Safety & Fallback
|
|
57
|
+
- **書込み境界**: 書込み先は `.intent/overview/` 配下限定である。canonical な `.intent/*.md` は read-only であり、そこへは作成・変更・削除を一切行わない(frontmatter の `Write` は `.intent/overview/` 配下への書き込みのためにのみ許可される)。
|
|
58
|
+
- **他スキルを直接呼ばない**: 連携は scaffold ファイル(`.intent/*.md`)を介した読み取りと、出力テキストでの案内のみで行う(R6.5)。逆算(`algo-intent-recovery`)/検査(intent-validate)/drift(drift-watch)の判定ロジックは持たず、それらが残した出力・定義を読むだけである。
|
|
59
|
+
- **状態機械・自律ループ・常駐プロセスを持たない**(R6.1)。出力ビュー自体が読み取り時点のスナップショットとして機能する。
|
|
60
|
+
- **外部依存ゼロ**(INV2 / R6.2)。外部パッケージを導入せず、Node 標準と自然言語ヒューリスティクスに限定する。
|
|
61
|
+
- **アプリケーションコードを変更しない**(INV6 / R6.3)。
|
|
62
|
+
- **前提不在時**: `.intent/` または必須成果物が無いとき、何も書き込まず不在を明示し、先に実行すべきスキル(例: `/intent-discover`)を案内して終了する(R1.4)。
|
|
63
|
+
- **部分欠落時**: inferred 未取得 / drift-watch off / intent-tree 空などは、当該ブロックを省略し「未取得/未観測/未生成」を明示する(推測で埋めない)。Mermaid 生成不能のときはテキスト階層を正本として提示し図を省略、理由を注記する。
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# 意図ドキュメント集約手順(read-only・派生再生成)
|
|
2
|
+
|
|
3
|
+
`intent-overview` skill が散在した `.intent/` 意図成果物を 1 つの通読ビューへ集約・整形するための正本。SKILL.md は手順と報告形式のみを持ち、「何をどの見出し/列から読み、どう並べるか」は本表を参照する。本ルールは **read-only** であり、canonical な `.intent/*.md` を一切変更しない(書き込みは `.intent/overview/` 配下のみ)。逆算・検査・drift の判定ロジックは再実装せず、それらが残した出力を読むだけである。
|
|
4
|
+
|
|
5
|
+
## 集約対象と正確な参照(固定)
|
|
6
|
+
|
|
7
|
+
各成果物の見出し・列名は下表で固定する(変われば本ルールの追従が必要=Revalidation Trigger)。canonical な記述と inferred(推測)由来の記述は分離して提示し、混在させない。
|
|
8
|
+
|
|
9
|
+
| ソース | 読むファイル | 正確な見出し/列(固定) | ビューでの扱い |
|
|
10
|
+
|---|---|---|---|
|
|
11
|
+
| 意図ツリー | `.intent/intent-tree.md` | `## L0`〜`## L4`(階層本体)+ `## Assumptions`(+あれば `## Open Questions`) | L0–L4 を canonical として整形。Assumptions / Open Questions は inferred として別枠 |
|
|
12
|
+
| コンパス | `.intent/intent-compass.md` | `## North Star` / `## Anti-direction` / `## Invariants` / `## Decision Rules` | 4 節をそのまま整形して通読化 |
|
|
13
|
+
| packet 一覧 | `.intent/packets/index.md` | 列 `packet_id \| name \| state \| summary` | 一覧テーブルを集約。各 packet の状態を併記 |
|
|
14
|
+
| packet 本体 | `.intent/packets/active/*.md` | frontmatter 10 キー(`depends_on` を含む)+ 本文 `## Evidence` 節 | frontmatter と Evidence を読み取り、進捗・依存・証拠の文脈に紐づけ |
|
|
15
|
+
| プラン | `.intent/packets/plan.md` | `## Walking Skeleton` / `## Recommended First Packet` / `## Deferred` | packet 集約の「次の一手の文脈」として提示 |
|
|
16
|
+
| export 履歴 | 分割形 `.intent/export-log/*.md` 群(あれば正本・`exported_at` 昇順)/無ければ旧 `.intent/export-log.md`(生成ミラー) | 列 `packet \| exported_at \| commit` | export 履歴タイムラインとして提示(分割しても通読できる) |
|
|
17
|
+
| 学び(差分) | 分割形 `.intent/deltas/*.md` 群(あれば)+ 旧 `.intent/deltas.md`(共存時) | `Status` + 学びタグ | pending な学びとして packet 集約に紐づけ(分割しても通読できる) |
|
|
18
|
+
|
|
19
|
+
## active 面 / archive の見せ分け(通読ビューの2層・派生機械生成)
|
|
20
|
+
|
|
21
|
+
append-only 記録(deltas / export-log / drift-log / milestones / compass-archive)は分割により **active 面(現在の薄い射影)と archive(履歴)** に分かれる。overview の通読ビューはこの2層を**見せ分けて**提示する(INV25-(1)・DR33 の派生機械生成。新しい canonical ファイルを作らない・正本を変更しない read-only)。
|
|
22
|
+
|
|
23
|
+
| 層 | 読むもの | 通読ビューでの扱い |
|
|
24
|
+
|---|---|---|
|
|
25
|
+
| **active 面** | 各記録の分割ディレクトリ直下 `.intent/<rec>/*.md`(あれば正本・自然キー昇順)/無ければ旧 `.intent/<rec>.md`(生成ミラー) | 「現在」のセクションとして薄く提示(現在の射影)。分割形と旧ミラーが共存するときは分割形を正本とし、ミラーを二重に数えない |
|
|
26
|
+
| **archive(履歴)** | 各記録の `.intent/<rec>/archive/`(例 `deltas/archive/<年>/`・compass-archive は rule 単位)配下のファイル | 「履歴」セクションとして active 面とは**別枠**で提示する。active 集計(pending な学び・最新 export 等)には混ぜない |
|
|
27
|
+
|
|
28
|
+
- 見せ分けは**派生の機械生成**であり、新しい canonical ファイルを増やさない(書き込みは `.intent/overview/` 配下のみ・正本は read-only)。`archive/` が不在の環境では「履歴」セクションを省略する(エラーにしない)。
|
|
29
|
+
- 旧単一ファイル形式のみの環境(分割・archive 未配備)では active 面を旧ミラーから読み、「履歴」セクションは git 履歴に委ねる旨を添えて省略する(後方互換・推測で埋めない)。
|
|
30
|
+
|
|
31
|
+
## packet frontmatter と state 値域(固定)
|
|
32
|
+
|
|
33
|
+
- frontmatter は **10 キー**(`depends_on` を含む)。`depends_on` は packet_id の集合(依存先)。
|
|
34
|
+
- `state` は **5 値**のいずれか: `draft | ready | implementing | verifying | done`。
|
|
35
|
+
- packet 本体の `## Evidence` 節は検証結果・検査軸 ID(kebab-case)を含む。
|
|
36
|
+
|
|
37
|
+
## 後方互換(旧スキーマの読み替え)
|
|
38
|
+
|
|
39
|
+
新スキーマ(10 キー・5 値)が未配備の環境でも後方互換で読む。欠落は推測で埋めない。
|
|
40
|
+
|
|
41
|
+
| 観測される状態 | 読み替え |
|
|
42
|
+
|---|---|
|
|
43
|
+
| `depends_on` が不在 | 「依存なし(空集合)」として読む |
|
|
44
|
+
| `## Evidence` 節が不在 | 「未記入」として読む |
|
|
45
|
+
| 旧 3 値 state(`draft \| active \| done`)が残る | `active` を「進行中(実装中相当)」として読む。`draft` / `done` はそのまま |
|
|
46
|
+
|
|
47
|
+
## inferred(逆算)の扱い — 委譲・読むのみ
|
|
48
|
+
|
|
49
|
+
- 本ルールはコードからの意図逆算を **独自に行わない**。AST 走査・静的解析・外部スキャナは使わない(INV2・R4.4)。
|
|
50
|
+
- refactor モードの `algo-intent-recovery` が intent-tree に残した inferred intent(`## Assumptions` / `## Open Questions` 由来)を **読み取って** inferred として明示し、canonical な L0–L4 本体と分離して提示する(R4.1 / R4.3 / R2.4)。
|
|
51
|
+
- **逆算が未取得のとき**(refactor モードの discover が未実行で、`## Assumptions` に inferred が無い): その不在を明示し、`algo-intent-recovery` を含む refactor モードの discover 実行を案内する。推測で埋めない(R4.2)。
|
|
52
|
+
|
|
53
|
+
## 欠落・未記入の扱い
|
|
54
|
+
|
|
55
|
+
- 集約対象の成果物が未記入または部分的なときは、該当箇所を **「未記入」** として明示する。推測で埋めない(R2.5)。
|
|
56
|
+
- ソースファイル自体が不在のときは、その不在を明示し、先に実行すべき該当スキルを案内する(書き込みはしない)。
|
|
57
|
+
|
|
58
|
+
## 出力の規律
|
|
59
|
+
|
|
60
|
+
- canonical な意図(tree の L0–L4 / compass 4 節 / packets / plan / export-log / deltas)と inferred な意図(recovery 由来)を **区別したまま** 並べる。
|
|
61
|
+
- 生成するビューは **派生(derived)・再生成可能** であり正本ではない旨を明示する。canonical へは書き戻さない。
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# ギャップ集約: 設計意図 vs 実装実態
|
|
2
|
+
|
|
3
|
+
`intent-overview` skill が「設計意図 vs 実装実態」のギャップ節を組み立てるための正本。SKILL.md は手順と報告形式のみを持ち、何を・どの条件で・どう読むかは本ファイルを参照する。本層は drift-watch / intent-validate の検査軸を**再実装せず読みに行く**だけであり、判定ロジックを持たない。すべての観測は Read / Glob / Grep に限り、canonical 成果物(mode.md / drift-log.md / validate-checks.md)を一切変更しない。
|
|
4
|
+
|
|
5
|
+
## 不変の規律(read-only クロスカット層)
|
|
6
|
+
|
|
7
|
+
- 本層は drift-watch / intent-validate の出力・定義を**読むだけ**で、検知や検査を自前で実行しない(Out of Boundary)。
|
|
8
|
+
- `mode.md` の `## Enforcement(ユーザー管理)` / `## Drift-watch(ユーザー管理)` セクションは**読み取りのみ**で、変更しない(intent-status と同規律)。
|
|
9
|
+
- 不在・未観測のブロックは推測で埋めず、その状態(未観測 / 未取得)を明示して省略する。
|
|
10
|
+
|
|
11
|
+
## drift-log の条件付き読み取り(R5.1 / R5.4)
|
|
12
|
+
|
|
13
|
+
drift-log を読むのは、次の **両条件が同時に成立**するときに限る。
|
|
14
|
+
|
|
15
|
+
1. `mode.md` の `## Drift-watch(ユーザー管理)` セクションが `on` である。
|
|
16
|
+
2. `.intent/drift-log.md` が存在する。
|
|
17
|
+
|
|
18
|
+
両条件が成立するときのみ、drift-log を Read / Grep で読み、検知エントリを集約してギャップ節に提示する。`off` / 未記載 / drift-log 不在のいずれかの場合は、ギャップ集約ブロックを**省略**し、その状態を「未観測(drift-watch が off、または drift-log なし)」として明示する。drift-watch の既定は `off` であり、未観測は欠陥ではなく初期状態として扱う。
|
|
19
|
+
|
|
20
|
+
### drift-log の固定スキーマ(9 キー・固定順)
|
|
21
|
+
|
|
22
|
+
各エントリは次の 9 キーを固定順の Markdown リストで持つ(drift-log.md の正本に一致)。本層はこのキー集合・順序を前提に読むだけで、書式を改変しない。
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
pattern → stage → packet → mechanism → outcome → user-verdict → recorded_at → commit → note
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
- `packet` は **3 番目**の正式キーである(`stage` の次・`mechanism` の前)。
|
|
29
|
+
- 集計は `outcome` と `user-verdict` の 2 列から行う。
|
|
30
|
+
- `outcome`: `prevented` / `caught` / `missed` / `false-positive` / `not-applicable` の 5 値。
|
|
31
|
+
- `user-verdict`: `valid` / `false-alarm` / `unjudged` の 3 値。
|
|
32
|
+
- 提示は最低限 `pattern × outcome` のクロス集計(drift-log.md の運用説明に一致)に、`user-verdict`(利用者の確定)を併記する。`outcome` は drift-watch の下書き、`user-verdict` は利用者の確定であり、両者を混同して提示しない。
|
|
33
|
+
|
|
34
|
+
### missed=0 の読み方(確証バイアスの回避)
|
|
35
|
+
|
|
36
|
+
`missed=0`(防げず通った記録がゼロ)を「効いた証拠」として断定しない。**「記録漏れの疑い」**として提示する(intent-status の先例・drift-log.md の冒頭注記に倣う)。効いた瞬間(`prevented` / `caught`)だけが残るのは確証バイアスであり、効かなかった瞬間(`missed` / `false-positive` / `not-applicable`)も均等に記録される前提で読む。
|
|
37
|
+
|
|
38
|
+
## intent-validate 検査軸のマッピング(R5.2 / R5.3)
|
|
39
|
+
|
|
40
|
+
intent-validate は `allowed-tools: Read, Glob, Grep` の read-only スキルであり、**検査結果を永続ファイルに書かない**。したがって本層は「validate の結果ファイル」を読むのではなく、`intent-validate/rules/validate-checks.md` の**検査軸 ID カタログ**を読み、俯瞰内のギャップ観点をその ID 体系で整理する。
|
|
41
|
+
|
|
42
|
+
- 参照先: `intent-validate/rules/validate-checks.md` の検査カタログ表(`ID` 列=安定 kebab-case ID、`深刻度の目安` 列=重要度分類)。検査の追加・変更はこの表が正であり、本層は ID 列をそのまま引く(再導出しない)。
|
|
43
|
+
- 重要度分類は `validate-checks.md` の 3 分類(`要修正` / `推奨` / `情報`)をそのまま用いる。
|
|
44
|
+
- 依存健全性の検査軸 `dependency-cycle`(`depends_on` の循環 A→…→A)・`dependency-broken-ref`(存在しない packet_id への参照)は本カタログに実在し、いずれも `要修正` 級である。依存・ブロックビュー(progress-readout)で循環・未解決依存が観測されたら、対応するこの安定 ID に紐づけて提示する。
|
|
45
|
+
- 検査ロジックそのものは**再実装しない**(R5.2)。本層は ID 体系という器を借り、俯瞰で観測したギャップ観点をその器に振り分けるだけである。
|
|
46
|
+
- 検査結果が参照可能な箇所は安定 kebab-case ID に紐づけて提示する。参照不能な箇所(validate 未実行・結果が成果物に残っていない)は ID への紐づけを**省略**し、不在を明示する(R5.3 の「参照可能である」条件付き要件を、参照不能時は省略で吸収する)。
|
|
47
|
+
|
|
48
|
+
## 出力ブロックの構成
|
|
49
|
+
|
|
50
|
+
ギャップ節は次の要素で構成する(素材が無い要素は省略し理由を明示)。
|
|
51
|
+
|
|
52
|
+
1. **drift 集約**(両条件成立時のみ): `pattern × outcome` のクロス集計に `user-verdict` を併記。`missed=0` は「記録漏れの疑い」と注記。
|
|
53
|
+
2. **検査軸マッピング**: 俯瞰で観測したギャップ観点を `validate-checks.md` の安定 kebab-case ID 体系で整理。参照可能なものは ID に紐づけ、不能なものは省略・不在明示。
|
|
54
|
+
3. **mode の現況**: `## Enforcement` / `## Drift-watch` の現在値を読み取りのみで併記(変更しない)。
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# intent-tree の Mermaid 可視化規則
|
|
2
|
+
|
|
3
|
+
`intent-overview` skill が `intent-tree.md` の L0→L4 階層を図として描画する際の正本。SKILL.md は手順と報告形式のみを持ち、Mermaid の生成方法・エスケープ規約・テキスト併記の規律は本規則を参照する。本規則の出力先は `.intent/overview/` 配下の派生ビューに限られ、canonical(`intent-tree.md` を含む `.intent/*.md`)には一切書き込まない(read-only)。判断は自然言語ヒューリスティクスと既存成果物の読み取りに限り、AST・外部スキャナ・外部レンダラには依存しない(INV2)。
|
|
4
|
+
|
|
5
|
+
## 描画対象と純 Mermaid 原則(R3.1)
|
|
6
|
+
|
|
7
|
+
- 描画対象は `intent-tree.md` の `## L0:`〜`## L4:` 各見出し配下の項目。L0 を最上位(頂点)、L4(packet 候補=P)を最下位(末端)とする木構造を、自前で書き起こした純粋な Mermaid `graph` テキストとして出力する。
|
|
8
|
+
- 方向は上から下への階層が読みやすいため `graph TD`(Top-Down)を既定とする。
|
|
9
|
+
- 出力は ` ```mermaid ` ~ ` ``` ` のコードフェンスで囲んだ Mermaid 構文のみとする。外部プラグイン・カスタム記法・画像生成・テーマ拡張・外部レンダラを使わない(INV2=依存ゼロ。図の正しさはレンダラ実装に依存させず、テキスト併記で担保する)。
|
|
10
|
+
- エッジは**必ず「上位 L レベル → 下位 L レベル」の向き**(`L<n> --> L<n+1>`)で `-->` で結ぶ。逆向き(下位→上位)のエッジは引かない。`graph TD` のランク(縦位置)はエッジの向きで決まるため、向きを誤ると L4(P)が上に浮く・L1/L2 が下に潜るなどレイアウトが崩れる。**L0 が最上段・L4 が最下段になることを、エッジの向きで常に保証する**。
|
|
11
|
+
|
|
12
|
+
## ランク崩れの防止(孤立ノードを作らない)(R3.1)
|
|
13
|
+
|
|
14
|
+
`graph TD` では、入ってくるエッジを 1 本も持たないノード(孤立ノード)はランク付けの起点となり**最上段へ浮く**。その結果「L1/L2 が下で混在し P(L4)が上に来る」といった崩れが起きる。これを防ぐため、**L0 を除くすべてのノードは必ず 1 本以上の親エッジを持たせ、孤立させない**。
|
|
15
|
+
|
|
16
|
+
- **親が一意に読める項目**: 直近上位レベルの該当する親ノードから `親 --> 子` でつなぐ。
|
|
17
|
+
- **親が一意に読めない項目(推測で特定の親に接続しない)**: その項目を孤立させず、**直近上位レベル全体のアンカーへつなぐ**。具体的には、各レベル `L<n>`(n≥1)に対し、上位レベル `L<n-1>` の項目が複数あって親を一意に決められないときは、`L<n-1>` 配下の項目をまとめる**レベルアンカー・ノード** `L<n-1>_anchor`(ラベル例 `["L<n-1>(親候補複数)"]`)を 1 つ定義し、`L<n-1>` の各実ノードから `L<n-1>_anchor` へ、さらに `L<n-1>_anchor --> 子` でつなぐ。これにより親が曖昧な子も縦ランク上は正しく `L<n-1>` の下に置かれ、上へ浮かない。アンカーを使った(=親が一意でなかった)事実はテキスト階層側の注記で明示する(推測で特定の親に断定しない規律は保つ)。
|
|
18
|
+
- **上位レベルが空のために親を持てない項目**(例: L2 はあるが L1 が未記入): 当該項目を孤立させず、**存在する最も近い上位レベル**(この例では L0)へ直接つなぎ、間に未記入レベルがある旨をテキスト階層側に明示する。中間レベルが空でも下位レベルが上へ浮かないようにする。
|
|
19
|
+
- いずれの場合も**エッジの向きは常に上位→下位**で、L0 が最上段・L4(P)が最下段になる縦順序を保つ。
|
|
20
|
+
|
|
21
|
+
## ノード ID 規約(衝突回避)
|
|
22
|
+
|
|
23
|
+
ノード ID はレンダラが解釈する識別子であり、ラベル(表示文字列)と分離する。ID は機械的・安定に導出し、ラベル本文からは生成しない。
|
|
24
|
+
|
|
25
|
+
- **使用可能文字**: 半角英数字と下線 `_` のみ。先頭は英字とする。日本語・記号・空白を ID に含めない。
|
|
26
|
+
- **導出規則**: ID は `L<レベル番号>_<同レベル内 0 始まりの出現順インデックス>` で機械的に導出する。例: L0 の唯一項目は `L0_0`、L2 の 1 番目は `L2_0`、L2 の 2 番目は `L2_1`。
|
|
27
|
+
- **衝突回避**: 上記規則は (レベル, 同レベル内インデックス) が一意であるため ID も一意になる。ラベル文字列に依存しないので、同名・空・特殊文字を含む項目があっても ID は衝突しない。同じ項目が複数の親を持つ(共有される)場合も、ノードは初出 ID 1 つのみ定義し、以降はその ID を再利用してエッジだけを追加する(ノードを再定義しない)。
|
|
28
|
+
|
|
29
|
+
## ラベル規約(特殊文字エスケープ/除去)
|
|
30
|
+
|
|
31
|
+
ラベルは `ID["..."]` の角括弧+二重引用符記法で囲む。ラベル本文には Mermaid 構文を壊す文字を入れない。
|
|
32
|
+
|
|
33
|
+
- **禁止文字**: ラベル本文に `(` `)` `[` `]` `"` `/` を含めてはならない。これらは項目テキストから機械的に除去(その文字を削除して前後を詰める)する。除去によって意味が変わりうるため、除去を行ったノードがある場合はその旨を後述のテキスト階層側の注記で補う(テキスト階層は除去せず原文を保持する)。
|
|
34
|
+
- **改行・パイプ**: 改行はラベル内では半角スペース 1 個に畳む。`|`(パイプ)はラベルから除去する。
|
|
35
|
+
- **長さ**: 図の可読性のため、ラベルが概ね 40 文字を超える場合は先頭 40 文字に切り詰め末尾を `…` とする(切り詰めた場合もテキスト階層側は全文を保持する)。
|
|
36
|
+
- ラベル本文が空(項目が未記入)の項目は、ラベルを `["(未記入)"]` ではなく `["未記入"]`(禁止文字を含めない)とし、テキスト階層側で「未記入」として明示する(推測で埋めない)。
|
|
37
|
+
|
|
38
|
+
## テキスト階層を正本として常に併記(R3.2)
|
|
39
|
+
|
|
40
|
+
- Mermaid 図のすぐ後に、対応するテキスト階層(インデント付き箇条書き)を**常に**併記する。図が壊れて描画されない環境でも通読が止まらないようにするためで、テキスト階層こそが俯瞰ビューにおける読み取りの拠り所(このビュー内での正本)である。
|
|
41
|
+
- テキスト階層は `intent-tree.md` の原文を保持する。ラベルで行ったエスケープ・除去・切り詰めはテキスト階層側には適用せず、原文のまま記す(除去・切り詰めをラベルで行った場合は、対応するテキスト行に補足できる)。
|
|
42
|
+
- ビューには本ブロックが派生(derived)であり、`intent-tree.md` を正本として再生成可能であること(手編集せず再実行で更新されること)を明示する。
|
|
43
|
+
|
|
44
|
+
## intent-tree が空/未生成のとき(R3.3)
|
|
45
|
+
|
|
46
|
+
- `intent-tree.md` が存在しない、または `## L0:`〜`## L4:` のいずれにも項目が無い(全レベル未記入)場合は、**Mermaid 図を出力しない**。
|
|
47
|
+
- 図を省略した理由(「intent-tree が空/未生成のため可視化対象がない」)を明示し、先に実行すべきスキル(`/intent-discover`)を案内する。推測でノードを生成しない。
|
|
48
|
+
- 一部のレベルのみ未記入の場合は図を省略せず、未記入レベルを「未記入」ラベル+テキスト階層側の明示で表現する。
|
|
49
|
+
|
|
50
|
+
## 例(L0→L2 の小さなツリー)
|
|
51
|
+
|
|
52
|
+
`intent-tree.md` が次のように読み取れたとする(L0 に 1 項目、L1 に 1 項目、L2 に 2 項目、L2 の 2 番目に禁止文字 `(` `)` を含む):
|
|
53
|
+
|
|
54
|
+
- L0: 散在した意図を一度に通読できるようにする
|
|
55
|
+
- L1: 全体像を掴んだまま会話を続けられる
|
|
56
|
+
- L2: 意図ドキュメントの集約/L2: Mermaid 可視化(図と表)
|
|
57
|
+
|
|
58
|
+
このとき生成する Mermaid ブロック(L0 が頂点、各エッジは上位→下位。すべての L2 が L1 の下に接続され孤立しない):
|
|
59
|
+
|
|
60
|
+
```mermaid
|
|
61
|
+
graph TD
|
|
62
|
+
L0_0["散在した意図を一度に通読できるようにする"]
|
|
63
|
+
L1_0["全体像を掴んだまま会話を続けられる"]
|
|
64
|
+
L2_0["意図ドキュメントの集約"]
|
|
65
|
+
L2_1["Mermaid 可視化図と表"]
|
|
66
|
+
L0_0 --> L1_0
|
|
67
|
+
L1_0 --> L2_0
|
|
68
|
+
L1_0 --> L2_1
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
併記するテキスト階層(正本。原文を保持し、ラベルの除去は適用しない):
|
|
72
|
+
|
|
73
|
+
- L0: 散在した意図を一度に通読できるようにする
|
|
74
|
+
- L1: 全体像を掴んだまま会話を続けられる
|
|
75
|
+
- L2: 意図ドキュメントの集約
|
|
76
|
+
- L2: Mermaid 可視化(図と表) ← 図のラベルでは `()` を除去
|
|
77
|
+
|
|
78
|
+
> このブロックは派生(derived)です。正本は `intent-tree.md` であり、`/intent-overview` の再実行で再生成されます。手編集しないでください。
|