kyro-ai 3.2.2 → 3.3.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 (110) hide show
  1. package/.claude-plugin/plugin.json +4 -2
  2. package/README.md +14 -1
  3. package/WORKFLOW.yaml +1 -1
  4. package/agents/orchestrator.md +3 -3
  5. package/commands/status.md +2 -2
  6. package/dist/cli/app.d.ts.map +1 -1
  7. package/dist/cli/app.js +9 -0
  8. package/dist/cli/app.js.map +1 -1
  9. package/dist/cli/artifacts/json.d.ts +8 -0
  10. package/dist/cli/artifacts/json.d.ts.map +1 -0
  11. package/dist/cli/artifacts/json.js +18 -0
  12. package/dist/cli/artifacts/json.js.map +1 -0
  13. package/dist/cli/artifacts/paths.d.ts +9 -0
  14. package/dist/cli/artifacts/paths.d.ts.map +1 -0
  15. package/dist/cli/artifacts/paths.js +36 -0
  16. package/dist/cli/artifacts/paths.js.map +1 -0
  17. package/dist/cli/artifacts/schema.d.ts +102 -0
  18. package/dist/cli/artifacts/schema.d.ts.map +1 -0
  19. package/dist/cli/artifacts/schema.js +157 -0
  20. package/dist/cli/artifacts/schema.js.map +1 -0
  21. package/dist/cli/commands/artifact-doctor.d.ts +8 -0
  22. package/dist/cli/commands/artifact-doctor.d.ts.map +1 -0
  23. package/dist/cli/commands/artifact-doctor.js +246 -0
  24. package/dist/cli/commands/artifact-doctor.js.map +1 -0
  25. package/dist/cli/commands/doctor.d.ts +1 -1
  26. package/dist/cli/commands/doctor.d.ts.map +1 -1
  27. package/dist/cli/commands/doctor.js +5 -2
  28. package/dist/cli/commands/doctor.js.map +1 -1
  29. package/dist/cli/commands/repair.d.ts +4 -0
  30. package/dist/cli/commands/repair.d.ts.map +1 -0
  31. package/dist/cli/commands/repair.js +271 -0
  32. package/dist/cli/commands/repair.js.map +1 -0
  33. package/dist/cli/commands/scope.d.ts +2 -0
  34. package/dist/cli/commands/scope.d.ts.map +1 -0
  35. package/dist/cli/commands/scope.js +113 -0
  36. package/dist/cli/commands/scope.js.map +1 -0
  37. package/dist/cli/commands/token-audit.d.ts.map +1 -1
  38. package/dist/cli/commands/token-audit.js +124 -2
  39. package/dist/cli/commands/token-audit.js.map +1 -1
  40. package/dist/cli/commands/tui.js +3 -3
  41. package/dist/cli/commands/tui.js.map +1 -1
  42. package/dist/cli/help.d.ts.map +1 -1
  43. package/dist/cli/help.js +35 -2
  44. package/dist/cli/help.js.map +1 -1
  45. package/dist/cli/options.d.ts.map +1 -1
  46. package/dist/cli/options.js +17 -0
  47. package/dist/cli/options.js.map +1 -1
  48. package/dist/cli/types.d.ts +2 -0
  49. package/dist/cli/types.d.ts.map +1 -1
  50. package/docs/cli.md +35 -2
  51. package/fixtures/artifact-integrity/active-sprint-missing/.agents/kyro/kyro.json +11 -0
  52. package/fixtures/artifact-integrity/active-sprint-missing/.agents/kyro/scopes/demo/DEBT.summary.json +12 -0
  53. package/fixtures/artifact-integrity/active-sprint-missing/.agents/kyro/scopes/demo/RE-ENTRY-PROMPTS.md +1 -0
  54. package/fixtures/artifact-integrity/active-sprint-missing/.agents/kyro/scopes/demo/ROADMAP.md +4 -0
  55. package/fixtures/artifact-integrity/active-sprint-missing/.agents/kyro/scopes/demo/ROADMAP.summary.json +15 -0
  56. package/fixtures/artifact-integrity/active-sprint-missing/.agents/kyro/scopes/demo/index.json +15 -0
  57. package/fixtures/artifact-integrity/active-sprint-missing/.agents/kyro/scopes/demo/phases/SPRINT-001-demo.md +8 -0
  58. package/fixtures/artifact-integrity/active-sprint-missing/.agents/kyro/scopes/demo/phases/SPRINT-001-demo.summary.json +16 -0
  59. package/fixtures/artifact-integrity/active-sprint-missing/.agents/kyro/scopes/demo/state.json +11 -0
  60. package/fixtures/artifact-integrity/invalid-state/.agents/kyro/kyro.json +11 -0
  61. package/fixtures/artifact-integrity/invalid-state/.agents/kyro/scopes/demo/DEBT.summary.json +12 -0
  62. package/fixtures/artifact-integrity/invalid-state/.agents/kyro/scopes/demo/RE-ENTRY-PROMPTS.md +1 -0
  63. package/fixtures/artifact-integrity/invalid-state/.agents/kyro/scopes/demo/ROADMAP.md +4 -0
  64. package/fixtures/artifact-integrity/invalid-state/.agents/kyro/scopes/demo/ROADMAP.summary.json +15 -0
  65. package/fixtures/artifact-integrity/invalid-state/.agents/kyro/scopes/demo/index.json +15 -0
  66. package/fixtures/artifact-integrity/invalid-state/.agents/kyro/scopes/demo/phases/SPRINT-001-demo.md +8 -0
  67. package/fixtures/artifact-integrity/invalid-state/.agents/kyro/scopes/demo/phases/SPRINT-001-demo.summary.json +16 -0
  68. package/fixtures/artifact-integrity/invalid-state/.agents/kyro/scopes/demo/state.json +10 -0
  69. package/fixtures/artifact-integrity/missing-summary/.agents/kyro/kyro.json +11 -0
  70. package/fixtures/artifact-integrity/missing-summary/.agents/kyro/scopes/demo/RE-ENTRY-PROMPTS.md +1 -0
  71. package/fixtures/artifact-integrity/missing-summary/.agents/kyro/scopes/demo/ROADMAP.md +4 -0
  72. package/fixtures/artifact-integrity/missing-summary/.agents/kyro/scopes/demo/index.json +15 -0
  73. package/fixtures/artifact-integrity/missing-summary/.agents/kyro/scopes/demo/phases/SPRINT-001-demo.md +8 -0
  74. package/fixtures/artifact-integrity/missing-summary/.agents/kyro/scopes/demo/state.json +11 -0
  75. package/fixtures/artifact-integrity/stale-summary/.agents/kyro/kyro.json +11 -0
  76. package/fixtures/artifact-integrity/stale-summary/.agents/kyro/scopes/demo/DEBT.summary.json +12 -0
  77. package/fixtures/artifact-integrity/stale-summary/.agents/kyro/scopes/demo/RE-ENTRY-PROMPTS.md +1 -0
  78. package/fixtures/artifact-integrity/stale-summary/.agents/kyro/scopes/demo/ROADMAP.md +4 -0
  79. package/fixtures/artifact-integrity/stale-summary/.agents/kyro/scopes/demo/ROADMAP.summary.json +15 -0
  80. package/fixtures/artifact-integrity/stale-summary/.agents/kyro/scopes/demo/index.json +15 -0
  81. package/fixtures/artifact-integrity/stale-summary/.agents/kyro/scopes/demo/phases/SPRINT-001-demo.md +8 -0
  82. package/fixtures/artifact-integrity/stale-summary/.agents/kyro/scopes/demo/phases/SPRINT-001-demo.summary.json +16 -0
  83. package/fixtures/artifact-integrity/stale-summary/.agents/kyro/scopes/demo/state.json +11 -0
  84. package/fixtures/artifact-integrity/valid/.agents/kyro/kyro.json +11 -0
  85. package/fixtures/artifact-integrity/valid/.agents/kyro/scopes/demo/DEBT.summary.json +12 -0
  86. package/fixtures/artifact-integrity/valid/.agents/kyro/scopes/demo/RE-ENTRY-PROMPTS.md +1 -0
  87. package/fixtures/artifact-integrity/valid/.agents/kyro/scopes/demo/ROADMAP.md +4 -0
  88. package/fixtures/artifact-integrity/valid/.agents/kyro/scopes/demo/ROADMAP.summary.json +15 -0
  89. package/fixtures/artifact-integrity/valid/.agents/kyro/scopes/demo/index.json +15 -0
  90. package/fixtures/artifact-integrity/valid/.agents/kyro/scopes/demo/phases/SPRINT-001-demo.md +8 -0
  91. package/fixtures/artifact-integrity/valid/.agents/kyro/scopes/demo/phases/SPRINT-001-demo.summary.json +16 -0
  92. package/fixtures/artifact-integrity/valid/.agents/kyro/scopes/demo/state.json +11 -0
  93. package/package.json +6 -2
  94. package/scripts/check-artifact-fixtures.mjs +56 -0
  95. package/skills/sprint-forge/SKILL.md +2 -2
  96. package/skills/sprint-forge/assets/README.md +15 -4
  97. package/skills/sprint-forge/assets/fixtures/subcommands-and-reports.sizingDecision.json +17 -0
  98. package/skills/sprint-forge/assets/helpers/analysis/audit.md +18 -0
  99. package/skills/sprint-forge/assets/helpers/analysis/bugfix.md +19 -0
  100. package/skills/sprint-forge/assets/helpers/analysis/feature.md +28 -0
  101. package/skills/sprint-forge/assets/helpers/analysis/new-project.md +18 -0
  102. package/skills/sprint-forge/assets/helpers/analysis/refactor.md +18 -0
  103. package/skills/sprint-forge/assets/helpers/analysis/tech-debt.md +18 -0
  104. package/skills/sprint-forge/assets/modes/INIT.md +33 -64
  105. package/skills/sprint-forge/assets/templates/PROJECT-README.md +16 -60
  106. package/skills/sprint-forge/assets/templates/REENTRY-PROMPTS.md +18 -87
  107. package/skills/sprint-forge/assets/templates/ROADMAP.md +16 -65
  108. package/skills/sprint-forge/assets/templates/ROADMAP.summary.json +9 -0
  109. package/skills/sprint-forge/assets/templates/index.json +9 -0
  110. package/skills/sprint-forge/assets/helpers/analysis-guide.md +0 -207
