kyro-ai 3.2.0

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 (140) hide show
  1. package/.claude-plugin/README.md +29 -0
  2. package/.claude-plugin/marketplace.json +52 -0
  3. package/.claude-plugin/plugin.json +40 -0
  4. package/.claude-plugin/settings.json +16 -0
  5. package/LICENSE +201 -0
  6. package/README.md +331 -0
  7. package/WORKFLOW.yaml +36 -0
  8. package/agents/orchestrator.md +393 -0
  9. package/commands/forge.md +55 -0
  10. package/commands/status.md +92 -0
  11. package/commands/wrap-up.md +85 -0
  12. package/config.json +17 -0
  13. package/contexts/init.md +64 -0
  14. package/contexts/review.md +89 -0
  15. package/contexts/sprint.md +90 -0
  16. package/dist/cli/adapters/codex.d.ts +3 -0
  17. package/dist/cli/adapters/codex.d.ts.map +1 -0
  18. package/dist/cli/adapters/codex.js +55 -0
  19. package/dist/cli/adapters/codex.js.map +1 -0
  20. package/dist/cli/adapters/command-skills.d.ts +5 -0
  21. package/dist/cli/adapters/command-skills.d.ts.map +1 -0
  22. package/dist/cli/adapters/command-skills.js +41 -0
  23. package/dist/cli/adapters/command-skills.js.map +1 -0
  24. package/dist/cli/adapters/opencode.d.ts +5 -0
  25. package/dist/cli/adapters/opencode.d.ts.map +1 -0
  26. package/dist/cli/adapters/opencode.js +41 -0
  27. package/dist/cli/adapters/opencode.js.map +1 -0
  28. package/dist/cli/adapters/registry-types.d.ts +13 -0
  29. package/dist/cli/adapters/registry-types.d.ts.map +1 -0
  30. package/dist/cli/adapters/registry-types.js +3 -0
  31. package/dist/cli/adapters/registry-types.js.map +1 -0
  32. package/dist/cli/adapters/registry.d.ts +7 -0
  33. package/dist/cli/adapters/registry.d.ts.map +1 -0
  34. package/dist/cli/adapters/registry.js +46 -0
  35. package/dist/cli/adapters/registry.js.map +1 -0
  36. package/dist/cli/app.d.ts +2 -0
  37. package/dist/cli/app.d.ts.map +1 -0
  38. package/dist/cli/app.js +46 -0
  39. package/dist/cli/app.js.map +1 -0
  40. package/dist/cli/commands/doctor.d.ts +2 -0
  41. package/dist/cli/commands/doctor.d.ts.map +1 -0
  42. package/dist/cli/commands/doctor.js +133 -0
  43. package/dist/cli/commands/doctor.js.map +1 -0
  44. package/dist/cli/commands/install.d.ts +4 -0
  45. package/dist/cli/commands/install.d.ts.map +1 -0
  46. package/dist/cli/commands/install.js +42 -0
  47. package/dist/cli/commands/install.js.map +1 -0
  48. package/dist/cli/commands/tui.d.ts +2 -0
  49. package/dist/cli/commands/tui.d.ts.map +1 -0
  50. package/dist/cli/commands/tui.js +35 -0
  51. package/dist/cli/commands/tui.js.map +1 -0
  52. package/dist/cli/commands/uninstall.d.ts +3 -0
  53. package/dist/cli/commands/uninstall.d.ts.map +1 -0
  54. package/dist/cli/commands/uninstall.js +33 -0
  55. package/dist/cli/commands/uninstall.js.map +1 -0
  56. package/dist/cli/constants.d.ts +23 -0
  57. package/dist/cli/constants.d.ts.map +1 -0
  58. package/dist/cli/constants.js +27 -0
  59. package/dist/cli/constants.js.map +1 -0
  60. package/dist/cli/fs.d.ts +12 -0
  61. package/dist/cli/fs.d.ts.map +1 -0
  62. package/dist/cli/fs.js +133 -0
  63. package/dist/cli/fs.js.map +1 -0
  64. package/dist/cli/help.d.ts +4 -0
  65. package/dist/cli/help.d.ts.map +1 -0
  66. package/dist/cli/help.js +28 -0
  67. package/dist/cli/help.js.map +1 -0
  68. package/dist/cli/install-plan.d.ts +3 -0
  69. package/dist/cli/install-plan.d.ts.map +1 -0
  70. package/dist/cli/install-plan.js +93 -0
  71. package/dist/cli/install-plan.js.map +1 -0
  72. package/dist/cli/options.d.ts +8 -0
  73. package/dist/cli/options.d.ts.map +1 -0
  74. package/dist/cli/options.js +99 -0
  75. package/dist/cli/options.js.map +1 -0
  76. package/dist/cli/state.d.ts +4 -0
  77. package/dist/cli/state.d.ts.map +1 -0
  78. package/dist/cli/state.js +13 -0
  79. package/dist/cli/state.js.map +1 -0
  80. package/dist/cli/types.d.ts +50 -0
  81. package/dist/cli/types.d.ts.map +1 -0
  82. package/dist/cli/types.js +3 -0
  83. package/dist/cli/types.js.map +1 -0
  84. package/dist/cli.d.ts +3 -0
  85. package/dist/cli.d.ts.map +1 -0
  86. package/dist/cli.js +10 -0
  87. package/dist/cli.js.map +1 -0
  88. package/dist/index.d.ts +10 -0
  89. package/dist/index.d.ts.map +1 -0
  90. package/dist/index.js +12 -0
  91. package/dist/index.js.map +1 -0
  92. package/docs/HOW-TO-USE-CODEX.md +82 -0
  93. package/docs/HOW-TO-USE-OPENCODE.md +93 -0
  94. package/docs/agent-adapters.md +152 -0
  95. package/docs/agents-reference.md +153 -0
  96. package/docs/architecture.md +159 -0
  97. package/docs/architecture.mmd +21 -0
  98. package/docs/cli.md +87 -0
  99. package/docs/commands-reference.md +138 -0
  100. package/docs/context-management.md +92 -0
  101. package/docs/getting-started.md +165 -0
  102. package/docs/harness-migration.md +95 -0
  103. package/docs/programmatic-usage.md +109 -0
  104. package/docs/rules-guide.md +216 -0
  105. package/package.json +78 -0
  106. package/rules/context-persistence.md +54 -0
  107. package/rules/estimation.md +56 -0
  108. package/rules/learning-rules.md +66 -0
  109. package/rules/quality-gates.md +65 -0
  110. package/rules/sprint-discipline.md +49 -0
  111. package/scripts/check-markdown-links.mjs +97 -0
  112. package/scripts/check-versions.mjs +46 -0
  113. package/scripts/make-cli-executable.mjs +12 -0
  114. package/settings.example.json +27 -0
  115. package/skills/qa-review/SKILL.md +660 -0
  116. package/skills/qa-review/manifest.json +41 -0
  117. package/skills/sprint-forge/SKILL.md +260 -0
  118. package/skills/sprint-forge/assets/README.md +31 -0
  119. package/skills/sprint-forge/assets/helpers/analysis-guide.md +207 -0
  120. package/skills/sprint-forge/assets/helpers/analyzer.md +83 -0
  121. package/skills/sprint-forge/assets/helpers/debt-tracker.md +122 -0
  122. package/skills/sprint-forge/assets/helpers/handoff.md +103 -0
  123. package/skills/sprint-forge/assets/helpers/learner.md +69 -0
  124. package/skills/sprint-forge/assets/helpers/metrics.md +81 -0
  125. package/skills/sprint-forge/assets/helpers/reentry-generator.md +121 -0
  126. package/skills/sprint-forge/assets/helpers/reviewer.md +71 -0
  127. package/skills/sprint-forge/assets/helpers/sprint-generator.md +145 -0
  128. package/skills/sprint-forge/assets/modes/INIT.md +204 -0
  129. package/skills/sprint-forge/assets/modes/SPRINT.md +253 -0
  130. package/skills/sprint-forge/assets/modes/STATUS.md +145 -0
  131. package/skills/sprint-forge/assets/templates/PROJECT-README.md +107 -0
  132. package/skills/sprint-forge/assets/templates/REENTRY-PROMPTS.md +132 -0
  133. package/skills/sprint-forge/assets/templates/ROADMAP.md +126 -0
  134. package/skills/sprint-forge/assets/templates/SPRINT.md +189 -0
  135. package/skills/sprint-forge/manifest.json +165 -0
  136. package/templates/split-claude-md/AGENTS.md +96 -0
  137. package/templates/split-claude-md/CLAUDE.md +67 -0
  138. package/templates/split-claude-md/COMMANDS.md +37 -0
  139. package/templates/split-claude-md/LEARNED.md +39 -0
  140. package/templates/split-claude-md/SOUL.md +107 -0
