@sandrinio/vbounce 1.9.0 → 2.0.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.
@@ -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 an agent needs to know which template to use, where a document fits in the hierarchy, or what upstream/downstream documents to read before writing. This skill manages the full document lifecycle from Charter through Sprint execution."
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,6 +83,7 @@ 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` |
81
88
  | Sprint Report | `templates/sprint_report.md` | `product_plans/sprints/sprint-{XX}/sprint-report.md` |
82
89
 
@@ -94,7 +101,8 @@ product_plans/
94
101
  │ ├── EPIC-001_authentication/
95
102
  │ │ ├── EPIC-001_authentication.md
96
103
  │ │ ├── STORY-001-01-login_ui.md
97
- │ │ └── STORY-001-02-auth_api.md
104
+ │ │ ├── STORY-001-02-auth_api.md
105
+ │ │ └── SPIKE-001-001-auth-provider.md
98
106
 
99
107
  ├── sprints/ ← active execution workspace
100
108
  │ ├── sprint-01/ ← active sprint boundary
@@ -152,6 +160,36 @@ Brain files contain the V-Bounce process, critical rules, and skill references.
152
160
 
153
161
  ## Document Operations
154
162
 
163
+ ### Ambiguity Assessment Rubric
164
+
165
+ When creating or reviewing an Epic or Story, assess ambiguity using these signals:
166
+
167
+ **🔴 High — Discovery Required (any ONE triggers 🔴):**
168
+ - Epic §4 Technical Context has "TBD" or "unknown" in dependencies or affected areas
169
+ - Epic §8 Open Questions has items marked blocking
170
+ - Multiple competing approaches mentioned with no ADR deciding between them
171
+ - Unknown external dependencies or integrations
172
+ - No acceptance criteria defined (Epic §7 empty)
173
+ - Vague scope language in §2 ("various", "possibly", "might", "somehow", "rethink")
174
+
175
+ **🟡 Medium — Conditional Progress:**
176
+ - Technical Context partially filled (some areas known, others TBD)
177
+ - Open Questions exist but are non-blocking
178
+ - Dependencies listed but unconfirmed
179
+
180
+ **🟢 Low — Ready to Proceed:**
181
+ - All sections filled with specific, concrete content
182
+ - All Open Questions resolved or non-blocking
183
+ - ADRs exist for every major technical choice
184
+ - Acceptance criteria are concrete Gherkin scenarios
185
+
186
+ **When 🔴 is detected:**
187
+ 1. Set `ambiguity: 🔴 High` in frontmatter
188
+ 2. Identify which signals triggered it
189
+ 3. For each signal, recommend a spike with a one-sentence question
190
+ 4. Create spike documents from `templates/spike.md`
191
+ 5. Block downstream transitions until spikes reach Validated or Closed
192
+
155
193
  ### CREATE — Making a New Document
156
194
 
157
195
  Before creating any document, YOU MUST:
@@ -169,8 +207,10 @@ Before creating any document, YOU MUST:
169
207
  |----------|-----------------|
170
208
  | Charter | Nothing — Charter is root. Gather from user input. |
171
209
  | Roadmap | Charter (full document) |
172
- | Epic | Charter §1, §2, §5 + Roadmap §2, §3, §5 |
173
- | Story | Parent Epic (full document) + Roadmap §3 (ADRs) |
210
+ | Epic | Charter §1, §2, §5 + Roadmap §2, §3, §5 + **Codebase** (explore affected areas for §4) |
211
+ | Story | Parent Epic (full document) + Roadmap §3 (ADRs) + Codebase (affected files) |
212
+ | Spike | Parent Epic (full document) + Roadmap §3 (ADRs) + Risk Registry |
213
+ | Sprint Plan | All candidate stories + Risk Registry + Archive (completed work) + Backlog state |
174
214
  | Delivery Plan | Roadmap §2 (Release Plan) + All Stories in scope |
175
215
  | Risk Registry | Charter §6 + Roadmap §4, §5 + All Epic §6 sections |
176
216
 
@@ -199,20 +239,99 @@ When modifying a document:
199
239
  | Epic §4 (Technical Context) | All child Stories §3 (Implementation Guide) |
200
240
  | Story status (V-Bounce State) | Delivery Plan §3 (Active Sprint table) |
201
241
  | Story — new risk discovered | Risk Registry §1 (new row) |
242
+ | Spike §4/§5 (Findings/Decision) | Epic §4 Technical Context, Epic §8 Open Questions, Risk Registry §1 |
243
+ | Spike §5 (Decision — architectural) | Roadmap §3 ADRs (new row) |
202
244
 
203
245
  ### DECOMPOSE — Breaking Down Documents
204
246
 
205
247
  **Epic → Stories:**
206
248
 
207
- 1. Read Epic §5 (Decomposition Guidance) for the checklist and suggested sequence
208
- 2. Create one Story per checked category (Schema, API, UI, Integration, etc.)
209
- 3. For each Story:
210
- - Pull §1 The Spec from Epic §2 Scope Boundaries (relevant items only)
211
- - Pull §2 The Truth from Epic §7 Acceptance Criteria (decomposed per story)
212
- - Pull §3 Implementation Guide from Epic §4 Technical Context
213
- - Set Complexity Label (L1-L4) based on file count and pattern familiarity
214
- 4. Link all created Stories back in Epic §9 Artifact Links
215
- 5. Update Delivery Plan §3 High-Level Backlog with new stories
249
+ 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.
250
+
251
+ #### Phase 1: Analyze & Research
252
+
253
+ 1. Read the full Epic document (all sections)
254
+ 2. Read Roadmap §3 (ADRs) for architecture constraints
255
+ 3. **Research the codebase** this is mandatory, not optional:
256
+ - Read every file listed in Epic §4 Affected Areas
257
+ - Explore the surrounding code to understand current architecture, patterns, and conventions
258
+ - Identify actual dependencies, imports, and integration points in the code
259
+ - Note existing tests, utilities, and shared modules that stories will interact with
260
+ 4. Build a mental model of what needs to change and in what order
261
+
262
+ #### Phase 2: Draft Stories by Deliverable, Not by Category
263
+
264
+ 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.
265
+
266
+ **Story sizing rules:**
267
+ - Each story has **one clear goal** expressible in a single sentence
268
+ - Each story touches **1-3 files** (if more, it needs splitting)
269
+ - Each story produces a **verifiable result** — something you can see, test, or demonstrate
270
+ - Each story is **independently meaningful** — it delivers value or unlocks the next story, not just "part of a layer"
271
+ - Prefer vertical slices (thin end-to-end) over horizontal slices (full layer)
272
+
273
+ **If a drafted story exceeds size:**
274
+ - Ask: "Can this be split into two stories that each produce a tangible result?"
275
+ - If yes → split it. Each sub-story must still have its own clear goal.
276
+ - If no (the work is inherently atomic) → keep it as one story, label it L3, and document why it can't be smaller.
277
+
278
+ #### Phase 3: Write Stories with Codebase-Informed Detail
279
+
280
+ For each story, use what you learned from codebase research:
281
+ - §1 The Spec: Write requirements informed by actual code state (not just epic abstractions)
282
+ - §2 The Truth: Write Gherkin scenarios that reference real components, routes, and data shapes found in the code
283
+ - §3 Implementation Guide: Reference actual file paths, existing patterns, real function signatures — not placeholders. The developer should be able to start coding immediately.
284
+ - Set Complexity Label (L1-L4) based on actual code complexity discovered during research
285
+
286
+ #### Phase 4: Link & Update
287
+
288
+ 1. Link all created Stories back in Epic §9 Artifact Links
289
+ 2. Update Delivery Plan §3 High-Level Backlog with new stories
290
+
291
+ ### SPRINT PLANNING — Preparing a Sprint
292
+
293
+ Sprint Planning is a collaborative process between AI and human. No sprint starts without a confirmed Sprint Plan.
294
+
295
+ **Workflow:**
296
+
297
+ 1. **Read current state:**
298
+ - Scan `product_plans/backlog/` — read all epic and story frontmatter (status, priority, ambiguity, complexity_label, open questions)
299
+ - Scan `product_plans/archive/` — understand what's already shipped and what context carries forward
300
+ - Read `product_plans/strategy/RISK_REGISTRY.md` — identify risks affecting candidate stories
301
+ - If `vdocs/_manifest.json` exists, read it for documentation context
302
+
303
+ 2. **Propose sprint scope:**
304
+ - Select stories based on priority, dependencies, and capacity
305
+ - Identify dependency chains — stories with `Depends On:` must be sequenced
306
+ - Group parallel-safe stories into phases
307
+ - Flag stories with 🔴 High ambiguity — these CANNOT enter the sprint without completed spikes
308
+
309
+ 3. **Surface blockers to the human:**
310
+ - Open questions from epics (§8) and stories that haven't been resolved
311
+ - Environment prerequisites missing from stories
312
+ - Risks from Risk Registry that affect planned stories
313
+ - Edge cases or ambiguity the human may not have considered
314
+ - Dependencies on incomplete work
315
+
316
+ 4. **Collaborate with the human:**
317
+ - Present proposed scope, risks, and blockers
318
+ - Discuss and adjust — add/remove stories, resolve open questions
319
+ - Agree on execution mode per story (Full Bounce vs Fast Track)
320
+
321
+ 5. **Create Sprint Plan:**
322
+ - Create `product_plans/sprints/sprint-{XX}/sprint-{XX}.md` from `templates/sprint.md`
323
+ - Fill §0 Sprint Readiness Gate checklist
324
+ - Fill §1 Active Scope with confirmed stories + Context Pack Readiness
325
+ - Fill §2 Execution Strategy (phases, dependencies, risk flags)
326
+ - Fill §3 Sprint Open Questions (all must be resolved or non-blocking)
327
+ - Set status: `Planning`
328
+
329
+ 6. **Gate — Human confirms:**
330
+ - Present finalized plan to human
331
+ - Explicitly ask for confirmation
332
+ - On confirmation: set `status: Confirmed`, fill `confirmed_by` and `confirmed_at`
333
+ - Move story files from `product_plans/backlog/EPIC-{NNN}/` to `product_plans/sprints/sprint-{XX}/`
334
+ - Sprint is now ready for Phase 3 (Execution)
216
335
 
217
336
  ### TRANSITION — Moving Documents Between Phases
218
337
 
@@ -223,7 +342,12 @@ When modifying a document:
223
342
  | Charter → Ready for Roadmap | Ambiguity 🟡 or 🟢 (§1 and §5 filled) |
224
343
  | Roadmap → Ready for Epics | Charter Ambiguity 🟢 + Roadmap §2 and §3 filled |
225
344
  | Epic → Ready for Stories | Ambiguity 🟡 or 🟢 (§2 Scope and §4 Tech Context filled) |
226
- | Story → Ready to Bounce | Ambiguity 🟢 + ALL Context Pack items checked (Delivery Plan §5) |
345
+ | Story → Ready to Bounce | Ambiguity 🟢 + ALL Context Pack items checked (Sprint Plan §1) |
346
+ | Sprint Plan → Confirmed | §0 Readiness Gate checklist complete + Human explicitly confirms |
347
+ | Sprint Plan → Active | Status is Confirmed (human approval obtained) |
348
+ | Story (Probing/Spiking) → Refinement | All linked spikes are Validated or Closed |
349
+ | Spike → Validated | Architect confirms findings against Safe Zone |
350
+ | Spike → Closed | All items in §7 Affected Documents are checked off |
227
351
  | Hotfix → Bouncing | Complexity strictly L1 + Targets 1-2 files |
228
352
 
229
353
  **Physical Move Rules for State Transitions:**
@@ -257,9 +381,9 @@ Bouncing → Done: Dev implements + Human manually verifies + DevOps runs `hotfi
257
381
  | Agent | Documents Owned | Documents Read |