@@ -0,0 +1,19 @@
1
+ # Bugfix Analysis
2
+
3
+ Use for broken behavior, regressions, or incorrect outputs.
4
+
5
+ ## Inspect
6
+
7
+ 1. Reproduce or restate the failure precisely.
8
+ 2. Trace the failing path from input to output.
9
+ 3. Identify root cause and blast radius.
10
+ 4. Search for the same pattern in nearby code.
11
+ 5. Find the narrowest verification that proves the fix.
12
+
13
+ ## Findings
14
+
15
+ Document root cause, affected files, reproduction, expected behavior, proposed fix, and tests.
16
+
17
+ ## Sizing signals
18
+
19
+ Use one sprint for localized fixes. Split only when reproduction, infrastructure, migration, or broad duplicated patterns require independent proof.
@@ -0,0 +1,28 @@
1
+ # Feature Analysis
2
+
3
+ Use for new user-visible behavior or capability changes.
4
+
5
+ ## Inspect
6
+
7
+ 1. Identify the public interface affected: command, API, UI, config, or artifact.
8
+ 2. Trace the smallest existing path that owns similar behavior.
9
+ 3. Read only the files needed to understand integration points, tests, and docs.
10
+ 4. Capture risks from compatibility, persistence, validation, or missing tests.
11
+
12
+ ## Findings
13
+
14
+ Write findings only for distinct implementation concerns. Do not split by task labels alone.
15
+
16
+ Each finding must include:
17
+
18
+ - summary
19
+ - affected files or modules
20
+ - user-visible behavior
21
+ - implementation recommendation
22
+ - validation approach
23
+
24
+ ## Sizing signals
25
+
26
+ Multiple sprints are justified when the feature has a dependency chain, public interface change, reusable foundation, separate review units, or risk that should be proven independently.
27
+
28
+ One sprint is acceptable when the change is cohesive, low risk, and can be reviewed end-to-end safely.
@@ -0,0 +1,18 @@
1
+ # New Project Analysis
2
+
3
+ Use when creating a new package, app, CLI, or workflow from scratch.
4
+
5
+ ## Inspect
6
+
7
+ 1. Clarify the user goal, target audience, and first usable slice.
8
+ 2. Identify comparable local patterns or repo conventions.
9
+ 3. Choose the minimum architecture needed for the first release.
10
+ 4. List unknowns that block implementation.
11
+
12
+ ## Findings
13
+
14
+ Document scope, non-goals, interfaces, stack decisions, risks, and first milestone.
15
+
16
+ ## Sizing signals
17
+
18
+ Multiple sprints are justified for scaffolding, core behavior, publishing, or integration phases that prove independently valuable milestones. Avoid planning speculative future features.
@@ -0,0 +1,18 @@
1
+ # Refactor Analysis
2
+
3
+ Use for structural changes that preserve intended behavior.
4
+
5
+ ## Inspect
6
+
7
+ 1. Identify the behavior that must remain stable.
8
+ 2. Map coupling, ownership boundaries, and current tests.
9
+ 3. Find the smallest safe sequence of changes.
10
+ 4. Note compatibility or migration constraints.
11
+
12
+ ## Findings
13
+
14
+ Document current structure, target structure, affected modules, risks, and verification gates.
15
+
16
+ ## Sizing signals
17
+
18
+ Split when a foundation must land before consumers, when compatibility must be preserved, or when review units would otherwise mix unrelated concerns. Keep as one sprint for local cleanups with strong tests.
@@ -0,0 +1,18 @@
1
+ # Tech Debt Analysis
2
+
3
+ Use for cleanup, modernization, dependency, or maintainability work.
4
+
5
+ ## Inspect
6
+
7
+ 1. Identify debt symptoms and the behavior they affect.
8
+ 2. Separate blocking debt from cosmetic cleanup.
9
+ 3. Check tests, build health, and known constraints.
10
+ 4. Prioritize by risk reduction and unblock value.
11
+
12
+ ## Findings
13
+
14
+ Document debt item, impact, affected files, remediation, and validation.
15
+
16
+ ## Sizing signals
17
+
18
+ Split debt work when items have different risk profiles, owners, or dependency order. Group small related cleanups when they share the same verification path.
@@ -1,103 +1,72 @@
1
- # INIT Mode — Analysis, Roadmap & Scoped State
1
+ # INIT Mode — Lean Analysis, Roadmap & Scoped State
2
2
 