@@ -0,0 +1,145 @@
1
+ # STATUS Mode — Project Progress Report
2
+
3
+ This mode reads all project artifacts and generates a comprehensive progress report.
4
+
5
+ ---
6
+
7
+ ## When This Mode Activates
8
+
9
+ | EN Signals | ES Signals |
10
+ |-----------|-----------|
11
+ | "project status", "progress", "progress report", "technical debt", "how's the project going" | "estado del proyecto", "progreso", "reporte de progreso", "deuda técnica", "cómo va el proyecto" |
12
+
13
+ ---
14
+
15
+ ## Prerequisites
16
+
17
+ - INIT mode must have been run (README.md, ROADMAP.md, and at least one finding file exist)
18
+ - At least one sprint should exist for meaningful metrics (but STATUS works even with zero sprints)
19
+
20
+ ---
21
+
22
+ ## Workflow
23
+
24
+ ### Step 0 — Locate Output Directory
25
+
26
+ Before reading any files, determine `{output_kyro_dir}`:
27
+
28
+ 1. If the user's request includes an explicit path, use it
29
+ 2. Otherwise, check `{cwd}/.agents/kyro/scopes/` — if a single project directory exists, use it
30
+ 3. If multiple directories exist, ask: "Which project? Found: {list}"
31
+ 4. If none found, ask: "Where are your kyro-ai documents? (e.g. `.agents/kyro/scopes/my-project/`)"
32
+
33
+ ### Step 1 — Read Project State
34
+
35
+ Read the following files:
36
+
37
+ 1. `{output_kyro_dir}/README.md` — Project overview and paths
38
+ 2. `{output_kyro_dir}/ROADMAP.md` — Planned sprints, dependencies, execution rules
39
+ 3. All sprint files in `{output_kyro_dir}/phases/` — Progress, debt, retros
40
+
41
+ ### Step 2 — Calculate Metrics
42
+
43
+ From the roadmap and sprint files, compute:
44
+
45
+ | Metric | How to Calculate |
46
+ |--------|-----------------|
47
+ | **Total Planned Sprints** | Count sprints defined in ROADMAP.md |
48
+ | **Completed Sprints** | Count sprint files with all DoD items checked |
49
+ | **In-Progress Sprints** | Sprint files with some tasks done but DoD incomplete |
50
+ | **Remaining Sprints** | Total - Completed - In-Progress |
51
+ | **Total Tasks** | Sum of all tasks across all generated sprint files |
52
+ | **Completed Tasks** | Sum of `[x]` tasks |
53
+ | **Blocked Tasks** | Sum of `[!]` tasks |
54
+ | **Skipped Tasks** | Sum of `[-]` tasks |
55
+ | **Open Debt Items** | Count debt items with status `open` or `in-progress` in latest sprint |
56
+ | **Resolved Debt Items** | Count debt items with status `resolved` in latest sprint |
57
+ | **Deferred Debt Items** | Count debt items with status `deferred` in latest sprint |
58
+ | **Emergent Phases** | Count of emergent phases added across all sprints |
59
+
60
+ ### Step 3 — Generate Report
61
+
62
+ Output the report directly to the console (do NOT write to a file):
63
+
64
+ ```
65
+ # {scope} — Status Report
66
+
67
+ > Generated: {date}
68
+ > Codebase: `{codebase_path}`
69
+ > Working Dir: `{output_kyro_dir}`
70
+
71
+ ---
72
+
73
+ ## Progress Overview
74
+
75
+ | Metric | Value |
76
+ |--------|-------|
77
+ | Sprints | {completed}/{total} completed ({percentage}%) |
78
+ | Tasks | {done}/{total} completed, {blocked} blocked, {skipped} skipped |
79
+ | Debt | {open} open, {resolved} resolved, {deferred} deferred |
80
+ | Emergent Phases | {count} added during execution |
81
+
82
+ ---
83
+
84
+ ## Sprint Progress
85
+
86
+ | Sprint | Status | Tasks | Key Deliverables |
87
+ |--------|--------|-------|-----------------|
88
+ | Sprint 1 | completed | 12/12 | Architecture cleanup |
89
+ | Sprint 2 | completed | 10/14 | API surface audit |
90
+ | Sprint 3 | in-progress | 3/8 | Component quality |
91
+ | Sprint 4 | pending | — | Testing infrastructure |
92
+
93
+ ---
94
+
95
+ ## Accumulated Technical Debt
96
+
97
+ {Copy the debt table from the latest sprint file}
98
+
99
+ **Debt Trend**: {Is open count growing or shrinking?}
100
+ **Oldest Open Item**: {Item that has been open the longest}
101
+
102
+ ---
103
+
104
+ ## Roadmap Health
105
+
106
+ - **Adaptations Made**: {Number of times the roadmap was modified}
107
+ - **Original Sprint Count**: {From initial INIT}
108
+ - **Current Sprint Count**: {After adaptations}
109
+ - **Sprints Added**: {count}
110
+ - **Sprints Removed**: {count}
111
+ - **Assessment**: {Is the roadmap still serving the project well?}
112
+
113
+ ---
114
+
115
+ ## Next Sprint Preview
116
+
117
+ **Sprint {N}**: {title}
118
+ - Focus: {focus}
119
+ - Source: `findings/{finding_file}`
120
+ - Dependencies: {which sprints must complete first}
121
+ - Carry-over: {count} recommendations from Sprint {N-1}
122
+
123
+ ---
124
+
125
+ ## Re-entry Prompt
126
+
127
+ {The appropriate re-entry prompt for the next action — usually Scenario 2 or 3 from RE-ENTRY-PROMPTS.md}
128
+ ```
129
+
130
+ ---
131
+
132
+ ## Edge Cases
133
+
134
+ | Situation | Handling |
135
+ |-----------|---------|
136
+ | No sprints generated yet | Show INIT results only (findings count, roadmap overview). Suggest generating Sprint 1. |
137
+ | All sprints complete | Show final metrics. Highlight any remaining open debt. Suggest project closure or maintenance phase. |
138
+ | Sprint in progress | Show current sprint progress. Highlight blocked tasks. Suggest resuming execution. |
139
+ | No debt items | Note that no technical debt has been logged. This could mean the project is clean or debt isn't being tracked. |
140
+
141
+ ---
142
+
143
+ ## References
144
+
145
+ - [debt-tracker.md](../helpers/debt-tracker.md) — Debt table format and reporting rules
@@ -0,0 +1,107 @@
1
+ ---
2
+ title: "{scope} — Working Project"
3
+ date: "{date}"
4
+ updated: "{date}"
5
+ scope: "{scope}"
6
+ type: "progress"
7
+ status: "active"
8
+ version: "1.0"
9
+ agents:
10
+ - "{agent_model}"
11
+ tags:
12
+ - "{scope}"
13
+ - "progress"
14
+ - "kyro-ai"
15
+ changelog:
16
+ - version: "1.0"
17
+ date: "{date}"
18
+ changes: ["Project initialized"]
19
+ related:
20
+ - "[[ROADMAP]]"
21
+ - "[[RE-ENTRY-PROMPTS]]"
22
+ ---
23
+
24
+ # {scope} — Working Project
25
+
26
+ > Type: {work_type}
27
+ > Created: {date}
28
+ > Codebase: `{codebase_path}`
29
+
30
+ ---
31
+
32
+ ## What Is This
33
+
34
+ This directory contains the working artifacts for {description_of_work}. It is managed by the `kyro-ai` skill and follows an adaptive sprint workflow.
35
+
36
+ ---
37
+
38
+ ## For AI Agents — Mandatory Reading Order
39
+
40
+ If you are an AI agent resuming work on this project, read these files in order:
41
+
42
+ 1. **This README** — You are here. Understand the project structure.
43
+ 2. **ROADMAP.md** — The adaptive roadmap with all planned sprints and execution rules.
44
+ 3. **Last completed sprint** — The most recent sprint file in `phases/`. Read its retro, recommendations, and debt table.
45
+ 4. **RE-ENTRY-PROMPTS.md** — Pre-written prompts for common actions. Copy the appropriate one.
46
+
47
+ ---
48
+
49
+ ## Directory Structure
50
+
51
+ ```
52
+ {output_kyro_dir}/
53
+ ├── README.md ← This file
54
+ ├── ROADMAP.md ← Adaptive roadmap (living document)
55
+ ├── RE-ENTRY-PROMPTS.md ← Context recovery prompts
56
+ ├── findings/ ← Analysis findings (one file per area)
57
+ │ ├── 01-{slug}.md
58
+ │ ├── 02-{slug}.md
59
+ │ └── ...
60
+ └── phases/ ← Sprint documents (generated one at a time)
61
+ ├── SPRINT-1-{slug}.md
62
+ ├── SPRINT-2-{slug}.md
63
+ └── ...
64
+ ```
65
+
66
+ ---
67
+
68
+ ## Absolute Paths
69
+
70
+ | Resource | Path |
71
+ |----------|------|
72
+ | Codebase | `{codebase_path}` |
73
+ | Working Directory | `{output_kyro_dir}` |
74
+ | Findings | `{output_kyro_dir}/findings/` |
75
+ | Sprints | `{output_kyro_dir}/phases/` |
76
+ | Roadmap | `{output_kyro_dir}/ROADMAP.md` |
77
+ | Re-entry Prompts | `{output_kyro_dir}/RE-ENTRY-PROMPTS.md` |
78
+
79
+ ---
80
+
81
+ ## Sprint System Rules
82
+
83
+ 1. Sprints are generated **one at a time** — never pre-generated
84
+ 2. Each sprint feeds from the previous sprint's retro and recommendations
85
+ 3. The accumulated debt table passes from sprint to sprint, never losing items
86
+ 4. The roadmap adapts based on what execution reveals
87
+ 5. Re-entry prompts are updated after each sprint for context persistence
88
+
89
+ ---
90
+
91
+ ## Current State — Baseline
92
+
93
+ <!-- Filled during INIT with baseline metrics -->
94
+
95
+ | Metric | Value |
96
+ |--------|-------|
97
+ | {metric_name} | {metric_value} |
98
+
99
+ ---
100
+
101
+ ## Sprint Map
102
+
103
+ <!-- Updated as sprints are completed -->
104
+
105
+ | Sprint | Status | Focus | Key Deliverables |
106
+ |--------|--------|-------|-----------------|
107
+ | 1 | {status} | {focus} | {deliverables} |
@@ -0,0 +1,132 @@
1
+ ---
2
+ title: "{scope} — Re-entry Prompts"
3
+ date: "{date}"
4
+ updated: "{date}"
5
+ scope: "{scope}"
6
+ type: "execution-plan"
7
+ status: "active"
8
+ version: "1.0"
9
+ agents:
10
+ - "{agent_model}"
11
+ tags:
12
+ - "{scope}"
13
+ - "execution-plan"
14
+ - "reentry"
15
+ - "kyro-ai"
16
+ changelog:
17
+ - version: "1.0"
18
+ date: "{date}"
19
+ changes: ["Re-entry prompts created"]
20
+ related:
21
+ - "[[README]]"
22
+ - "[[ROADMAP]]"
23
+ ---
24
+
25
+ # {scope} — Re-entry Prompts
26
+
27
+ > Last updated: {date}
28
+ > Current sprint: {current_sprint_number}
29
+
30
+ These prompts help you (or a new agent) recover full project context in a new session.
31
+
32
+ ---
33
+
34
+ ## Output Directory
35
+
36
+ ```
37
+ {output_kyro_dir}
38
+ ```
39
+
40
+ This is where all kyro-ai documents for this project live. All file paths below are relative to this directory.
41
+
42
+ ---
43
+
44
+ ## Quick Reference
45
+
46
+ | Sprint | File | Status |
47
+ |--------|------|--------|
48
+ | 1 | `phases/SPRINT-1-{slug}.md` | {status} |
49
+
50
+ ---
51
+
52
+ ## Dynamic Paths
53
+
54
+ | Resource | Path |
55
+ |----------|------|
56
+ | Codebase | `{codebase_path}` |
57
+ | Working Directory | `{output_kyro_dir}` |
58
+ | Roadmap | `{output_kyro_dir}/ROADMAP.md` |
59
+ | Latest Sprint | `{output_kyro_dir}/phases/{latest_sprint_file}` |
60
+
61
+ ---
62
+
63
+ ## Scenario 1 — First Sprint (after INIT)
64
+
65
+ Use this prompt when INIT has been completed and you need to generate Sprint 1.
66
+
67
+ ```
68
+ I'm working on the {scope} project. The analysis and roadmap have been created.
69
+
70
+ Read these files in order:
71
+ 1. {output_kyro_dir}/README.md
72
+ 2. {output_kyro_dir}/ROADMAP.md
73
+ 3. The finding files in {output_kyro_dir}/findings/
74
+
75
+ Then use /kyro:forge to generate Sprint 1. Follow the roadmap's Sprint 1 definition
76
+ and the corresponding finding file(s) as input.
77
+ ```
78
+
79
+ ---
80
+
81
+ ## Scenario 2 — Next Sprint (Sprint N)
82
+
83
+ Use this prompt when Sprint N-1 is complete and you need to generate Sprint N.
84
+
85
+ ```
86
+ I'm continuing work on the {scope} project. Sprint {N-1} has been completed.
87
+
88
+ Read these files in order:
89
+ 1. {output_kyro_dir}/README.md
90
+ 2. {output_kyro_dir}/ROADMAP.md
91
+ 3. {output_kyro_dir}/phases/{last_sprint_file} (pay attention to Retro, Recommendations, and Debt table)
92
+ 4. The finding file(s) for Sprint {N}: {output_kyro_dir}/findings/{next_finding_file}
93
+
94
+ Then use /kyro:forge to generate Sprint {N}. Ensure all recommendations from Sprint {N-1}
95
+ are addressed in the Disposition table.
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Scenario 3 — Execute Current Sprint
101
+
102
+ Use this prompt when a sprint has been generated but not yet executed.
103
+
104
+ ```
105
+ I'm working on the {scope} project. Sprint {N} has been generated and needs execution.
106
+
107
+ Read these files in order:
108
+ 1. {output_kyro_dir}/README.md
109
+ 2. {output_kyro_dir}/ROADMAP.md
110
+ 3. {output_kyro_dir}/phases/{current_sprint_file}
111
+
112
+ Then use /kyro:forge to execute Sprint {N}. Work through each phase and task,
113
+ marking progress as you go. Add emergent phases if new work is discovered.
114
+ ```
115
+
116
+ ---
117
+
118
+ ## Scenario 4 — Check Project Status
119
+
120
+ Use this prompt to get a progress report.
121
+
122
+ ```
123
+ I need a status report on the {scope} project.
124
+
125
+ Read these files:
126
+ 1. {output_kyro_dir}/README.md
127
+ 2. {output_kyro_dir}/ROADMAP.md
128
+ 3. All sprint files in {output_kyro_dir}/phases/
129
+
130
+ Then use /kyro:forge to generate a status report showing: completed sprints,
131
+ accumulated debt, metrics, and what's planned next.
132
+ ```
@@ -0,0 +1,126 @@
1
+ ---
2
+ title: "{scope} — Adaptive Roadmap"
3
+ date: "{date}"
4
+ updated: "{date}"
5
+ scope: "{scope}"
6
+ type: "plan"
7
+ status: "active"
8
+ version: "1.0"
9
+ agents:
10
+ - "{agent_model}"
11
+ tags:
12
+ - "{scope}"
13
+ - "plan"
14
+ - "roadmap"
15
+ - "kyro-ai"
16
+ changelog:
17
+ - version: "1.0"
18
+ date: "{date}"
19
+ changes: ["Roadmap created"]
20
+ related:
21
+ - "[[README]]"
22
+ - "[[RE-ENTRY-PROMPTS]]"
23
+ ---
24
+
25
+ # {scope} — Adaptive Roadmap
26
+
27
+ > Generated by `kyro-ai` on {date}
28
+
29
+ ---
30
+
31
+ ## Project Paths
32
+
33
+ | Path | Value |
34
+ |------|-------|
35
+ | Codebase | `{codebase_path}` |
36
+ | Working Directory | `{output_kyro_dir}` |
37
+ | Findings | `{output_kyro_dir}/findings/` |
38
+ | Sprints | `{output_kyro_dir}/phases/` |
39
+
40
+ ---
41
+
42
+ ## Execution Rules
43
+
44
+ These rules govern the entire sprint lifecycle. They are non-negotiable.
45
+
46
+ 1. **Sprint-by-Sprint** — Sprints are generated ONE AT A TIME. Never pre-generate all sprints. Each sprint is informed by the results of the previous one.
47
+ 2. **Retro Feeds Forward** — The retrospective and recommendations of Sprint N-1 are formal inputs for Sprint N. They cannot be ignored.
48
+ 3. **Recommendations are Dispositioned** — Every recommendation from the previous sprint must either become a task or have its deferral justified in the Disposition table.
49
+ 4. **Debt is Inherited** — The Accumulated Technical Debt table passes from sprint to sprint in full. Items are never deleted, only resolved.
50
+ 5. **Phases are Suggested** — The roadmap defines suggested phases per sprint. During execution, emergent phases MUST be added when new work is discovered.
51
+ 6. **Emergent Findings Generate Phases** — If execution reveals issues not covered by the plan, new phases are added to the current sprint.
52
+ 7. **Re-entry Prompts are Updated** — After INIT and after each executed sprint, re-entry prompts are refreshed to reflect current state.
53
+ 8. **Roadmap Adapts** — If execution reveals that planned sprints need modification, this roadmap is updated. The plan serves execution, not the reverse.
54
+ 9. **Definition of Done** — Each sprint has explicit completion criteria. A sprint is not done until all DoD items are checked.
55
+
56
+ ---
57
+
58
+ ## Task States
59
+
60
+ | Symbol | State | Meaning |
61
+ |--------|-------|---------|
62
+ | `[ ]` | Pending | Not started |
63
+ | `[~]` | In Progress | Currently being worked on |
64
+ | `[x]` | Done | Completed and verified |
65
+ | `[!]` | Blocked | Cannot proceed — blocker documented |
66
+ | `[-]` | Skipped | Intentionally skipped with justification |
67
+ | `[>]` | Carry-over | Not completed — carried over to next sprint |
68
+
69
+ ---
70
+
71
+ ## Sprint Template
72
+
73
+ Each sprint in this roadmap follows this structure:
74
+
75
+ | Field | Description |
76
+ |-------|-------------|
77
+ | Sprint # | Sequential number |
78
+ | Finding Source | Which finding file(s) this sprint addresses |
79
+ | Version Target | Target version after this sprint (if applicable) |
80
+ | Type | audit / refactor / feature / bugfix / debt |
81
+ | Focus | One-line description of the sprint's primary goal |
82
+ | Suggested Phases | Initial phases suggested by this roadmap (may expand during execution) |
83
+ | Dependencies | Which sprints must complete before this one |
84
+
85
+ ---
86
+
87
+ ## Dependency Map
88
+
89
+ <!-- Fill during INIT: show which sprints depend on others -->
90
+ <!-- Example:
91
+ Sprint 1 → Sprint 2 → Sprint 3
92
+ ↘ Sprint 4 → Sprint 5
93
+ -->
94
+
95
+ ```
96
+ {dependency_diagram}
97
+ ```
98
+
99
+ ---
100
+
101
+ ## Sprint Summary
102
+
103
+ <!-- Fill during INIT: one row per planned sprint -->
104
+
105
+ | Sprint | Finding Source | Version | Type | Focus | Dependencies | Status |
106
+ |--------|--------------|---------|------|-------|-------------|--------|
107
+ | 1 | `{finding_file}` | {version} | {type} | {focus} | — | pending |
108
+
109
+ ---
110
+
111
+ ## Detailed Sprint Definitions
112
+
113
+ <!-- Fill during INIT: expand each sprint with suggested phases -->
114
+
115
+ ### Sprint 1 — {title}
116
+
117
+ - **Source**: `findings/{finding_file}`
118
+ - **Version Target**: {version}
119
+ - **Type**: {type}
120
+ - **Focus**: {focus}
121
+ - **Dependencies**: None
122
+ - **Suggested Phases**:
123
+ 1. {phase_1_name} — {phase_1_description}
124
+ 2. {phase_2_name} — {phase_2_description}
125
+
126
+ <!-- Add more sprints as needed. The number of sprints is determined by the analysis. -->
@@ -0,0 +1,189 @@
1
+ ---
2
+ title: "Sprint {N} — {title}"
3
+ date: "{date}"
4
+ updated: "{date}"
5
+ scope: "{scope}"
6
+ type: "sprint-plan"
7
+ status: "active"
8
+ version: "1.0"
9
+ sprint: {N}
10
+ progress: 0
11
+ previous_doc: "[[SPRINT-{N-1}-{previous_slug}]]"
12
+ next_doc: "[[SPRINT-{N+1}-{next_slug}]]"
13
+ parent_doc: "[[ROADMAP]]"
14
+ agents:
15
+ - "{agent_model}"
16
+ tags:
17
+ - "{scope}"
18
+ - "sprint-plan"
19
+ - "sprint-{N}"
20
+ changelog:
21
+ - version: "1.0"
22
+ date: "{date}"
23
+ changes: ["Sprint generated"]
24
+ related:
25
+ - "[[ROADMAP]]"
26
+ - "[[{finding_file_ref}]]"
27
+ ---
28
+
29
+ # Sprint {N} — {title}
30
+
31
+ > Source: `findings/{finding_file}`
32
+ > Previous Sprint: `phases/{previous_sprint_file}` | None
33
+ > Version Target: {version}
34
+ > Type: {type}
35
+ > Carry-over: {carry_over_count} items from previous sprint
36
+ > Execution Date: {execution_date}
37
+ > Executed By: {executor}
38
+
39
+ ---
40
+
41
+ ## Sprint Objective
42
+
43
+ {Clear, one-paragraph description of what this sprint aims to accomplish.}
44
+
45
+ ---
46
+
47
+ ## Disposition of Previous Sprint Recommendations
48
+
49
+ <!-- Skip this section for Sprint 1 (no previous sprint). -->
50
+ <!-- For Sprint 2+, EVERY recommendation from Sprint N-1 must appear here. -->
51
+
52
+ | # | Recommendation | Action | Where | Justification |
53
+ |---|---------------|--------|-------|---------------|
54
+ | 1 | {recommendation_text} | Incorporated / Deferred / Resolved / N/A | Phase X, Task Y / Sprint Z | {why} |
55
+
56
+ **Actions**:
57
+ - **Incorporated**: Added as a task in this sprint. Specify phase and task.
58
+ - **Deferred**: Postponed to a future sprint. Specify target sprint and justify.
59
+ - **Resolved**: Already resolved by previous work. Explain when/how.
60
+ - **N/A**: No longer applicable. Explain why.
61
+ - **Converted to Phase**: Recommendation was significant enough to become an entire phase (not just a task). Specify which phase.
62
+
63
+ ---
64
+
65
+ ## Phases
66
+
67
+ ### Phase 1 — {phase_name}
68
+
69
+ **Objective**: {What this phase accomplishes}
70
+
71
+ **Tasks**:
72
+
73
+ - [ ] **T1.1**: {task_description}
74
+ - Files: `{file_path}`
75
+ - Evidence: {inline_evidence — e.g., trace logs, before/after snapshots, table of affected items, verification marks}
76
+ - Verification: {how_to_verify}
77
+
78
+ - [ ] **T1.2**: {task_description}
79
+ - Files: `{file_path}`
80
+ - Evidence: {inline_evidence}
81
+ - Verification: {how_to_verify}
82
+
83
+ ### Phase 2 — {phase_name}
84
+
85
+ **Objective**: {What this phase accomplishes}
86
+
87
+ **Tasks**:
88
+
89
+ - [ ] **T2.1**: {task_description}
90
+ - Files: `{file_path}`
91
+ - Verification: {how_to_verify}
92
+
93
+ <!-- Add more phases as needed. Phases come from the roadmap's suggested phases + recommendations + debt items. -->
94
+
95
+ ---
96
+
97
+ ## Emergent Phases
98
+
99
+ <!-- This section starts EMPTY. It is populated during sprint EXECUTION when new work is discovered.
100
+ Emergent phases are expected and encouraged. They represent the adaptive nature of this workflow. -->
101
+
102
+ <!-- Example:
103
+ ### Emergent Phase — {name}
104
+
105
+ **Reason**: {Why this phase was added during execution}
106
+
107
+ **Tasks**:
108
+
109
+ - [ ] **TE.1**: {task_description}
110
+ - Files: `{file_path}`
111
+ - Verification: {how_to_verify}
112
+ -->
113
+
114
+ ---
115
+
116
+ ## Findings Consolidation
117
+
118
+ <!-- This section is filled during sprint CLOSE, before the Retro. Consolidate ALL significant discoveries made during execution into a single reference table. -->
119
+
120
+ | # | Finding | Origin Phase | Impact | Action Taken |
121
+ |---|---------|-------------|--------|-------------|
122
+ | 1 | {finding_description} | Phase {X} / Emergent | {high/medium/low} | {task_ref / debt_ref / deferred} |
123
+
124
+ <!-- Include every significant discovery, not just those that generated tasks. This table becomes a quick-reference for future sprints. -->
125
+
126
+ ---
127
+
128
+ ## Accumulated Technical Debt
129
+
130
+ <!-- For Sprint 1: start fresh. For Sprint 2+: copy the FULL table from Sprint N-1 and add new items. -->
131
+
132
+ | # | Item | Origin | Sprint Target | Status | Resolved In |
133
+ |---|------|--------|--------------|--------|-------------|
134
+ | 1 | {debt_item} | {where_discovered} | Sprint {X} | open | — |
135
+
136
+ **Status values**: `open` | `in-progress` | `resolved` | `deferred` | `carry-over`
137
+
138
+ **Rules**:
139
+ - Never delete a row — only change status
140
+ - New items are appended at the bottom
141
+ - Inherited items keep their original numbers
142
+ - When resolved, fill "Resolved In" with the sprint number
143
+
144
+ ---
145
+
146
+ ## Definition of Done
147
+
148
+ - [ ] All phase tasks completed or explicitly skipped with justification
149
+ - [ ] All emergent phase tasks completed
150
+ - [ ] Accumulated debt table updated (new items added, resolved items marked)
151
+ - [ ] Retro section filled
152
+ - [ ] Recommendations for next sprint documented
153
+ - [ ] Re-entry prompts updated to reflect current state
154
+ - [ ] {project_specific_criteria}
155
+
156
+ ---
157
+
158
+ ## Retro
159
+
160
+ <!-- Filled when the sprint is CLOSED. Do not fill during generation. -->
161
+
162
+ ### What Went Well
163
+
164
+ -
165
+
166
+ ### What Didn't Go Well
167
+
168
+ -
169
+
170
+ ### Surprises / Unexpected Findings
171
+
172
+ -
173
+
174
+ ### New Technical Debt Detected
175
+
176
+ <!-- List new debt items discovered during this sprint, referencing their D{n} numbers from the Accumulated Debt table. -->
177
+
178
+ -
179
+
180
+ ---
181
+
182
+ ## Recommendations for Sprint {N+1}
183
+
184
+ <!-- Filled when the sprint is CLOSED. Each recommendation becomes a candidate task for the next sprint.
185
+ The next sprint's Disposition table will address each one. -->
186
+
187
+ 1.
188
+ 2.
189
+ 3.