258
382
  |-------|----------------|----------------|
259
383
  | **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 |
384
+ | **Developer** | Story §3 updates (during implementation), Spike §4 Findings (during investigation) | Story §1 + §3, Spike §1 + §2 + §3, LESSONS.md |
261
385
  | **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 |
386
+ | **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
387
  | **DevOps** | DevOps Reports (merge + release) | Delivery Plan, LESSONS.md, gate reports |
264
388
  | **Scribe** | Product documentation, _manifest.json | Sprint Report, Dev Reports, codebase |
265
389
  | **PM/BA (Human)** | Charter, Roadmap, Epic, Story §1 + §2 | Everything |
@@ -289,4 +413,4 @@ When a sprint is complete:
289
413
 
290
414
  ## Keywords
291
415
 
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
416
+ 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
@@ -1,19 +1,47 @@
1
1
  ---
2
2
  name: improve
3
- description: "Use when the V-Bounce Engine framework needs to evolve based on accumulated agent feedback. Activates after sprint retros, when recurring friction patterns emerge, or when the user explicitly asks to improve the framework. Reads Process Feedback from sprint reports, identifies patterns, proposes specific changes to templates, skills, brain files, scripts, and agent configs, and applies approved changes. This is the system's self-improvement loop."
3
+ description: "Use when the V-Bounce Engine framework needs to evolve based on accumulated agent feedback. Activates after sprint retros, when recurring friction patterns emerge, or when the user explicitly asks to improve the framework. Reads Process Feedback from sprint reports, analyzes LESSONS.md for automation candidates, identifies patterns, proposes specific changes to templates, skills, brain files, scripts, and agent configs with impact levels, and applies approved changes. This is the system's self-improvement loop."
4
4
  ---