3
- Use INIT when a scope has no Kyro roadmap yet. INIT creates human-readable evidence plus structured routing files so future commands do not reread everything.
3
+ Use INIT when a scope has no Kyro roadmap. Optimize for justified sprint boundaries, not fewer sprints.
4
4
 
5
5
  ## Inputs
6
6
 
7
7
  - User request and current repository path.
8
8
  - `.agents/kyro/kyro.json` if present.
9
- - `../helpers/analysis-guide.md` for analysis strategy.
9
+ - One work-type helper under `../helpers/analysis/` after routing.
10
10
  - Templates only when writing their artifact.
11
11
 
12
12
  ## Step 1 — Resolve scope
13
13
 
14
- Determine:
15
-
16
- | Field | Rule |
17
- |-------|------|
18
- | scope | Short kebab-case work topic, not the repo name. |
19
- | codebasePath | Usually current working directory. |
20
- | outputDir | Default `.agents/kyro/scopes/{scope}/`. |
21
-
22
- If scope or output directory is ambiguous, ask once. Then create the scoped directory structure.
14
+ Determine `scope`, `codebasePath`, and `outputDir` (`.agents/kyro/scopes/{scope}/`). If scope or output directory is ambiguous, ask once. If the output directory exists, ask whether to resume or choose a different scope.
23
15
 
