kyro-ai 3.2.1 → 3.2.3
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/.claude-plugin/plugin.json +4 -2
- package/README.md +8 -11
- package/WORKFLOW.yaml +1 -1
- package/agents/orchestrator.md +3 -3
- package/commands/forge.md +22 -44
- package/commands/status.md +21 -79
- package/commands/wrap-up.md +18 -74
- package/dist/cli/adapters/codex.js +1 -1
- package/dist/cli/adapters/codex.js.map +1 -1
- package/dist/cli/adapters/command-skills.js +1 -1
- package/dist/cli/adapters/command-skills.js.map +1 -1
- package/dist/cli/app.js +1 -1
- package/dist/cli/app.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +2 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +8 -4
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/token-audit.d.ts +3 -0
- package/dist/cli/commands/token-audit.d.ts.map +1 -0
- package/dist/cli/commands/token-audit.js +263 -0
- package/dist/cli/commands/token-audit.js.map +1 -0
- package/dist/cli/commands/tui.js +3 -3
- package/dist/cli/commands/tui.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +3 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +5 -0
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/types.d.ts +1 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/docs/HOW-TO-USE-CODEX.md +28 -60
- package/docs/HOW-TO-USE-OPENCODE.md +26 -72
- package/docs/agent-adapters.md +40 -118
- package/docs/architecture.md +7 -2
- package/docs/cli.md +25 -2
- package/docs/commands-reference.md +22 -32
- package/docs/getting-started.md +65 -115
- package/package.json +1 -1
- package/skills/sprint-forge/SKILL.md +11 -10
- package/skills/sprint-forge/assets/README.md +38 -17
- package/skills/sprint-forge/assets/fixtures/subcommands-and-reports.sizingDecision.json +17 -0
- package/skills/sprint-forge/assets/helpers/analysis/audit.md +18 -0
- package/skills/sprint-forge/assets/helpers/analysis/bugfix.md +19 -0
- package/skills/sprint-forge/assets/helpers/analysis/feature.md +28 -0
- package/skills/sprint-forge/assets/helpers/analysis/new-project.md +18 -0
- package/skills/sprint-forge/assets/helpers/analysis/refactor.md +18 -0
- package/skills/sprint-forge/assets/helpers/analysis/tech-debt.md +18 -0
- package/skills/sprint-forge/assets/helpers/metrics.md +4 -4
- package/skills/sprint-forge/assets/helpers/reentry-generator.md +4 -4
- package/skills/sprint-forge/assets/modes/INIT.md +45 -177
- package/skills/sprint-forge/assets/modes/SPRINT.md +20 -246
- package/skills/sprint-forge/assets/modes/STATUS.md +46 -128
- package/skills/sprint-forge/assets/modes/close-sprint.md +29 -0
- package/skills/sprint-forge/assets/modes/execute-task.md +26 -0
- package/skills/sprint-forge/assets/modes/plan-sprint.md +29 -0
- package/skills/sprint-forge/assets/modes/recover.md +23 -0
- package/skills/sprint-forge/assets/modes/review-task.md +25 -0
- package/skills/sprint-forge/assets/templates/DEBT.summary.json +12 -0
- package/skills/sprint-forge/assets/templates/PROJECT-README.md +16 -60
- package/skills/sprint-forge/assets/templates/REENTRY-PROMPTS.md +18 -87
- package/skills/sprint-forge/assets/templates/ROADMAP.md +16 -65
- package/skills/sprint-forge/assets/templates/ROADMAP.summary.json +24 -0
- package/skills/sprint-forge/assets/templates/SPRINT.summary.json +16 -0
- package/skills/sprint-forge/assets/templates/index.json +24 -0
- package/skills/sprint-forge/assets/templates/state.json +11 -0
- package/skills/sprint-forge/assets/helpers/analysis-guide.md +0 -207
|
@@ -1,253 +1,27 @@
|
|
|
1
|
-
# SPRINT Mode —
|
|
1
|
+
# SPRINT Mode — Router
|
|
2
2
|
|
|
3
|
-
This
|
|
3
|
+
This file is the lightweight index for sprint work. Do not load the full sprint protocol upfront.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Route
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
| Need | Load |
|
|
8
|
+
|------|------|
|
|
9
|
+
| Generate the next sprint | `plan-sprint.md` |
|
|
10
|
+
| Execute pending sprint tasks | `execute-task.md` |
|
|
11
|
+
| Validate task or phase quality | `review-task.md` |
|
|
12
|
+
| Close sprint, retro, debt, roadmap, re-entry | `close-sprint.md` |
|
|
13
|
+
| Resume interrupted or inconsistent state | `recover.md` |
|
|
8
14
|
|
|
9
|
-
|
|
10
|
-
|-----------|-----------|
|
|
11
|
-
| "generate sprint", "next sprint", "execute sprint", "run sprint", "continue sprint" | "genera sprint", "siguiente sprint", "ejecuta sprint", "corre sprint", "continúa sprint" |
|
|
15
|
+
## Required read order
|
|
12
16
|
|
|
13
|
-
|
|
17
|
+
1. `.agents/kyro/scopes/{scope}/state.json`
|
|
18
|
+
2. `.agents/kyro/scopes/{scope}/index.json`
|
|
19
|
+
3. The routed mode file above
|
|
20
|
+
4. Only the helpers/templates named by that routed mode
|
|
14
21
|
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
| Sub-Mode | Trigger | What Happens |
|
|
18
|
-
|----------|---------|--------------|
|
|
19
|
-
| **GENERATE** | "generate", "create", default when sprint file doesn't exist | Creates the sprint document only |
|
|
20
|
-
| **EXECUTE** | "execute", "run", "implement", sprint file already exists | Implements tasks from an existing sprint |
|
|
21
|
-
| **GENERATE+EXECUTE** | "generate and execute", "do the next sprint" | Generates then immediately executes |
|
|
22
|
-
|
|
23
|
-
If ambiguous, ask:
|
|
24
|
-
|
|
25
|
-
> "Should I **generate** the sprint document, **execute** an existing sprint, or **both**?"
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## GENERATE Workflow
|
|
30
|
-
|
|
31
|
-
### Step 0 — Locate Output Directory
|
|
32
|
-
|
|
33
|
-
Determine `{output_kyro_dir}` before reading any sprint files:
|
|
34
|
-
|
|
35
|
-
1. **Re-entry prompt paths** — If the user's message contains absolute file paths (e.g. `/Users/.../ROADMAP.md`), extract `{output_kyro_dir}` from those paths. This is the most reliable source.
|
|
36
|
-
2. **Explicit path** — If the user mentions a path directly, use it.
|
|
37
|
-
3. **Auto-discover** — Scan `{cwd}/.agents/kyro/scopes/`:
|
|
38
|
-
- Single directory found → use it
|
|
39
|
-
- Multiple directories → ask: "Which project? Found: {list}"
|
|
40
|
-
4. **Ask** — If none of the above: "Where are your kyro-ai documents? (e.g. `.agents/kyro/scopes/my-project/`)"
|
|
41
|
-
|
|
42
|
-
Once resolved, all subsequent steps use `{output_kyro_dir}` as the base for all file paths.
|
|
43
|
-
|
|
44
|
-
### Step 1 — Determine Sprint Number
|
|
45
|
-
|
|
46
|
-
1. Read `ROADMAP.md` to understand the planned sprints
|
|
47
|
-
2. Scan `phases/` directory for existing sprint files
|
|
48
|
-
3. The next sprint number = highest existing sprint + 1
|
|
49
|
-
4. If no sprints exist, start with Sprint 1
|
|
50
|
-
|
|
51
|
-
### Step 2 — Gather Inputs
|
|
52
|
-
|
|
53
|
-
Read the required inputs as defined in [sprint-generator.md](../helpers/sprint-generator.md):
|
|
54
|
-
|
|
55
|
-
1. **Roadmap section**: Open `ROADMAP.md`, locate Sprint {N} definition
|
|
56
|
-
- Extract: title, focus, type, version target, suggested phases
|
|
57
|
-
2. **Previous sprint** (Sprint 2+): Open `phases/SPRINT-{N-1}-*.md`
|
|
58
|
-
- Extract: Retro, Recommendations, Accumulated Debt Table
|
|
59
|
-
3. **Finding file(s)**: Open the finding file(s) mapped to this sprint in the roadmap
|
|
60
|
-
- Extract: summary, details, affected files, recommendations
|
|
61
|
-
|
|
62
|
-
### Step 3 — Build Disposition Table (Sprint 2+)
|
|
63
|
-
|
|
64
|
-
For every recommendation from Sprint N-1, determine what happens to it:
|
|
65
|
-
|
|
66
|
-
| # | Recommendation | Action | Where | Justification |
|
|
67
|
-
|---|---------------|--------|-------|---------------|
|
|
68
|
-
| 1 | {text from sprint N-1} | Incorporated | Phase 2, T2.3 | Directly addresses API consistency |
|
|
69
|
-
| 2 | {text from sprint N-1} | Deferred | Sprint 5 | Requires schema migration first |
|
|
70
|
-
| 3 | {text from sprint N-1} | N/A | — | Fixed by Sprint 2 emergent phase |
|
|
71
|
-
| 4 | {text from sprint N-1} | Converted to Phase | Phase 4 | Significant enough to warrant its own phase |
|
|
72
|
-
|
|
73
|
-
**Every recommendation MUST appear in this table.** No exceptions.
|
|
74
|
-
|
|
75
|
-
**Action options**: Incorporated, Deferred, Resolved, N/A, **Converted to Phase** (when a recommendation becomes an entire phase, not just a task).
|
|
76
|
-
|
|
77
|
-
**Reference**: See [sprint-generator.md](../helpers/sprint-generator.md) → Step 4 for action options.
|
|
78
|
-
|
|
79
|
-
### Step 4 — Build Phases
|
|
80
|
-
|
|
81
|
-
Assemble phases from three sources:
|
|
82
|
-
|
|
83
|
-
1. **Roadmap-suggested phases**: Starting point from the roadmap
|
|
84
|
-
2. **Recommendation phases**: Incorporated recommendations that need their own phase
|
|
85
|
-
3. **Debt phases**: Debt items targeting this sprint
|
|
86
|
-
|
|
87
|
-
For each phase:
|
|
88
|
-
- **Objective**: Clear statement of what the phase accomplishes
|
|
89
|
-
- **Tasks**: List with checkboxes, task IDs (T{phase}.{task}), descriptions, file paths, verification criteria
|
|
90
|
-
|
|
91
|
-
**Reference**: See [sprint-generator.md](../helpers/sprint-generator.md) → Step 5 for phase assembly rules.
|
|
92
|
-
|
|
93
|
-
### Step 5 — Assemble Sprint Document
|
|
94
|
-
|
|
95
|
-
Use the [SPRINT.md template](../templates/SPRINT.md):
|
|
96
|
-
|
|
97
|
-
1. Fill frontmatter properties with actual values (title, date, project, sprint number, previous/next doc links, related findings)
|
|
98
|
-
2. Fill metadata: source finding, previous sprint, version target, type, carry-over count
|
|
99
|
-
3. Write sprint objective
|
|
100
|
-
4. Write Disposition table (Sprint 2+)
|
|
101
|
-
5. Write phases with tasks
|
|
102
|
-
6. Copy debt table from previous sprint + add new items
|
|
103
|
-
7. Write Definition of Done
|
|
104
|
-
8. Leave Retro and Recommendations sections EMPTY
|
|
105
|
-
|
|
106
|
-
**Reference**: See [debt-tracker.md](../helpers/debt-tracker.md) for debt table rules.
|
|
107
|
-
|
|
108
|
-
### Step 6 — Write Sprint File
|
|
109
|
-
|
|
110
|
-
Save to: `{sprints_dir}/SPRINT-{N}-{slug}.md`
|
|
111
|
-
|
|
112
|
-
The slug is derived from the sprint's focus area (e.g., `architecture-cleanup`, `api-consistency`).
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## EXECUTE Workflow
|
|
117
|
-
|
|
118
|
-
### Step 7 — Read Sprint
|
|
119
|
-
|
|
120
|
-
Load the sprint file to execute. Verify it has:
|
|
121
|
-
- Phases with tasks
|
|
122
|
-
- Debt table
|
|
123
|
-
- Definition of Done
|
|
124
|
-
|
|
125
|
-
**Fill execution metadata**: Set `Execution Date` to today's date and `Executed By` to the executor's name in the sprint header. Also update the frontmatter `updated` field to today's date. These fields track who executed the sprint and when.
|
|
126
|
-
|
|
127
|
-
### Step 8 — Execute Task by Task
|
|
128
|
-
|
|
129
|
-
For each task in each phase:
|
|
130
|
-
|
|
131
|
-
1. **Mark in-progress**: Change `[ ]` to `[~]`
|
|
132
|
-
2. **Do the work**:
|
|
133
|
-
- Read relevant files
|
|
134
|
-
- Write/modify code as needed
|
|
135
|
-
- Run verification commands
|
|
136
|
-
- Test changes
|
|
137
|
-
3. **Mark done**: Change `[~]` to `[x]`
|
|
138
|
-
4. **Or mark blocked**: Change `[~]` to `[!]` with explanation
|
|
139
|
-
5. **Or mark carry-over**: Change `[~]` to `[>]` — when a task cannot be completed in this sprint but is not blocked. It will be carried over to the next sprint.
|
|
140
|
-
|
|
141
|
-
**Document evidence inline**: For each task, fill the `Evidence` field with concrete proof of work — trace logs, before/after snapshots, tables of affected items, verification marks. Evidence is not optional; it makes the sprint auditable.
|
|
142
|
-
|
|
143
|
-
**Execution order**: Process phases in order (Phase 1 → Phase 2 → ...). Within a phase, process tasks in order unless dependencies require different ordering.
|
|
144
|
-
|
|
145
|
-
**Persistence rule — checkpoint per phase**: After completing all tasks in a phase, write the sprint file to disk with all status updates (`[x]`, `[!]`, `[>]`) and evidence for that phase. This ensures progress survives unexpected interruptions (agent crash, session timeout, context overflow) without disrupting task-to-task flow within a phase. Do NOT write the file after every individual task — that fragments the agent's focus and wastes I/O. Do NOT defer all writes to sprint close — that risks losing all progress tracking on failure.
|
|
146
|
-
|
|
147
|
-
**Code quality**: Write production-quality code. Follow existing project patterns. Do not introduce new patterns without justification.
|
|
148
|
-
|
|
149
|
-
### Step 9 — Handle Emergent Work
|
|
150
|
-
|
|
151
|
-
During execution, you may discover work not covered by the plan. This is expected.
|
|
152
|
-
|
|
153
|
-
**When to add an Emergent Phase**:
|
|
154
|
-
- Found a bug that must be fixed before continuing
|
|
155
|
-
- Discovered a dependency that was not in the analysis
|
|
156
|
-
- A task reveals additional scope that cannot be deferred
|
|
157
|
-
|
|
158
|
-
**How to add**:
|
|
159
|
-
1. Add an "Emergent Phase" section in the sprint document (after planned phases)
|
|
160
|
-
2. Include: phase name, reason for emergence, tasks with IDs (TE.1, TE.2, ...)
|
|
161
|
-
3. Update Definition of Done to include emergent tasks
|
|
162
|
-
|
|
163
|
-
**Rule**: Do not add emergent phases for nice-to-haves. Only for work that is necessary to meet the sprint objective or that would create debt if deferred.
|
|
164
|
-
|
|
165
|
-
### Step 10 — Close Sprint
|
|
166
|
-
|
|
167
|
-
When all tasks are done (or explicitly skipped/blocked/carried-over):
|
|
168
|
-
|
|
169
|
-
**10a. Consolidate Findings**: Before filling the retro, complete the **Findings Consolidation** table. Review all phases (planned and emergent) and list every significant discovery with its origin, impact, and action taken. This creates an auditable trail of what was learned.
|
|
170
|
-
|
|
171
|
-
1. **Fill Retro section**:
|
|
172
|
-
- What Went Well: Things that worked as expected or better
|
|
173
|
-
- What Didn't Go Well: Challenges, blockers, things that took longer
|
|
174
|
-
- Surprises: Unexpected findings or outcomes
|
|
175
|
-
- **New Technical Debt Detected**: List new debt items discovered during execution, referencing their D{n} numbers from the Accumulated Debt table
|
|
176
|
-
|
|
177
|
-
2. **Fill Recommendations for Sprint N+1**:
|
|
178
|
-
- Numbered list of specific, actionable recommendations
|
|
179
|
-
- These become formal input for the next sprint's Disposition table
|
|
180
|
-
- Include both technical and process recommendations
|
|
181
|
-
|
|
182
|
-
3. **Update Debt Table**:
|
|
183
|
-
- Mark resolved items: Status → `resolved`, fill "Resolved In"
|
|
184
|
-
- Add new items discovered during execution
|
|
185
|
-
- Update deferred items if timelines changed
|
|
186
|
-
- Follow all rules from [debt-tracker.md](../helpers/debt-tracker.md)
|
|
187
|
-
|
|
188
|
-
4. **Update Frontmatter**:
|
|
189
|
-
- Set `updated` to today's date
|
|
190
|
-
- Set `status` to `"completed"` (or `"active"` if carry-overs exist)
|
|
191
|
-
- Set `progress` to final completion percentage (0-100)
|
|
192
|
-
- Append changelog entry: `{"version": "1.1", "date": "{today}", "changes": ["Sprint completed"]}`
|
|
193
|
-
|
|
194
|
-
5. **Verify Definition of Done**:
|
|
195
|
-
- Check every DoD item
|
|
196
|
-
- Mark as complete or document why it's not
|
|
197
|
-
|
|
198
|
-
### Step 11 — Update Re-entry Prompts
|
|
199
|
-
|
|
200
|
-
After sprint execution:
|
|
201
|
-
|
|
202
|
-
1. Open `{output_kyro_dir}/RE-ENTRY-PROMPTS.md`
|
|
203
|
-
2. Update current sprint number
|
|
204
|
-
3. Update file references (last sprint, next finding)
|
|
205
|
-
4. Update Quick Reference table with new sprint status
|
|
206
|
-
5. Update "Last updated" date
|
|
207
|
-
|
|
208
|
-
**Reference**: See [reentry-generator.md](../helpers/reentry-generator.md) for update rules.
|
|
209
|
-
|
|
210
|
-
### Step 12 — Update Roadmap (If Needed)
|
|
211
|
-
|
|
212
|
-
If execution revealed that the roadmap needs adjustment:
|
|
213
|
-
|
|
214
|
-
- A planned sprint no longer makes sense → remove or modify it
|
|
215
|
-
- A new sprint is needed → add it to the roadmap
|
|
216
|
-
- Sprint dependencies changed → update the dependency map
|
|
217
|
-
- Phase suggestions for future sprints should change → update them
|
|
218
|
-
|
|
219
|
-
**This is the ADAPTIVE principle**: The roadmap serves execution, not the reverse.
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
|
|
223
|
-
## Critical Rules for Sprint Mode
|
|
224
|
-
|
|
225
|
-
1. **One sprint at a time** — NEVER generate Sprint N+1 before Sprint N is complete
|
|
226
|
-
2. **Disposition is mandatory** — Every recommendation from Sprint N-1 must be in the Disposition table
|
|
227
|
-
3. **Emergent phases are welcome** — But only for necessary work, not nice-to-haves
|
|
228
|
-
4. **Debt table is inherited completely** — Never drop items, never reset the table
|
|
229
|
-
5. **Re-entry prompts must be updated** — Every sprint execution ends with a prompt update
|
|
230
|
-
6. **Retro is honest** — Don't sugarcoat. Document real challenges and surprises.
|
|
231
|
-
7. **Recommendations are specific** — "Improve tests" is not a recommendation. "Add unit tests for the auth middleware error paths in auth.ts:45-80" is.
|
|
232
|
-
|
|
233
|
-
---
|
|
234
|
-
|
|
235
|
-
## Error Handling
|
|
236
|
-
|
|
237
|
-
| Error | Action |
|
|
238
|
-
|-------|--------|
|
|
239
|
-
| No roadmap found | INIT mode must be run first. Inform user. |
|
|
240
|
-
| Previous sprint not found | Check if sprint numbering is correct. If Sprint 1, this is expected. |
|
|
241
|
-
| Finding file not found | Check roadmap mapping. The file may have been renamed or the mapping may be wrong. |
|
|
242
|
-
| All tasks blocked | Document blockers in retro, close sprint as incomplete, recommend resolution in Sprint N+1. |
|
|
243
|
-
| Sprint file already exists | Ask user: overwrite, resume execution, or skip to next sprint. |
|
|
244
|
-
|
|
245
|
-
---
|
|
246
|
-
|
|
247
|
-
## References
|
|
248
|
-
|
|
249
|
-
- [sprint-generator.md](../helpers/sprint-generator.md) — Sprint generation algorithm
|
|
250
|
-
- [debt-tracker.md](../helpers/debt-tracker.md) — Debt table rules
|
|
251
|
-
- [reentry-generator.md](../helpers/reentry-generator.md) — Re-entry prompt updates
|
|
252
|
-
- [SPRINT.md template](../templates/SPRINT.md) — Sprint document structure
|
|
22
|
+
## Invariants
|
|
253
23
|
|
|
24
|
+
- One sprint at a time.
|
|
25
|
+
- Previous retro, recommendations, and debt feed the next sprint.
|
|
26
|
+
- Checkpoint after each phase, not every task.
|
|
27
|
+
- Markdown remains evidence; JSON summaries are the routing index.
|
|
@@ -1,145 +1,63 @@
|
|
|
1
|
-
# STATUS Mode — Project
|
|
1
|
+
# STATUS Mode — Summary-First Project Report
|
|
2
2
|
|
|
3
|
-
This mode
|
|
3
|
+
This mode reports progress from structured summaries first. Markdown is the fallback evidence, not the default startup context.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Inputs
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
1. Read `.agents/kyro/kyro.json`.
|
|
8
|
+
2. Resolve scope and read `.agents/kyro/scopes/{scope}/state.json`.
|
|
9
|
+
3. Read `.agents/kyro/scopes/{scope}/index.json`.
|
|
10
|
+
4. Read summary files listed in `index.json`:
|
|
11
|
+
- `ROADMAP.summary.json`
|
|
12
|
+
- active or latest `SPRINT-*.summary.json`
|
|
13
|
+
- `DEBT.summary.json` when present
|
|
14
|
+
5. Open Markdown only for missing summary fields, `full` reports, or debt mutations.
|
|
8
15
|
|
|
9
|
-
|
|
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" |
|
|
16
|
+
## Report variants
|
|
12
17
|
|
|
13
|
-
|
|
18
|
+
| Variant | Context policy |
|
|
19
|
+
|---------|----------------|
|
|
20
|
+
| `brief` or empty | Summaries only unless a required field is missing. |
|
|
21
|
+
| `full` | Summaries first, then selected Markdown evidence. |
|
|
22
|
+
| `debt` | Debt summary first, then latest debt table if needed. |
|
|
23
|
+
| `debt-*` | Load `../helpers/debt-tracker.md`, mutate source Markdown, refresh summaries. |
|
|
14
24
|
|
|
15
|
-
##
|
|
25
|
+
## Metrics
|
|
16
26
|
|
|
17
|
-
|
|
18
|
-
- At least one sprint should exist for meaningful metrics (but STATUS works even with zero sprints)
|
|
27
|
+
Compute from summaries when available:
|
|
19
28
|
|
|
20
|
-
|
|
29
|
+
| Metric | Source |
|
|
30
|
+
|--------|--------|
|
|
31
|
+
| Planned/completed sprints | roadmap summary + sprint summaries |
|
|
32
|
+
| Task counts | sprint summaries |
|
|
33
|
+
| Blocked/carry-over tasks | sprint summaries |
|
|
34
|
+
| Open/resolved/deferred debt | debt summary or latest sprint summary |
|
|
35
|
+
| Roadmap adaptations | roadmap summary |
|
|
36
|
+
| Next action | `state.json.nextAction` and `index.json.nextTask` |
|
|
21
37
|
|
|
22
|
-
##
|
|
38
|
+
## Missing summaries
|
|
23
39
|
|
|
24
|
-
|
|
40
|
+
If a summary is missing:
|
|
25
41
|
|
|
26
|
-
|
|
42
|
+
1. Open the corresponding Markdown source.
|
|
43
|
+
2. Complete the report.
|
|
44
|
+
3. Warn that this scope needs summary refresh.
|
|
45
|
+
4. If mutating debt/status, write the missing summary before finishing.
|
|
27
46
|
|
|
28
|
-
|
|
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/`)"
|
|
47
|
+
## Output
|
|
32
48
|
|
|
33
|
-
|
|
49
|
+
For `brief`, show only:
|
|
34
50
|
|
|
35
|
-
|
|
51
|
+
- scope and status
|
|
52
|
+
- active sprint / next action
|
|
53
|
+
- task progress
|
|
54
|
+
- open debt count
|
|
55
|
+
- next recommended command
|
|
36
56
|
|
|
37
|
-
|
|
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
|
|
57
|
+
For `full`, include roadmap health, sprint table, debt trend, and re-entry pointer.
|
|
40
58
|
|
|
41
|
-
|
|
59
|
+
## Rules
|
|
42
60
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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
|
|
61
|
+
- Do not read every sprint Markdown file when summaries exist.
|
|
62
|
+
- Debt items are never deleted.
|
|
63
|
+
- Keep `index.json` aligned with any report mutation.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Close Sprint Mode
|
|
2
|
+
|
|
3
|
+
Close a sprint or session by updating only the artifacts required for handoff and learning.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
1. Read `state.json`, `index.json`, and active sprint summary.
|
|
8
|
+
2. Open active sprint Markdown for retro, findings consolidation, debt, and Definition of Done.
|
|
9
|
+
3. Read `../helpers/debt-tracker.md` before changing debt rows.
|
|
10
|
+
4. Read `../helpers/reentry-generator.md` only before updating re-entry prompts.
|
|
11
|
+
5. Load roadmap Markdown only if execution changed future sprint sequencing.
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Run the pre-close quality checkpoint.
|
|
16
|
+
2. Consolidate findings from planned and emergent phases.
|
|
17
|
+
3. Fill retro: went well, did not go well, surprises, new debt.
|
|
18
|
+
4. Write recommendations for Sprint N+1.
|
|
19
|
+
5. Update accumulated debt statuses and new debt rows.
|
|
20
|
+
6. Verify Definition of Done.
|
|
21
|
+
7. Update re-entry prompts and roadmap only when needed.
|
|
22
|
+
8. Refresh `state.json`, `index.json`, active sprint summary, and debt summary.
|
|
23
|
+
9. Propose learned rules for `.agents/kyro/scopes/rules.md`.
|
|
24
|
+
|
|
25
|
+
## Rules
|
|
26
|
+
|
|
27
|
+
- Retro must be honest and specific.
|
|
28
|
+
- Re-entry context must point to the next action.
|
|
29
|
+
- Markdown is the durable evidence; summaries are the routing cache.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Execute Task Mode
|
|
2
|
+
|
|
3
|
+
Execute the active sprint task by task while keeping checkpoints cheap and auditable.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
1. Read `state.json` and `index.json`.
|
|
8
|
+
2. Read the active `SPRINT-*.summary.json`.
|
|
9
|
+
3. Open the active sprint Markdown only for the current phase/task details.
|
|
10
|
+
4. Read `review-task.md` only when validating completed work.
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
|
|
14
|
+
1. Set execution metadata in the sprint file when execution starts.
|
|
15
|
+
2. Process phases in order, and tasks in order unless dependencies require otherwise.
|
|
16
|
+
3. Mark the current task `[~]`, perform the work, run verification, then mark `[x]`, `[!]`, or `[>]`.
|
|
17
|
+
4. Record concrete evidence inline for every task.
|
|
18
|
+
5. Add an emergent phase only for required work that blocks the sprint objective or would create debt if deferred.
|
|
19
|
+
6. After each phase, write the sprint file, refresh `SPRINT-*.summary.json`, `index.json`, and `state.json`.
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
- Do not checkpoint after every task unless the task itself completes the phase.
|
|
24
|
+
- Do not defer all checkpointing to sprint close.
|
|
25
|
+
- Do not introduce new project patterns without justification.
|
|
26
|
+
- If implementation reveals the plan is wrong, return to `plan-sprint.md`.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Plan Sprint Mode
|
|
2
|
+
|
|
3
|
+
Generate the next sprint from structured state first, then Markdown evidence only as needed.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
1. Read `.agents/kyro/scopes/{scope}/state.json`.
|
|
8
|
+
2. Read `.agents/kyro/scopes/{scope}/index.json`.
|
|
9
|
+
3. Read `ROADMAP.summary.json` if present; otherwise open `ROADMAP.md`.
|
|
10
|
+
4. For Sprint 2+, read previous `SPRINT-*.summary.json` first; open Markdown only for missing retro, recommendation, or debt detail.
|
|
11
|
+
5. Read `../helpers/sprint-generator.md` only after the next sprint number is known.
|
|
12
|
+
6. Load `../templates/SPRINT.md` only when writing the sprint file.
|
|
13
|
+
|
|
14
|
+
## Workflow
|
|
15
|
+
|
|
16
|
+
1. Resolve next sprint number from state/index and existing `phases/` files.
|
|
17
|
+
2. Extract roadmap focus, type, target version, and suggested phases.
|
|
18
|
+
3. Build the mandatory disposition table for every previous recommendation.
|
|
19
|
+
4. Assemble phases from roadmap suggestions, carried recommendations, and due debt.
|
|
20
|
+
5. Write `phases/SPRINT-{N}-{slug}.md`.
|
|
21
|
+
6. Write `phases/SPRINT-{N}-{slug}.summary.json`.
|
|
22
|
+
7. Update `state.json` with `activeSprint`, `currentPhase: "planning"`, and `nextAction: "execute_task"`.
|
|
23
|
+
8. Update `index.json` with active sprint summary, next task, open debt count, and relevant paths.
|
|
24
|
+
|
|
25
|
+
## Rules
|
|
26
|
+
|
|
27
|
+
- Never generate Sprint N+1 before Sprint N is complete.
|
|
28
|
+
- Every previous recommendation must be incorporated, deferred, resolved, marked N/A, or converted to a phase.
|
|
29
|
+
- Debt is inherited completely; never reset or drop debt rows.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Recover Mode
|
|
2
|
+
|
|
3
|
+
Recover Kyro when state, summaries, and Markdown disagree.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
1. Read `.agents/kyro/kyro.json`.
|
|
8
|
+
2. Read scope `state.json` and `index.json` if present.
|
|
9
|
+
3. List available roadmap, sprint, and summary files.
|
|
10
|
+
4. Open Markdown only for artifacts needed to rebuild missing structured state.
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
|
|
14
|
+
1. Identify the latest trustworthy artifact by timestamp and content completeness.
|
|
15
|
+
2. Rebuild missing or stale `state.json`, `index.json`, and `*.summary.json` from Markdown evidence.
|
|
16
|
+
3. Preserve user-authored Markdown; do not rewrite it unless fixing broken frontmatter or explicit state markers.
|
|
17
|
+
4. Report what was recovered and the next recommended route.
|
|
18
|
+
|
|
19
|
+
## Rules
|
|
20
|
+
|
|
21
|
+
- Prefer preserving user work over making state look clean.
|
|
22
|
+
- Never invent completed tasks without evidence.
|
|
23
|
+
- If multiple scopes are plausible, ask the user to choose before writing.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Review Task Mode
|
|
2
|
+
|
|
3
|
+
Validate completed Kyro work without loading unrelated lifecycle context.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
1. Read `state.json`, `index.json`, and the active sprint summary.
|
|
8
|
+
2. Open the active sprint Markdown only for the completed task or phase.
|
|
9
|
+
3. Read `../helpers/reviewer.md` when classifying findings.
|
|
10
|
+
4. Read project-specific quality commands from config or repository scripts.
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
|
|
14
|
+
1. Verify task evidence matches actual code/docs changes.
|
|
15
|
+
2. Run relevant checks for the touched area.
|
|
16
|
+
3. Classify findings as critical, warning, or suggestion.
|
|
17
|
+
4. Block completion on critical issues.
|
|
18
|
+
5. Record warnings and suggestions in the sprint evidence or retro queue.
|
|
19
|
+
6. Refresh summaries after status changes.
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
- Review happens during execution and at close.
|
|
24
|
+
- Do not mark tasks complete without evidence.
|
|
25
|
+
- Suggestions do not block, but they must be visible in retro inputs.
|