5
5
 
6
6
  # Framework Self-Improvement
7
7
 
8
8
  ## Purpose
9
9
 
10
- V-Bounce Engine is not static. Every sprint generates friction signals from agents who work within the framework daily. This skill closes the feedback loop: it reads what agents struggled with, identifies patterns, and proposes targeted improvements to the framework itself.
10
+ V-Bounce Engine is not static. Every sprint generates friction signals from agents who work within the framework daily. This skill closes the feedback loop: it reads what agents struggled with, analyzes which lessons can be automated, identifies patterns, and proposes targeted improvements to the framework itself.
11
11
 
12
12
  **Core principle:** No framework change happens without human approval. The system suggests — the human decides.
13
13
 
14
+ ## Impact Levels
15
+
16
+ Every improvement proposal is classified by impact to help the human prioritize:
17
+
18
+ | Level | Label | Meaning | Timeline |
19
+ |-------|-------|---------|----------|
20
+ | **P0** | Critical | Blocks agent work or causes incorrect output | Fix before next sprint |
21
+ | **P1** | High | Causes rework — bounces, wasted tokens, repeated manual steps | Fix this improvement cycle |
22
+ | **P2** | Medium | Friction that slows agents but does not block | Fix within 2 sprints |
23
+ | **P3** | Low | Polish — nice-to-have, batch with other improvements | Batch when convenient |
24
+
25
+ ### How Impact Is Determined
26
+
27
+ | Signal | Impact |
28
+ |--------|--------|
29
+ | Blocker finding + recurring across 2+ sprints | **P0** |
30
+ | Blocker finding (single sprint) | **P1** |
31
+ | Friction finding recurring across 2+ sprints | **P1** |
32
+ | Lesson with mechanical rule (can be a gate check or script) | **P1** |
33
+ | Previous improvement that didn't resolve its finding | **P1** |
34
+ | Friction finding (single sprint) | **P2** |
35
+ | Lesson graduation candidate (3+ sprints old) | **P2** |
36
+ | Low first-pass rate or high correction tax | **P1** |
37
+ | High bounce rate | **P2** |
38
+ | Framework health checks | **P3** |
39
+
14
40
  ## When to Use