24
16
  ## Step 2 — Detect work type
25
17
 
26
- Classify the request as audit/refactor, feature, bugfix, new project, or tech debt. If unclear, ask before analysis.
18
+ Classify as `feature`, `bugfix`, `audit`, `refactor`, `new-project`, or `tech-debt`. Load only the matching helper:
27
19
 
28
- ## Step 3 — Analyze
29
-
30
- Use project search/read tools to inspect only what the work type requires:
20
+ ```text
21
+ ../helpers/analysis/{workType}.md
22
+ ```
31
23
 
32
- - Audit/refactor: broad architecture and quality scan.
33
- - Feature: integration points and missing behavior.
34
- - Bugfix: reproduce, root cause, blast radius.
35
- - New project: requirements and comparable patterns.
36
- - Tech debt: debt indicators and cleanup targets.
24
+ ## Step 3 Analyze
37
25
 
38
- Let evidence determine findings. Do not force a fixed category list.
26
+ Use project search/read tools only for the detected work type. Let evidence determine findings. Do not force category counts or split work by labels alone.
39
27
 
40
28
  ## Step 4 — Write findings
41
29
 
42
- Write each distinct finding to `{outputDir}/findings/NN-descriptive-slug.md`.
30
+ Write each distinct finding to `{outputDir}/findings/NN-descriptive-slug.md` with summary, severity, affected files, details, recommendation, and validation.
43
31
 
