@sandrinio/vbounce 1.9.0 → 2.1.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.
- package/README.md +303 -19
- package/bin/vbounce.mjs +44 -0
- package/brains/AGENTS.md +51 -120
- package/brains/CHANGELOG.md +135 -0
- package/brains/CLAUDE.md +58 -133
- package/brains/GEMINI.md +68 -149
- package/brains/claude-agents/developer.md +6 -4
- package/brains/copilot/copilot-instructions.md +5 -0
- package/brains/cursor-rules/vbounce-process.mdc +3 -0
- package/brains/windsurf/.windsurfrules +5 -0
- package/package.json +1 -1
- package/scripts/close_sprint.mjs +41 -1
- package/scripts/complete_story.mjs +8 -0
- package/scripts/init_sprint.mjs +8 -0
- package/scripts/post_sprint_improve.mjs +486 -0
- package/scripts/product_graph.mjs +387 -0
- package/scripts/product_impact.mjs +167 -0
- package/scripts/suggest_improvements.mjs +206 -43
- package/skills/agent-team/SKILL.md +63 -28
- package/skills/agent-team/references/discovery.md +97 -0
- package/skills/agent-team/references/mid-sprint-triage.md +40 -26
- package/skills/doc-manager/SKILL.md +172 -19
- package/skills/improve/SKILL.md +151 -60
- package/skills/lesson/SKILL.md +14 -0
- package/skills/product-graph/SKILL.md +102 -0
- package/templates/bug.md +90 -0
- package/templates/change_request.md +105 -0
- package/templates/epic.md +19 -16
- package/templates/spike.md +143 -0
- package/templates/sprint.md +51 -17
- package/templates/sprint_report.md +6 -4
- package/templates/story.md +23 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Mid-Sprint
|
|
1
|
+
# Mid-Sprint Triage
|
|
2
2
|
|
|
3
3
|
> On-demand reference from agent-team/SKILL.md. How the Team Lead handles user interruptions during an active sprint.
|
|
4
4
|
|
|
@@ -15,57 +15,71 @@ Any time the user provides input mid-bounce that is **not** a direct answer to a
|
|
|
15
15
|
|
|
16
16
|
The Team Lead MUST classify the request before acting:
|
|
17
17
|
|
|
18
|
-
| Category | Definition | Example |
|
|
19
|
-
|
|
20
|
-
| **Bug** | Something built (or pre-existing) is broken | "Login crashes when email has a plus sign" |
|
|
21
|
-
| **Spec Clarification** | The spec was ambiguous; user is clarifying intent, not changing scope | "By 'admin' I meant workspace admin, not super admin" |
|
|
22
|
-
| **Scope Change** | User wants to add, remove, or modify requirements for the current story | "Also add a forgot-password flow to the login story" |
|
|
23
|
-
| **Approach Change** | Implementation strategy is wrong; needs a different technical path | "Don't use REST for this — wire it through WebSockets instead" |
|
|
18
|
+
| Category | Definition | Example | Template |
|
|
19
|
+
|----------|-----------|---------|----------|
|
|
20
|
+
| **Bug** | Something built (or pre-existing) is broken | "Login crashes when email has a plus sign" | `templates/bug.md` (or `templates/hotfix.md` if L1) |
|
|
21
|
+
| **Spec Clarification** | The spec was ambiguous; user is clarifying intent, not changing scope | "By 'admin' I meant workspace admin, not super admin" | No template — update story spec inline |
|
|
22
|
+
| **Scope Change** | User wants to add, remove, or modify requirements for the current story | "Also add a forgot-password flow to the login story" | `templates/change_request.md` |
|
|
23
|
+
| **Approach Change** | Implementation strategy is wrong; needs a different technical path | "Don't use REST for this — wire it through WebSockets instead" | `templates/change_request.md` |
|
|
24
24
|
|
|
25
25
|
### How to Decide
|
|
26
26
|
|
|
27
27
|
```
|
|
28
28
|
Is existing behavior broken?
|
|
29
29
|
YES → Bug
|
|
30
|
+
Is it L1 (1-2 files, trivial)? → Hotfix Path (templates/hotfix.md)
|
|
31
|
+
Is it larger? → Bug Report (templates/bug.md) → fix task in current sprint
|
|
30
32
|
NO → Is the user adding/removing/changing a requirement?
|
|
31
|
-
YES → Scope Change
|
|
33
|
+
YES → Scope Change (templates/change_request.md)
|
|
32
34
|
NO → Is the user correcting an ambiguity in the spec?
|
|
33
|
-
YES → Spec Clarification
|
|
34
|
-
NO → Approach Change (
|
|
35
|
+
YES → Spec Clarification (update story inline, no template)
|
|
36
|
+
NO → Approach Change (templates/change_request.md)
|
|
35
37
|
```
|
|
36
38
|
|
|
37
39
|
## Step 2 — Route
|
|
38
40
|
|
|
39
|
-
| Category | Action | Bounce Impact |
|
|
40
|
-
|
|
41
|
-
| **Bug** |
|
|
42
|
-
| **
|
|
43
|
-
| **
|
|
44
|
-
| **
|
|
41
|
+
| Category | Action | Bounce Impact | Document Created |
|
|
42
|
+
|----------|--------|---------------|------------------|
|
|
43
|
+
| **Bug (L1)** | Hotfix Path: Dev fixes, human verifies, merge directly | None — does NOT increment bounce count | `product_plans/hotfixes/HOTFIX-{Date}-{Name}.md` |
|
|
44
|
+
| **Bug (L2+)** | Create bug report, add as fix task within current story bounce | None — does NOT increment bounce count | `product_plans/sprints/sprint-{XX}/BUG-{Date}-{Name}.md` |
|
|
45
|
+
| **Spec Clarification** | Update Story spec inline (§1 or §2). Add a note in the Change Log. Continue current bounce. | None | No separate document |
|
|
46
|
+
| **Scope Change** | **Pause bounce.** Create CR document. Present impact to human. Wait for decision. If approved: update Story spec, reset Dev pass. If rejected: continue as-is. If deferred: add to backlog. | Resets Dev pass. Prior QA/Arch invalidated if change affects tested areas. | `product_plans/sprints/sprint-{XX}/CR-{Date}-{Name}.md` |
|
|
47
|
+
| **Approach Change** | Create CR document. Update Story §3 Implementation Guide. Re-delegate to Developer with updated context. | Resets Dev pass. Prior QA/Arch invalidated. | `product_plans/sprints/sprint-{XX}/CR-{Date}-{Name}.md` |
|
|
45
48
|
|
|
46
49
|
## Step 3 — Log
|
|
47
50
|
|
|
48
|
-
Every
|
|
51
|
+
Every triage event MUST be logged in the Sprint Plan `sprint-{XX}.md` §4 Execution Log:
|
|
49
52
|
|
|
50
53
|
```
|
|
51
|
-
| {
|
|
54
|
+
| {Story or N/A} | {Category} | 0 | 0 | — | CR: {One-line description} |
|
|
52
55
|
```
|
|
53
56
|
|
|
54
|
-
Use
|
|
57
|
+
Use the Notes column with `CR:` prefix to distinguish from regular story completions.
|
|
58
|
+
|
|
59
|
+
## Step 4 — Present to Human
|
|
60
|
+
|
|
61
|
+
After categorizing, the Team Lead MUST present the triage decision to the human:
|
|
62
|
+
|
|
63
|
+
1. State the category: "This is a **{Bug / Scope Change / Approach Change / Spec Clarification}**."
|
|
64
|
+
2. For Bugs: state severity and whether it blocks the current story
|
|
65
|
+
3. For Scope/Approach Changes: present the impact assessment from the CR document and ask for decision (Approve / Reject / Defer)
|
|
66
|
+
4. For Spec Clarifications: state what was clarified and confirm with human before updating
|
|
55
67
|
|
|
56
68
|
## Sprint Report Tracking
|
|
57
69
|
|
|
58
|
-
At sprint consolidation (Step 7), the Team Lead includes a **§2.1 Change Requests** section in the Sprint Report summarizing all mid-sprint
|
|
70
|
+
At sprint consolidation (Step 7), the Team Lead includes a **§2.1 Change Requests** section in the Sprint Report summarizing all mid-sprint triage events:
|
|
59
71
|
|
|
60
|
-
| Story | Category | Description | Impact |
|
|
61
|
-
|
|
62
|
-
| STORY-{ID} |
|
|
63
|
-
| STORY-{ID} | Scope Change | Added forgot-password flow | Dev pass reset, +1 session |
|
|
72
|
+
| Story | Category | Description | Impact | Document |
|
|
73
|
+
|-------|----------|-------------|--------|----------|
|
|
74
|
+
| STORY-{ID} | Bug | Login crash on plus-sign emails | Fixed via hotfix, no bounce reset | HOTFIX-2026-03-22-login-plus |
|
|
75
|
+
| STORY-{ID} | Scope Change | Added forgot-password flow | Dev pass reset, +1 session | CR-2026-03-22-forgot-password |
|
|
64
76
|
|
|
65
77
|
## Key Rules
|
|
66
78
|
|
|
67
|
-
- **Never silently absorb a user change.** Always categorize and log it.
|
|
79
|
+
- **Never silently absorb a user change.** Always categorize, document, and log it.
|
|
68
80
|
- **Bugs don't penalize the bounce count.** They are defects, not process failures.
|
|
69
81
|
- **Spec clarifications are cheap.** Update the spec and move on — no ceremony needed.
|
|
70
|
-
- **Scope changes
|
|
82
|
+
- **Scope changes require a CR document and human approval.** Always pause, assess impact, and confirm before resuming.
|
|
83
|
+
- **Approach changes require a CR document.** The technical pivot must be recorded for audit trail.
|
|
71
84
|
- **Correction Tax still applies.** Human intervention is tracked, but the category explains *why*.
|
|
85
|
+
- **Everything gets a document or an inline update.** No change goes unrecorded.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: doc-manager
|
|
3
|
-
description: "Use when creating, modifying, or navigating V-Bounce Engine planning documents. Trigger on any request to create a charter, roadmap, epic, story, delivery plan, or risk registry — or when the user asks to update, refine, decompose, or transition documents between phases. Also trigger when
|
|
3
|
+
description: "Use when creating, modifying, or navigating V-Bounce Engine planning documents. Trigger on any request to create a charter, roadmap, epic, story, delivery plan, sprint plan, or risk registry — or when the user asks to update, refine, decompose, or transition documents between phases. Also trigger when the user asks about work status, backlog, what's next, what's blocked, or wants to plan/start a sprint. This skill manages the full document lifecycle from Charter through Sprint Planning and execution."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Document Hierarchy Manager
|
|
@@ -49,7 +49,7 @@ Roadmap §5 (Constraints) ──→ Delivery Plan (sprint capacity)
|
|
|
49
49
|
|
|
50
50
|
Epic §2 (Scope Boundaries) ──→ Story §1 (The Spec)
|
|
51
51
|
Epic §4 (Technical Context) ──→ Story §3 (Implementation Guide)
|
|
52
|
-
Epic §5 (Decomposition) ──→ Story creation sequence
|
|
52
|
+
Epic §5 (Decomposition) ──→ Codebase research scope + Story creation sequence
|
|
53
53
|
Epic §6 (Risks) ──→ Risk Registry §1 (Active Risks)
|
|
54
54
|
Epic §7 (Acceptance Criteria) ──→ Story §2 (The Truth)
|
|
55
55
|
Epic §9 (Artifact Links) ──→ Delivery Plan §3 (Backlog)
|
|
@@ -64,6 +64,12 @@ Sprint Plan §1 (Context Pack Readiness) ──→ Ready to Bounce gate
|
|
|
64
64
|
Delivery Plan ──→ Updated at sprint boundaries ONLY (never mid-sprint)
|
|
65
65
|
|
|
66
66
|
Risk Registry ←── ALL levels (cross-cutting input)
|
|
67
|
+
|
|
68
|
+
Epic §8 (Open Questions) ──→ Spike §1 (Question)
|
|
69
|
+
Epic §4 (Technical Context) ──→ Spike §3 (Approach)
|
|
70
|
+
Spike §4 (Findings) ──→ Epic §4 (Technical Context) [update]
|
|
71
|
+
Spike §5 (Decision) ──→ Roadmap §3 (ADRs) [if architectural]
|
|
72
|
+
Spike §6 (Residual Risk) ──→ Risk Registry §1 (Active Risks)
|
|
67
73
|
```
|
|
68
74
|
|
|
69
75
|
## Template Locations
|
|
@@ -77,7 +83,10 @@ Risk Registry ←── ALL levels (cross-cutting input)
|
|
|
77
83
|
| Sprint Plan | `templates/sprint.md` | `product_plans/sprints/sprint-{XX}/sprint-{XX}.md` |
|
|
78
84
|
| Epic | `templates/epic.md` | `product_plans/backlog/EPIC-{NNN}_{name}/EPIC-{NNN}_{name}.md` |
|
|
79
85
|
| Story | `templates/story.md` | `product_plans/backlog/EPIC-{NNN}_{name}/STORY-{EpicID}-{StoryID}-{StoryName}.md` |
|
|
86
|
+
| Spike | `templates/spike.md` | `product_plans/backlog/EPIC-{NNN}_{name}/SPIKE-{EpicID}-{NNN}-{topic}.md` |
|
|
80
87
|
| Hotfix | `templates/hotfix.md` | `product_plans/hotfixes/HOTFIX-{Date}-{Name}.md` |
|
|
88
|
+
| Bug Report | `templates/bug.md` | `product_plans/sprints/sprint-{XX}/BUG-{Date}-{Name}.md` |
|
|
89
|
+
| Change Request | `templates/change_request.md` | `product_plans/sprints/sprint-{XX}/CR-{Date}-{Name}.md` |
|
|
81
90
|
| Sprint Report | `templates/sprint_report.md` | `product_plans/sprints/sprint-{XX}/sprint-report.md` |
|
|
82
91
|
|
|
83
92
|
### Product Plans Folder Structure (State-Based)
|
|
@@ -94,7 +103,8 @@ product_plans/
|
|
|
94
103
|
│ ├── EPIC-001_authentication/
|
|
95
104
|
│ │ ├── EPIC-001_authentication.md
|
|
96
105
|
│ │ ├── STORY-001-01-login_ui.md
|
|
97
|
-
│ │
|
|
106
|
+
│ │ ├── STORY-001-02-auth_api.md
|
|
107
|
+
│ │ └── SPIKE-001-001-auth-provider.md
|
|
98
108
|
│
|
|
99
109
|
├── sprints/ ← active execution workspace
|
|
100
110
|
│ ├── sprint-01/ ← active sprint boundary
|
|
@@ -152,6 +162,36 @@ Brain files contain the V-Bounce process, critical rules, and skill references.
|
|
|
152
162
|
|
|
153
163
|
## Document Operations
|
|
154
164
|
|
|
165
|
+
### Ambiguity Assessment Rubric
|
|
166
|
+
|
|
167
|
+
When creating or reviewing an Epic or Story, assess ambiguity using these signals:
|
|
168
|
+
|
|
169
|
+
**🔴 High — Discovery Required (any ONE triggers 🔴):**
|
|
170
|
+
- Epic §4 Technical Context has "TBD" or "unknown" in dependencies or affected areas
|
|
171
|
+
- Epic §8 Open Questions has items marked blocking
|
|
172
|
+
- Multiple competing approaches mentioned with no ADR deciding between them
|
|
173
|
+
- Unknown external dependencies or integrations
|
|
174
|
+
- No acceptance criteria defined (Epic §7 empty)
|
|
175
|
+
- Vague scope language in §2 ("various", "possibly", "might", "somehow", "rethink")
|
|
176
|
+
|
|
177
|
+
**🟡 Medium — Conditional Progress:**
|
|
178
|
+
- Technical Context partially filled (some areas known, others TBD)
|
|
179
|
+
- Open Questions exist but are non-blocking
|
|
180
|
+
- Dependencies listed but unconfirmed
|
|
181
|
+
|
|
182
|
+
**🟢 Low — Ready to Proceed:**
|
|
183
|
+
- All sections filled with specific, concrete content
|
|
184
|
+
- All Open Questions resolved or non-blocking
|
|
185
|
+
- ADRs exist for every major technical choice
|
|
186
|
+
- Acceptance criteria are concrete Gherkin scenarios
|
|
187
|
+
|
|
188
|
+
**When 🔴 is detected:**
|
|
189
|
+
1. Set `ambiguity: 🔴 High` in frontmatter
|
|
190
|
+
2. Identify which signals triggered it
|
|
191
|
+
3. For each signal, recommend a spike with a one-sentence question
|
|
192
|
+
4. Create spike documents from `templates/spike.md`
|
|
193
|
+
5. Block downstream transitions until spikes reach Validated or Closed
|
|
194
|
+
|
|
155
195
|
### CREATE — Making a New Document
|
|
156
196
|
|
|
157
197
|
Before creating any document, YOU MUST:
|
|
@@ -162,6 +202,24 @@ Before creating any document, YOU MUST:
|
|
|
162
202
|
4. Fill sections by pulling from upstream sources (see Information Flow above)
|
|
163
203
|
5. Set the Ambiguity Score based on completeness
|
|
164
204
|
6. Verify all cross-references are valid
|
|
205
|
+
7. **Present edge cases and open questions to the human** (see below)
|
|
206
|
+
|
|
207
|
+
**After creating an Epic — mandatory discussion step:**
|
|
208
|
+
|
|
209
|
+
After writing the Epic document, you MUST present §6 (Risks & Edge Cases) and §8 (Open Questions) to the human in chat. Do not silently file them — the human needs to see what's uncertain to make good decisions.
|
|
210
|
+
|
|
211
|
+
Format your presentation like this:
|
|
212
|
+
1. Summarize the epic in 1-2 sentences
|
|
213
|
+
2. List each edge case from §6 with its proposed mitigation — ask the human if the mitigation is adequate or if they see other risks
|
|
214
|
+
3. List each open question from §8 — present the options, explain the impact, and ask the human to decide or delegate
|
|
215
|
+
4. State the current ambiguity score and what must be resolved before decomposition into stories
|
|
216
|
+
|
|
217
|
+
The epic is NOT ready for decomposition until:
|
|
218
|
+
- All **blocking** questions in §8 are resolved (status = "Decided")
|
|
219
|
+
- All edge cases in §6 have either a decided mitigation or are explicitly accepted as known risk by the human
|
|
220
|
+
- Ambiguity is 🟡 or 🟢
|
|
221
|
+
|
|
222
|
+
If the human resolves questions during discussion, update the epic document immediately (change §8 status to "Decided", update §6 mitigations, adjust ambiguity score).
|
|
165
223
|
|
|
166
224
|
**Pre-read requirements by document type:**
|
|
167
225
|
|
|
@@ -169,8 +227,10 @@ Before creating any document, YOU MUST:
|
|
|
169
227
|
|----------|-----------------|
|
|
170
228
|
| Charter | Nothing — Charter is root. Gather from user input. |
|
|
171
229
|
| Roadmap | Charter (full document) |
|
|
172
|
-
| Epic | Charter §1, §2, §5 + Roadmap §2, §3, §5 |
|
|
173
|
-
| Story | Parent Epic (full document) + Roadmap §3 (ADRs) |
|
|
230
|
+
| Epic | Charter §1, §2, §5 + Roadmap §2, §3, §5 + **Codebase** (explore affected areas for §4) |
|
|
231
|
+
| Story | Parent Epic (full document) + Roadmap §3 (ADRs) + Codebase (affected files) |
|
|
232
|
+
| Spike | Parent Epic (full document) + Roadmap §3 (ADRs) + Risk Registry |
|
|
233
|
+
| Sprint Plan | All candidate stories + Risk Registry + Archive (completed work) + Backlog state |
|
|
174
234
|
| Delivery Plan | Roadmap §2 (Release Plan) + All Stories in scope |
|
|
175
235
|
| Risk Registry | Charter §6 + Roadmap §4, §5 + All Epic §6 sections |
|
|
176
236
|
|
|
@@ -199,20 +259,101 @@ When modifying a document:
|
|
|
199
259
|
| Epic §4 (Technical Context) | All child Stories §3 (Implementation Guide) |
|
|
200
260
|
| Story status (V-Bounce State) | Delivery Plan §3 (Active Sprint table) |
|
|
201
261
|
| Story — new risk discovered | Risk Registry §1 (new row) |
|
|
262
|
+
| Spike §4/§5 (Findings/Decision) | Epic §4 Technical Context, Epic §8 Open Questions, Risk Registry §1 |
|
|
263
|
+
| Spike §5 (Decision — architectural) | Roadmap §3 ADRs (new row) |
|
|
264
|
+
|
|
265
|
+
**After any cascade:** Run `vbounce graph` to regenerate the product graph so downstream consumers have current state.
|
|
202
266
|
|
|
203
267
|
### DECOMPOSE — Breaking Down Documents
|
|
204
268
|
|
|
205
269
|
**Epic → Stories:**
|
|
206
270
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
271
|
+
Stories are NOT created by mechanically splitting epic sections by category. The AI must analyze the epic, research the actual codebase, and produce small, focused stories — each delivering a tangible, independently verifiable result.
|
|
272
|
+
|
|
273
|
+
#### Phase 1: Analyze & Research
|
|
274
|
+
|
|
275
|
+
1. Read the full Epic document (all sections)
|
|
276
|
+
2. Read Roadmap §3 (ADRs) for architecture constraints
|
|
277
|
+
3. **Research the codebase** — this is mandatory, not optional:
|
|
278
|
+
- Read every file listed in Epic §4 Affected Areas
|
|
279
|
+
- Explore the surrounding code to understand current architecture, patterns, and conventions
|
|
280
|
+
- Identify actual dependencies, imports, and integration points in the code
|
|
281
|
+
- Note existing tests, utilities, and shared modules that stories will interact with
|
|
282
|
+
4. Build a mental model of what needs to change and in what order
|
|
283
|
+
|
|
284
|
+
#### Phase 2: Draft Stories by Deliverable, Not by Category
|
|
285
|
+
|
|
286
|
+
Do NOT create stories by layer (one for schema, one for API, one for UI). Instead, create stories by **tangible outcome** — each story should deliver a small, specific, working result that can be verified.
|
|
287
|
+
|
|
288
|
+
**Story sizing rules:**
|
|
289
|
+
- Each story has **one clear goal** expressible in a single sentence
|
|
290
|
+
- Each story touches **1-3 files** (if more, it needs splitting)
|
|
291
|
+
- Each story produces a **verifiable result** — something you can see, test, or demonstrate
|
|
292
|
+
- Each story is **independently meaningful** — it delivers value or unlocks the next story, not just "part of a layer"
|
|
293
|
+
- Prefer vertical slices (thin end-to-end) over horizontal slices (full layer)
|
|
294
|
+
|
|
295
|
+
**If a drafted story exceeds size:**
|
|
296
|
+
- Ask: "Can this be split into two stories that each produce a tangible result?"
|
|
297
|
+
- If yes → split it. Each sub-story must still have its own clear goal.
|
|
298
|
+
- If no (the work is inherently atomic) → keep it as one story, label it L3, and document why it can't be smaller.
|
|
299
|
+
|
|
300
|
+
#### Phase 3: Write Stories with Codebase-Informed Detail
|
|
301
|
+
|
|
302
|
+
For each story, use what you learned from codebase research:
|
|
303
|
+
- §1 The Spec: Write requirements informed by actual code state (not just epic abstractions)
|
|
304
|
+
- §2 The Truth: Write Gherkin scenarios that reference real components, routes, and data shapes found in the code
|
|
305
|
+
- §3 Implementation Guide: Reference actual file paths, existing patterns, real function signatures — not placeholders. The developer should be able to start coding immediately.
|
|
306
|
+
- Set Complexity Label (L1-L4) based on actual code complexity discovered during research
|
|
307
|
+
|
|
308
|
+
#### Phase 4: Link & Update
|
|
309
|
+
|
|
310
|
+
1. Link all created Stories back in Epic §9 Artifact Links
|
|
311
|
+
2. Update Delivery Plan §3 High-Level Backlog with new stories
|
|
312
|
+
|
|
313
|
+
### SPRINT PLANNING — Preparing a Sprint
|
|
314
|
+
|
|
315
|
+
Sprint Planning is a collaborative process between AI and human. No sprint starts without a confirmed Sprint Plan.
|
|
316
|
+
|
|
317
|
+
**Workflow:**
|
|
318
|
+
|
|
319
|
+
1. **Read current state:**
|
|
320
|
+
- Scan `product_plans/backlog/` — read all epic and story frontmatter (status, priority, ambiguity, complexity_label, open questions)
|
|
321
|
+
- Scan `product_plans/archive/` — understand what's already shipped and what context carries forward
|
|
322
|
+
- Read `product_plans/strategy/RISK_REGISTRY.md` — identify risks affecting candidate stories
|
|
323
|
+
- If `vdocs/_manifest.json` exists, read it for documentation context
|
|
324
|
+
|
|
325
|
+
2. **Propose sprint scope:**
|
|
326
|
+
- Select stories based on priority, dependencies, and capacity
|
|
327
|
+
- Identify dependency chains — stories with `Depends On:` must be sequenced
|
|
328
|
+
- Group parallel-safe stories into phases
|
|
329
|
+
- Flag stories with 🔴 High ambiguity — these CANNOT enter the sprint without completed spikes
|
|
330
|
+
|
|
331
|
+
3. **Surface blockers to the human:**
|
|
332
|
+
- Open questions from epics (§8) and stories that haven't been resolved
|
|
333
|
+
- Environment prerequisites missing from stories
|
|
334
|
+
- Risks from Risk Registry that affect planned stories
|
|
335
|
+
- Edge cases or ambiguity the human may not have considered
|
|
336
|
+
- Dependencies on incomplete work
|
|
337
|
+
|
|
338
|
+
4. **Collaborate with the human:**
|
|
339
|
+
- Present proposed scope, risks, and blockers
|
|
340
|
+
- Discuss and adjust — add/remove stories, resolve open questions
|
|
341
|
+
- Agree on execution mode per story (Full Bounce vs Fast Track)
|
|
342
|
+
|
|
343
|
+
5. **Create Sprint Plan:**
|
|
344
|
+
- Create `product_plans/sprints/sprint-{XX}/sprint-{XX}.md` from `templates/sprint.md`
|
|
345
|
+
- Fill §0 Sprint Readiness Gate checklist
|
|
346
|
+
- Fill §1 Active Scope with confirmed stories + Context Pack Readiness
|
|
347
|
+
- Fill §2 Execution Strategy (phases, dependencies, risk flags)
|
|
348
|
+
- Fill §3 Sprint Open Questions (all must be resolved or non-blocking)
|
|
349
|
+
- Set status: `Planning`
|
|
350
|
+
|
|
351
|
+
6. **Gate — Human confirms:**
|
|
352
|
+
- Present finalized plan to human
|
|
353
|
+
- Explicitly ask for confirmation
|
|
354
|
+
- On confirmation: set `status: Confirmed`, fill `confirmed_by` and `confirmed_at`
|
|
355
|
+
- Move story files from `product_plans/backlog/EPIC-{NNN}/` to `product_plans/sprints/sprint-{XX}/`
|
|
356
|
+
- Sprint is now ready for Phase 3 (Execution)
|
|
216
357
|
|
|
217
358
|
### TRANSITION — Moving Documents Between Phases
|
|
218
359
|
|
|
@@ -222,8 +363,13 @@ When modifying a document:
|
|
|
222
363
|
|------------|------|
|
|
223
364
|
| Charter → Ready for Roadmap | Ambiguity 🟡 or 🟢 (§1 and §5 filled) |
|
|
224
365
|
| Roadmap → Ready for Epics | Charter Ambiguity 🟢 + Roadmap §2 and §3 filled |
|
|
225
|
-
| Epic → Ready for Stories | Ambiguity 🟡 or 🟢
|
|
226
|
-
| Story → Ready to Bounce | Ambiguity 🟢 + ALL Context Pack items checked (
|
|
366
|
+
| Epic → Ready for Stories | Ambiguity 🟡 or 🟢 + §2 Scope filled + §4 Tech Context filled + §8 all blocking questions Decided + §6 each edge case has a decided mitigation OR is explicitly accepted as known risk |
|
|
367
|
+
| Story → Ready to Bounce | Ambiguity 🟢 + ALL Context Pack items checked (Sprint Plan §1) |
|
|
368
|
+
| Sprint Plan → Confirmed | §0 Readiness Gate checklist complete + Human explicitly confirms |
|
|
369
|
+
| Sprint Plan → Active | Status is Confirmed (human approval obtained) |
|
|
370
|
+
| Story (Probing/Spiking) → Refinement | All linked spikes are Validated or Closed |
|
|
371
|
+
| Spike → Validated | Architect confirms findings against Safe Zone |
|
|
372
|
+
| Spike → Closed | All items in §7 Affected Documents are checked off |
|
|
227
373
|
| Hotfix → Bouncing | Complexity strictly L1 + Targets 1-2 files |
|
|
228
374
|
|
|
229
375
|
**Physical Move Rules for State Transitions:**
|
|
@@ -232,6 +378,13 @@ When modifying a document:
|
|
|
232
378
|
- **Sprint Closure Phase**: The Team Lead physically MOVES the entire sprint folder (`sprints/sprint-{XX}/`) to `product_plans/archive/sprints/sprint-{XX}/`.
|
|
233
379
|
- **Epic Closure**: Once every story attached to an Epic has been archived, the Epic folder itself is moved from `backlog/` to `archive/epics/`.
|
|
234
380
|
|
|
381
|
+
**Complexity Labels:**
|
|
382
|
+
|
|
383
|
+
- **L1**: Trivial — Single file, <1hr, known pattern. → Hotfix Path
|
|
384
|
+
- **L2**: Standard — 2-3 files, known pattern, ~2-4hr. *(default)* → Full Bounce
|
|
385
|
+
- **L3**: Complex — Cross-cutting, spike may be needed, ~1-2 days. → Full Bounce
|
|
386
|
+
- **L4**: Uncertain — Requires spikes before Bounce, >2 days. → Discovery first
|
|
387
|
+
|
|
235
388
|
**V-Bounce State transitions for Stories:**
|
|
236
389
|
|
|
237
390
|
```
|
|
@@ -257,9 +410,9 @@ Bouncing → Done: Dev implements + Human manually verifies + DevOps runs `hotfi
|
|
|
257
410
|
| Agent | Documents Owned | Documents Read |
|
|
258
411
|
|-------|----------------|----------------|
|
|
259
412
|
| **Team Lead** | Delivery Plan, Sprint Report, Delivery archive | Charter, Roadmap, ALL Stories (for context packs) |
|
|
260
|
-
| **Developer** | Story §3 updates (during implementation) | Story §1 + §3, LESSONS.md |
|
|
413
|
+
| **Developer** | Story §3 updates (during implementation), Spike §4 Findings (during investigation) | Story §1 + §3, Spike §1 + §2 + §3, LESSONS.md |
|
|
261
414
|
| **QA** | QA Validation Report | Story §2, Dev Implementation Report |
|
|
262
|
-
| **Architect** | Architectural Audit Report, Risk flags (in report — Lead writes to Registry) | Full Story, Roadmap §3 ADRs, Risk Registry |
|
|
415
|
+
| **Architect** | Architectural Audit Report, Risk flags (in report — Lead writes to Registry), Spike validation (Findings Ready → Validated) | Full Story, Spike §4 + §5, Roadmap §3 ADRs, Risk Registry |
|
|
263
416
|
| **DevOps** | DevOps Reports (merge + release) | Delivery Plan, LESSONS.md, gate reports |
|
|
264
417
|
| **Scribe** | Product documentation, _manifest.json | Sprint Report, Dev Reports, codebase |
|
|
265
418
|
| **PM/BA (Human)** | Charter, Roadmap, Epic, Story §1 + §2 | Everything |
|
|
@@ -289,4 +442,4 @@ When a sprint is complete:
|
|
|
289
442
|
|
|
290
443
|
## Keywords
|
|
291
444
|
|
|
292
|
-
charter, roadmap, epic, story, delivery plan, risk registry, document hierarchy, template, create document, update document, decompose epic, story breakdown, ambiguity score, context pack, V-Bounce state, phase transition, cascade update, planning documents
|
|
445
|
+
charter, roadmap, epic, story, delivery plan, risk registry, sprint plan, sprint planning, document hierarchy, template, create document, update document, decompose epic, story breakdown, ambiguity score, context pack, V-Bounce state, phase transition, cascade update, planning documents, backlog, what's next, what's blocked, start sprint
|