15
41
 
16
- - After every 2-3 sprints (recommended cadence)
42
+ - **Automatically** `vbounce sprint close S-XX` runs the improvement pipeline and generates `.bounce/improvement-suggestions.md`
43
+ - **On demand** — `vbounce improve S-XX` runs the full pipeline (trends + analyzer + suggestions)
44
+ - After every 2-3 sprints (recommended cadence for applying approved changes)
17
45
  - When the same Process Feedback appears across multiple sprint reports
18
46
  - When the user explicitly asks to improve templates, skills, or process
19
47
  - When a sprint's Framework Self-Assessment reveals Blocker-severity findings
@@ -21,70 +49,102 @@ V-Bounce Engine is not static. Every sprint generates friction signals from agen
21
49
 
22
50
  ## Trigger
23
51
 
24
- `/improve` OR when the Team Lead identifies recurring framework friction during Sprint Consolidation.
52
+ `/improve` OR `vbounce improve S-XX` OR when the Team Lead identifies recurring framework friction during Sprint Consolidation.
25
53
 
26
54
  ## Announcement
27
55
 
28
56
  When using this skill, state: "Using improve skill to evaluate and propose framework changes."
29
57
 
58
+ ## The Automated Pipeline
59
+
60
+ The self-improvement pipeline runs automatically on `vbounce sprint close` and can be triggered manually via `vbounce improve S-XX`:
61
+
62
+ ```
63
+ vbounce sprint close S-XX
64
+
65
+ ├── scripts/sprint_trends.mjs → .bounce/trends.md
66
+
67
+ ├── scripts/post_sprint_improve.mjs → .bounce/improvement-manifest.json
68
+ │ ├── Parse Sprint Report §5 Framework Self-Assessment tables
69
+ │ ├── Parse LESSONS.md for automation candidates
70
+ │ ├── Cross-reference archived sprint reports for recurring patterns
71
+ │ └── Check if previous improvements resolved their findings
72
+
73
+ └── scripts/suggest_improvements.mjs → .bounce/improvement-suggestions.md
74
+ ├── Consume improvement-manifest.json
75
+ ├── Add metric-driven suggestions (bounce rate, correction tax, first-pass rate)
76
+ ├── Add lesson graduation candidates
77
+ └── Format with impact levels for human review
78
+ ```
79
+
80
+ ### Output Files
81
+
82
+ | File | Purpose |
83
+ |------|---------|
84
+ | `.bounce/improvement-manifest.json` | Machine-readable proposals with metadata (consumed by this skill) |
85
+ | `.bounce/improvement-suggestions.md` | Human-readable improvement suggestions with impact levels |
86
+ | `.bounce/trends.md` | Cross-sprint trend data |
87
+
30
88
  ## Input Sources
31
89
 
32
90
  The improve skill reads from multiple signals, in priority order:
33
91
 