44
- Each finding needs summary, severity, affected files, details, and recommendations. Use `analysis-guide.md` for the detailed format.
32
+ ## Step 5 Decide sprint sizing
45
33
 
46
- ## Step 5 Write roadmap
34
+ Before writing the roadmap, produce `sizingDecision`:
47
35
 
48
- Load `../templates/ROADMAP.md` only now. Write `{outputDir}/ROADMAP.md` with:
36
+ ```json
37
+ {
38
+ "recommendedSprintCount": 1,
39
+ "riskLevel": "low | medium | high",
40
+ "rationale": "...",
41
+ "splitTriggers": [],
42
+ "whyNotFewer": "...",
43
+ "whyNotMore": "...",
44
+ "sprintProofs": []
45
+ }
46
+ ```
49
47
 
50
- - project paths
51
- - finding-to-sprint map
52
- - sprint dependencies
53
- - sprint title/focus/type/version target
54
- - suggested phases
55
- - sprint summary table
48
+ Consistency rules: count must match planned sprints; `sprintProofs.length` must match count; every sprint needs one proof; multi-sprint plans need non-empty `splitTriggers`; `whyNotFewer` and `whyNotMore` cannot be empty.
56
49
 
57
- ## Step 6 — Scaffold human artifacts
50
+ ## Step 6 — Write artifacts
58
51
 
59
52
  Load templates only when writing:
60
53
 
61
- - `../templates/PROJECT-README.md` `{outputDir}/README.md`
62
- - `../templates/REENTRY-PROMPTS.md` `{outputDir}/RE-ENTRY-PROMPTS.md`
54
+ - `../templates/ROADMAP.md` with paths, `sizingDecision`, dependency map, sprint summary, and sprint definitions.
55
+ - `../templates/PROJECT-README.md` for scope overview.
56
+ - `../templates/REENTRY-PROMPTS.md` for summary-first recovery.
63
57
 
64
- Create `{outputDir}/phases/` empty. Sprints are generated later.
58
+ Create `{outputDir}/phases/` empty.
65
59
 
66
60
  ## Step 7 — Write structured routing files
67
61
 
68
- Create:
69
-
70
- - `{outputDir}/state.json` from `../templates/state.json`
71
- - `{outputDir}/index.json` from `../templates/index.json`
72
- - `{outputDir}/ROADMAP.summary.json` from `../templates/ROADMAP.summary.json`
73
-
74
- Initial values:
75
-
76
- ```json
77
- {
78
- "status": "planning",
79
- "activeSprint": null,
80
- "currentPhase": "init",
81
- "nextAction": "plan_sprint"
82
- }
83
- ```
84
-
85
- Update `.agents/kyro/kyro.json` so `scopes` includes this scope and `activeScope` points to it when appropriate.
62
+ Create `state.json`, `index.json`, and `ROADMAP.summary.json`. Include `sizingDecision` in `index.json` and `ROADMAP.summary.json`. Update `.agents/kyro/kyro.json` with the scope and activeScope when appropriate.
86
63
 
87
64
  ## Output
88
65
 
89
- Report:
90
-
91
- - scope
92
- - work type
93
- - number of findings
94
- - planned sprint count
95
- - files created
96
- - next action: run `kyro-forge` to plan Sprint 1
66
+ Report scope, work type, finding count, sprint count, sizing rationale, files created, and next action: run `kyro-forge` to plan Sprint 1.
97
67
 
98
68
  ## Rules
99
69
 
100
70
  - `kyro install` never creates scoped `state.json`; INIT does.
101
71
  - Markdown is durable evidence; JSON is the fast routing index.
102
- - Do not load sprint templates, debt tracker, or execution modes during INIT.
103
- - If the output directory already exists, ask whether to resume or choose a different scope.
72
+ - Do not load sprint templates, debt tracker, execution modes, or unrelated analysis helpers during INIT.
@@ -27,45 +27,16 @@ related:
27
27
  > Created: {date}
28
28
  > Codebase: `{codebase_path}`
29
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
30
+ This directory stores Kyro artifacts for `{scope}`. Use structured summaries first; open Markdown only when a router needs durable evidence.
50
31
 
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
- ```
32
+ ## Quick Resume
65
33
 
66
- ---
34
+ 1. Read `state.json`.
35
+ 2. Read `index.json`.
36
+ 3. Read `ROADMAP.summary.json`.
37
+ 4. Run `kyro-forge`, `kyro-status`, or `kyro-wrap-up`.
67
38
 
68
- ## Absolute Paths
39
+ ## Paths
69
40
 
70
41
  | Resource | Path |
71
42
  |----------|------|
@@ -74,34 +45,19 @@ If you are an AI agent resuming work on this project, read these files in order:
74
45
  | Findings | `{output_kyro_dir}/findings/` |
75
46
  | Sprints | `{output_kyro_dir}/phases/` |
76
47
  | Roadmap | `{output_kyro_dir}/ROADMAP.md` |
77
- | Re-entry Prompts | `{output_kyro_dir}/RE-ENTRY-PROMPTS.md` |
78
-
79
- ---
48
+ | Re-entry | `{output_kyro_dir}/RE-ENTRY-PROMPTS.md` |
80
49
 
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 -->
50
+ ## Current State
94
51
 
95
52
  | Metric | Value |
96
53
  |--------|-------|
97
- | {metric_name} | {metric_value} |
98
-
99
- ---
54
+ | Work type | {work_type} |
55
+ | Planned sprints | {planned_sprint_count} |
56
+ | Active sprint | {active_sprint} |
57
+ | Next action | {next_action} |
100
58
 
101
59
  ## Sprint Map
102
60
 
103
- <!-- Updated as sprints are completed -->
104
-
105
- | Sprint | Status | Focus | Key Deliverables |
106
- |--------|--------|-------|-----------------|
107
- | 1 | {status} | {focus} | {deliverables} |
61
+ | Sprint | Status | Focus | Proof |
62
+ |--------|--------|-------|-------|
63
+ | 1 | {status} | {focus} | {sprint_proof} |
@@ -27,106 +27,37 @@ related:
27
27
  > Last updated: {date}
28
28
  > Current sprint: {current_sprint_number}
29
29
 
30
- These prompts help you (or a new agent) recover full project context in a new session.
30
+ Use these prompts to resume through summary-first routing. Open long Markdown only when a router asks for it.
31
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
32
+ ## Fast Context
53
33
 
54
34
  | Resource | Path |
55
35
  |----------|------|
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
- ---
36
+ | State | `{output_kyro_dir}/state.json` |
37
+ | Index | `{output_kyro_dir}/index.json` |
38
+ | Roadmap Summary | `{output_kyro_dir}/ROADMAP.summary.json` |
39
+ | Sprints | `{output_kyro_dir}/phases/` |
62
40
 
63
- ## Scenario 1 — First Sprint (after INIT)
64
-
65
- Use this prompt when INIT has been completed and you need to generate Sprint 1.
41
+ ## Resume Planning
66
42
 
43
+ ```text
44
+ Continue Kyro scope `{scope}`. Read `{output_kyro_dir}/state.json`, `{output_kyro_dir}/index.json`, and `{output_kyro_dir}/ROADMAP.summary.json` first. Then use kyro-forge to plan the next sprint. Open ROADMAP.md or finding Markdown only if the router requests missing details.
67
45
  ```
68
- I'm working on the {scope} project. The analysis and roadmap have been created.
69
46
 
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/
47
+ ## Resume Execution
74
48
 
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.
49
+ ```text
50
+ Continue active Kyro sprint for `{scope}`. Read state.json and index.json first, then the active SPRINT summary JSON if present. Use kyro-forge to route to execution, review, close, or recover. Open sprint Markdown only when required for the active task.
77
51
  ```
78
52
 
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.
53
+ ## Status
121
54
 
55
+ ```text
56
+ Report Kyro status for `{scope}`. Read state.json, index.json, ROADMAP.summary.json, SPRINT summaries, and DEBT.summary.json first. Use kyro-status brief unless full evidence is requested.
122
57
  ```
123
- I need a status report on the {scope} project.
124
58
 
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/
59
+ ## Closeout
129
60
 
130
- Then use /kyro:forge to generate a status report showing: completed sprints,
131
- accumulated debt, metrics, and what's planned next.
61
+ ```text
62
+ Close the Kyro session for `{scope}`. Read state.json and index.json first, then use kyro-wrap-up. Update summaries and re-entry prompts after any Markdown changes.
132
63
  ```
@@ -26,8 +26,6 @@ related:
26
26
 
27
27
  > Generated by `kyro-ai` on {date}
28
28
 
29
- ---
30
-
31
29
  ## Project Paths
32
30
 
33
31
  | Path | Value |
@@ -37,80 +35,32 @@ related:
37
35
  | Findings | `{output_kyro_dir}/findings/` |
38
36
  | Sprints | `{output_kyro_dir}/phases/` |
39
37
 
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
- ---
38
+ ## Sprint Sizing Decision
70
39
 
71
- ## Sprint Template
72
-
73
- Each sprint in this roadmap follows this structure:
40
+ ```json
41
+ {sizing_decision_json}
42
+ ```
74
43
 
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 |
44
+ Acceptance:
84
45
 
85
- ---
46
+ - `recommendedSprintCount` equals the sprint rows below.
47
+ - Each sprint has exactly one `sprintProofs` entry.
48
+ - Multi-sprint plans include at least one `splitTriggers` entry.
49
+ - `whyNotFewer` and `whyNotMore` are non-empty.
86
50
 
87
51
  ## Dependency Map
88
52
 
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
- ```
53
+ ```text
96
54
  {dependency_diagram}
97
55
  ```