34
- ### 1. Sprint Report §5Framework Self-Assessment (Primary)
35
- The structured retro tables are the richest source. Each row has:
92
+ ### 1. Improvement Manifest (PrimaryMachine-Generated)
93
+ Read `.bounce/improvement-manifest.json` first. It contains pre-analyzed proposals with impact levels, automation classifications, recurrence data, and effectiveness checks. This is the richest, most structured input.
94
+
95
+ ### 2. Sprint Report §5 — Framework Self-Assessment
96
+ The structured retro tables are the richest human-authored source. Each row has:
36
97
  - Finding (what went wrong)
37
98
  - Source Agent (who experienced it)
38
99
  - Severity (Friction vs Blocker)
39
100
  - Suggested Fix (agent's proposal)
40
101
 
41
- ### 2. LESSONS.md — Recurring Patterns
42
- Lessons that point to *process* problems rather than *code* problems:
43
- - "Always check X before Y" → the template should enforce this ordering
44
- - "Agent kept missing Z" the handoff report is missing a field
45
- - Lessons that keep getting re-flagged sprint after sprint
102
+ ### 3. LESSONS.md — Automation Candidates
103
+ Lessons are classified by automation potential:
104
+
105
+ | Automation Type | What to Look For | Target |
106
+ |----------------|-----------------|--------|
107
+ | **gate_check** | Rules with "Always check...", "Never use...", "Must have..." | `.bounce/gate-checks.json` or `pre_gate_runner.sh` |
108
+ | **script** | Rules with "Run X before Y", "Use X instead of Y" | `scripts/` |
109
+ | **template_field** | Rules with "Include X in...", "Add X to the story/epic/template" | `templates/*.md` |
110
+ | **agent_config** | General behavioral rules proven over 3+ sprints | `brains/claude-agents/*.md` |
111
+
112
+ **Key insight:** Lessons tell you WHAT to enforce. Sprint retro tells you WHERE the framework is weak. Together they drive targeted improvements.
46
113
 
47
- ### 3. Sprint Execution Metrics
114
+ ### 4. Sprint Execution Metrics
48
115
  Quantitative signals from Sprint Report §3:
49
116
  - High bounce ratios → story templates may need better acceptance criteria guidance
50
117
  - High correction tax → handoffs may be losing critical context
51
118
  - Escalation patterns → complexity labels may need recalibration
52
119
 
53
- ### 4. Agent Process Feedback (Raw)
120
+ ### 5. Improvement Effectiveness
121
+ The pipeline checks whether previously applied improvements resolved their target findings. Unresolved improvements are re-escalated at P1 priority.
122
+
123
+ ### 6. Agent Process Feedback (Raw)
54
124
  If sprint reports aren't available, read individual agent reports from `.bounce/archive/` and extract `## Process Feedback` sections directly.
55
125
 
56
126
  ## The Improvement Process
57
127
 
58
- ### Step 1: Gather Signals
128
+ ### Step 1: Read the Manifest
59
129
  ```
60
- 1. Read the last 2-3 Sprint Reports (§5 Framework Self-Assessment)
61
- 2. Read LESSONS.md — filter for process-related entries
62
- 3. Read Sprint Execution Metrics flag anomalies
63
- 4. If no sprint reports exist yet, read raw agent reports from .bounce/archive/
130
+ 1. Read .bounce/improvement-manifest.json (if it exists)
131
+ 2. Read .bounce/improvement-suggestions.md for human-readable context
132
+ 3. If no manifest exists, run: vbounce improve S-XX to generate one
64
133
  ```
65
134
 
66
- ### Step 2: Pattern Detection
67
- Group findings by framework area:
68
-
69
- | Area | What to Look For | Files Affected |
70
- |------|-----------------|----------------|
71
- | **Templates** | Missing fields, unused sections, ambiguous instructions | `templates/*.md` |
72
- | **Agent Handoffs** | Missing report fields, redundant data, unclear formats | `brains/claude-agents/*.md` |
73
- | **Context Prep** | Missing context, stale prep packs, truncation issues | `scripts/prep_sprint_context.mjs`, `scripts/prep_qa_context.mjs`, `scripts/prep_arch_context.mjs` |
74
- | **Skills** | Unclear instructions, missing steps, outdated references | `skills/*/SKILL.md`, `skills/*/references/*` |
75
- | **Process Flow** | Unnecessary steps, wrong ordering, missing gates | `skills/agent-team/SKILL.md`, `skills/doc-manager/SKILL.md` |
76
- | **Tooling** | Script failures, validation gaps, missing automation | `scripts/*`, `bin/*` |
77
- | **Brain Files** | Stale rules, missing rules, inconsistencies across brains | `brains/CLAUDE.md`, `brains/GEMINI.md`, `brains/AGENTS.md`, `brains/cursor-rules/*.mdc` |
135
+ ### Step 2: Supplement with Manual Analysis
136
+ The manifest handles mechanical detection. The /improve skill adds judgment:
137
+ - Are there patterns the scripts can't detect? (e.g., misaligned mental models between agents)
138
+ - Do the metric anomalies have root causes not captured in §5?
139
+ - Are there skill instructions that agents consistently misinterpret?
78
140
 
79
- Deduplicate: if 3 agents report the same issue, that's 1 finding with 3 votes — not 3 findings.
141
+ ### Step 3: Prioritize Using Impact Levels
142
+ Rank all proposals (manifest + manual) by impact:
80
143
 
81
- ### Step 3: Prioritize
82
- Rank findings by impact:
83
-
84
- 1. **Blockers reported by 2+ agents** fix immediately
85
- 2. **Friction reported by 2+ agents** — fix in this improvement pass
86
- 3. **Blockers reported once** — fix if the root cause is clear
87
- 4. **Friction reported once** — note for next improvement pass (may be a one-off)
144
+ 1. **P0 Critical** — Fix before next sprint. Non-negotiable.
145
+ 2. **P1 High** — Fix in this improvement pass.
146
+ 3. **P2 Medium** — Fix if bandwidth allows, otherwise defer.
147
+ 4. **P3 Low** Batch with other improvements when convenient.
88
148
 
89
149
  ### Step 4: Propose Changes
90
150
  For each finding, write a concrete proposal:
@@ -92,7 +152,8 @@ For each finding, write a concrete proposal:
92
152
  ```markdown
93
153
  ### Proposal {N}: {Short title}
94
154
 
95
- **Finding:** {What went wrong from the retro}
155
+ **Impact:** {P0/P1/P2/P3}{reason}
156
+ **Finding:** {What went wrong — from the retro or lesson}
96
157
  **Pattern:** {How many times / sprints this appeared}
97
158
  **Root Cause:** {Why the framework allowed this to happen}
98
159
  **Affected Files:**
@@ -107,15 +168,16 @@ For script changes, describe the new behavior.}
107
168
  **Reversibility:** {Easy — revert the edit / Medium — downstream docs may need updating}
108
169
  ```
109
170
 
110
- #### Special Case: Gate Check Proposals
171
+ #### Special Case: Lesson → Gate Check Proposals
111
172
 
112
- When agent feedback reveals a mechanical check that was repeated manually across multiple stories (e.g., "QA checked for inline styles 4 times"), propose adding it as a pre-gate check instead of a skill/template change:
173
+ When a lesson contains a mechanical rule (classified as `gate_check` in the manifest):
113
174
 
114
175
  ```markdown
115
176
  ### Proposal {N}: Add pre-gate check — {check name}
116
177
 
117
- **Finding:** {Agent} manually performed {check description} in {N} stories this sprint.
118
- **Tokens saved:** ~{estimate} per story (based on agent token usage for this check type)
178
+ **Impact:** P1 mechanical check currently performed manually by agents
179
+ **Lesson:** "{lesson title}" (active since {date})
180
+ **Rule:** {the lesson's rule}
119
181
  **Gate:** qa / arch
120
182
  **Check config to add to `.bounce/gate-checks.json`:**
121
183
  ```json
@@ -131,10 +193,35 @@ When agent feedback reveals a mechanical check that was repeated manually across
131
193
  ```
132
194
  ```
133
195
 
134
- This is the primary mechanism for the gate system to grow organically — the `improve` skill reads what agents repeatedly checked by hand and proposes automating those checks via `gate-checks.json`.
196
+ #### Special Case: Lesson Script Proposals
197
+
198
+ When a lesson describes a procedural check:
199
+
200
+ ```markdown
201
+ ### Proposal {N}: Automate — {check name}
202
+
203
+ **Impact:** P1 — repeated manual procedure
204
+ **Lesson:** "{lesson title}" (active since {date})
205
+ **Rule:** {the lesson's rule}
206
+ **Proposed script/enhancement:** {describe the new script or addition to existing script}
207
+ ```
208
+
209
+ #### Special Case: Lesson Graduation
210
+
211
+ When a lesson has been active 3+ sprints and is classified as `agent_config`:
212
+
213
+ ```markdown
214
+ ### Proposal {N}: Graduate lesson — "{title}"
215
+
216
+ **Impact:** P2 — proven rule ready for permanent enforcement
217
+ **Active since:** {date} ({N} sprints)
218
+ **Rule:** {the lesson's rule}
219
+ **Target agent config:** `brains/claude-agents/{agent}.md`
220
+ **Action:** Add rule to agent's Critical Rules section. Archive lesson from LESSONS.md.
221
+ ```
135
222
 
136
223
  ### Step 5: Present to Human
137
- Present ALL proposals as a numbered list. The human can:
224
+ Present ALL proposals as a numbered list, grouped by impact level. The human can:
138
225
  - **Approve** — apply the change
139
226
  - **Reject** — skip it (optionally explain why)
140
227
  - **Modify** — adjust the proposal before applying
@@ -148,26 +235,27 @@ For each approved proposal:
148
235
  2. If brain files are affected, ensure ALL brain surfaces stay in sync (CLAUDE.md, GEMINI.md, AGENTS.md, cursor-rules/)
149
236
  3. Log the change in `brains/CHANGELOG.md`
150
237
  4. If skills were modified, update skill descriptions in all brain files that reference them
238
+ 5. Record in `.bounce/improvement-log.md` under "Applied" with the impact level
151
239
 
152
240
  ### Step 7: Validate
153
241
  After all changes are applied:
154
242
  1. Run `./scripts/pre_bounce_sync.sh` to update RAG embeddings with the new framework content
155
243
  2. Verify no cross-references are broken (template paths, skill names, report field names)
156
- 3. Confirm brain file consistency — all 4 surfaces should describe the same process
244
+ 3. Confirm brain file consistency — all surfaces should describe the same process
157
245
 
158
246
  ## Improvement Scope
159
247
 
160
248
  ### What CAN Be Improved
161
249
 
162
- | Target | Examples |
163
- |--------|---------|
164
- | **Templates** | Add/remove/rename sections, improve instructions, add examples, fix ambiguity |
165
- | **Agent Report Formats** | Add/remove YAML fields, add report sections, improve handoff clarity |
166
- | **Skills** | Update instructions, add/remove steps, improve reference docs, add new skills |
167
- | **Brain Files** | Update rules, add missing rules, improve consistency, update skill references |
168
- | **Scripts** | Fix bugs, add validation checks, improve error messages, add new automation |
169
- | **Process Flow** | Reorder steps, add/remove gates, adjust thresholds (bounce limits, complexity labels) |
170
- | **RAG Pipeline** | Adjust indexing scope, improve chunking, add new document types to index |
250
+ | Target | Examples | Typical Impact |
251
+ |--------|---------|----------------|
252
+ | **Gate Checks** | New grep/lint rules from lessons | P1 |
253
+ | **Scripts** | New validation, automate manual steps | P1-P2 |
254
+ | **Templates** | Add/remove/rename sections, improve instructions | P2 |
255
+ | **Agent Report Formats** | Add/remove YAML fields, improve handoff clarity | P1-P2 |
256
+ | **Skills** | Update instructions, add/remove steps, add new skills | P1-P2 |
257
+ | **Brain Files** | Graduate lessons to permanent rules, update skill refs | P2 |
258
+ | **Process Flow** | Reorder steps, add/remove gates, adjust thresholds | P1 |
171
259
 
172
260
  ### What CANNOT Be Changed Without Escalation
173
261
  - **Adding a new agent role** — requires human design decision + new brain config
@@ -177,14 +265,15 @@ After all changes are applied:
177
265
 
178
266
  ## Output
179
267
 
180
- The improve skill does not produce a standalone report file. Its output is:
268
+ The improve skill produces:
181
269
  1. The list of proposals presented to the human (inline during the conversation)
182
270
  2. The applied changes to framework files
183
271
  3. The `brains/CHANGELOG.md` entries documenting what changed and why
272
+ 4. Updates to `.bounce/improvement-log.md` tracking approved/rejected/deferred items
184
273
 
185
274
  ## Tracking Improvement Velocity
186
275
 
187
- Over time, the Sprint Report §5 Framework Self-Assessment tables should shrink. If the same findings keep appearing after improvement passes, the fix didn't work — re-examine the root cause.
276
+ Over time, the Sprint Report §5 Framework Self-Assessment tables should shrink. If the same findings keep appearing after improvement passes, the fix didn't work — the pipeline will automatically detect this and re-escalate at P1 priority.
188
277
 
189
278
  The Team Lead should note in the Sprint Report whether the previous improvement pass resolved the issues it targeted:
190
279
  - "Improvement pass from S-03 resolved the Dev→QA handoff gap (0 handoff complaints this sprint)"
@@ -199,7 +288,9 @@ The Team Lead should note in the Sprint Report whether the previous improvement
199
288
  - **Don't over-engineer.** Fix the actual problem reported by agents. Don't add speculative improvements.
200
289
  - **Respect the hierarchy.** Template changes are low-risk. Process flow changes are high-risk. Scope accordingly.
201
290
  - **Skills are living documents.** If a skill's instructions consistently confuse agents, rewrite the confusing section — don't add workarounds elsewhere.
291
+ - **Impact levels drive priority.** P0 and P1 items are addressed first. P3 items are batched.
292
+ - **Lessons are fuel.** Every lesson is a potential automation — classify and act on them.
202
293
 
203
294
  ## Keywords
204
295
 
205
- improve, self-improvement, framework evolution, retro, retrospective, process feedback, friction, template improvement, skill improvement, brain sync, meta-process, self-aware
296
+ improve, self-improvement, framework evolution, retro, retrospective, process feedback, friction, template improvement, skill improvement, brain sync, meta-process, self-aware, impact levels, lesson graduation, gate check, automation
@@ -31,6 +31,20 @@ This is NOT just a command — it is a standing directive:
31
31
  3. **When offering**, say: *"This looks like a lesson worth recording — want me to capture it?"*
32
32
  4. **Never record without the user's approval.** Always ask first.
33
33
 
34
+ ## Timing: Record Immediately, Not at Sprint Close
35
+
36
+ **Lessons MUST be recorded as soon as the story that produced them is merged** — not deferred to sprint close. Context decays fast.
37
+
38
+ **Flow:**
39
+ 1. During execution, agents flag lessons in their reports (`lessons_flagged` field)
40
+ 2. After DevOps merges a story (Phase 3, Step 9), the Team Lead immediately:
41
+ - Reads `lessons_flagged` from Dev and QA reports
42
+ - Presents each lesson to the human for approval
43
+ - Records approved lessons to LESSONS.md right away
44
+ 3. At sprint close (Sprint Report §4), the lesson table serves as a **review of what was already recorded** — not a first-time approval step. This is a confirmation, not a gate.
45
+
46
+ **Why this matters:** A lesson recorded 5 minutes after the problem is specific and actionable. A lesson recorded 3 days later at sprint close is vague and often forgotten.
47
+
34
48
  ## Recording: The `/lesson` Command
35
49
 
36
50
  ### Step 1: Gather Context
package/templates/epic.md CHANGED
@@ -21,10 +21,12 @@ Output location: `product_plans/backlog/EPIC-{NNN}_{epic_name}/EPIC-{NNN}_{epic_
21
21
 
22
22
  Document Hierarchy Position: LEVEL 3 (Charter → Roadmap → **Epic** → Story)
23
23
 
24
+ **Codebase research is mandatory when filling §4 Technical Context.** Do NOT guess at affected files, dependencies, or integration points. Read the actual codebase — explore directories, read files listed in upstream documents, understand current architecture — then fill §4 with real file paths and verified dependencies.
25
+
24
26
  Upstream sources:
25
27
  - §1 Problem & Value traces to Charter §1.1 (What It Is) and §5 (Key Workflows)
26
28
  - §3.3 Constraints inherits from Charter §6 and Roadmap §5 Strategic Constraints
27
- - §4 Technical Context references Roadmap §3 ADRs for architecture decisions
29
+ - §4 Technical Context references Roadmap §3 ADRs for architecture decisions AND actual codebase exploration
28
30
  - Metadata.Priority aligns with Roadmap §2 Release Plan epic priorities
29
31
 
30
32
  Downstream consumers:
@@ -132,21 +134,22 @@ flowchart LR
132
134
  ---
133
135
 
134
136
  ## 5. Decomposition Guidance
135
- > Hints for AI story breakdown. Check all that apply.
136
-
137
- - [ ] **Schema/Migration** - Database changes, new tables/fields
138
- - [ ] **API Work** - New/modified endpoints
139
- - [ ] **UI Work** - New screens or components
140
- - [ ] **Integration** - External service connection
141
- - [ ] **Infrastructure** - Config, env vars, deployment
142
- - [ ] **Testing** - E2E, integration tests
143
- - [ ] **Documentation** - User-facing or API docs
144
-
145
- ### Suggested Story Sequence
146
- 1. {First: usually schema/data layer}
147
- 2. {Then: API/backend layer}
148
- 3. {Then: UI/frontend layer}
149
- 4. {Finally: integration + E2E tests}
137
+ > The AI agent will analyze this epic and research the codebase to create small, focused stories. Each story must deliver a tangible, verifiable result — not just a layer of work.
138
+
139
+ ### Affected Areas (for codebase research)
140
+ - [ ] {Area 1: e.g., "Authentication flow in `src/auth/`"}
141
+ - [ ] {Area 2: e.g., "User profile API in `src/api/users.ts`"}
142
+ - [ ] {Area 3: e.g., "Dashboard component in `src/components/Dashboard/`"}
143
+
144
+ ### Key Constraints for Story Sizing
145
+ - Each story should touch 1-3 files and have one clear goal
146
+ - Prefer vertical slices (thin end-to-end) over horizontal layers
147
+ - Stories must be independently verifiable
148
+
149
+ ### Suggested Sequencing Hints
150
+ 1. {What must exist first for other work to build on}
151
+ 2. {What depends on #1}
152
+ 3. {What can run in parallel}
150
153
 
151
154
  ---
152
155