98
56
 
99
- ---
100
-
101
57
  ## Sprint Summary
102
58
 
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
59
+ | Sprint | Finding Source | Version | Type | Focus | Dependencies | Proof | Status |
60
+ |--------|----------------|---------|------|-------|--------------|-------|--------|
61
+ | 1 | `{finding_file}` | {version} | {type} | {focus} | | {sprint_proof} | pending |
112
62
 
113
- <!-- Fill during INIT: expand each sprint with suggested phases -->
63
+ ## Sprint Definitions
114
64
 
115
65
  ### Sprint 1 — {title}
116
66
 
@@ -119,8 +69,9 @@ Sprint 1 → Sprint 2 → Sprint 3
119
69
  - **Type**: {type}
120
70
  - **Focus**: {focus}
121
71
  - **Dependencies**: None
72
+ - **Proof**: {sprint_proof}
122
73
  - **Suggested Phases**:
123
74
  1. {phase_1_name} — {phase_1_description}
124
75
  2. {phase_2_name} — {phase_2_description}
125
76
 
126
- <!-- Add more sprints as needed. The number of sprints is determined by the analysis. -->
77
+ <!-- Add only justified sprints. Optimize for justified boundaries, not fewer sprints. -->
@@ -6,6 +6,15 @@
6
6
  "plannedSprintCount": 0,
7
7
  "completedSprintCount": 0,
8
8
  "adaptationCount": 0,
9
+ "sizingDecision": {
10
+ "recommendedSprintCount": 0,
11
+ "riskLevel": "low",
12
+ "rationale": "{sizing_rationale}",
13
+ "splitTriggers": [],
14
+ "whyNotFewer": "{why_not_fewer}",
15
+ "whyNotMore": "{why_not_more}",
16
+ "sprintProofs": []
17
+ },
9
18
  "nextRecommendedAction": "plan_sprint",
10
19
  "openDecisions": [],
11
20
  "relevantArtifactPaths": [
@@ -5,6 +5,15 @@
5
5
  "activeSprintSummary": null,
6
6
  "openDebtCount": 0,
7
7
  "nextTask": null,
8
+ "sizingDecision": {
9
+ "recommendedSprintCount": 0,
10
+ "riskLevel": "low",
11
+ "rationale": "{sizing_rationale}",
12
+ "splitTriggers": [],
13
+ "whyNotFewer": "{why_not_fewer}",
14
+ "whyNotMore": "{why_not_more}",
15
+ "sprintProofs": []
16
+ },
8
17
  "relevantArtifactPaths": {
9
18
  "roadmap": ".agents/kyro/scopes/{scope}/ROADMAP.md",
10
19
  "roadmapSummary": ".agents/kyro/scopes/{scope}/ROADMAP.summary.json",