@sandrinio/vbounce 1.0.0 โ 1.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.
- package/README.md +3 -1
- package/bin/vbounce.mjs +42 -7
- package/brains/AGENTS.md +5 -2
- package/brains/CHANGELOG.md +7 -0
- package/brains/CLAUDE.md +5 -2
- package/brains/GEMINI.md +5 -2
- package/brains/SETUP.md +12 -0
- package/brains/claude-agents/architect.md +34 -2
- package/brains/claude-agents/developer.md +31 -3
- package/brains/claude-agents/devops.md +14 -1
- package/brains/claude-agents/qa.md +55 -2
- package/docs/HOTFIX_EDGE_CASES.md +37 -0
- package/docs/agent-skill-profiles.docx +0 -0
- package/docs/vbounce-os-manual.docx +0 -0
- package/package.json +13 -4
- package/scripts/hotfix_manager.sh +157 -0
- package/scripts/pre_bounce_sync.sh +37 -0
- package/scripts/validate_report.mjs +122 -0
- package/scripts/vbounce_ask.mjs +98 -0
- package/scripts/vbounce_index.mjs +184 -0
- package/scripts/verify_framework.mjs +105 -0
- package/scripts/verify_framework.sh +13 -0
- package/skills/agent-team/SKILL.md +15 -2
- package/skills/doc-manager/SKILL.md +1 -2
- package/skills/file-organization/SKILL.md +146 -0
- package/skills/file-organization/TEST-RESULTS.md +193 -0
- package/skills/file-organization/evals/evals.json +41 -0
- package/skills/file-organization/references/gitignore-template.md +53 -0
- package/skills/file-organization/references/quick-checklist.md +48 -0
- package/templates/delivery_plan.md +11 -0
- package/templates/hotfix.md +3 -0
- package/templates/sprint_report.md +7 -1
- package/templates/story.md +1 -0
package/README.md
CHANGED
|
@@ -48,7 +48,9 @@ npx @sandrinio/vbounce install codex
|
|
|
48
48
|
### What gets installed?
|
|
49
49
|
- **Agent Instructions:** The "Brain" file (e.g., `CLAUDE.md`, `.cursor/rules/`) that teaches your AI how to follow the V-Bounce process.
|
|
50
50
|
- **Templates:** Markdown templates for your Charter, Roadmap, Epics, and Stories.
|
|
51
|
-
- **
|
|
51
|
+
- **Bundled Scripts:** Our validation pipeline (`validate_report.mjs`) and RAG synchronization engine (`pre_bounce_sync.sh`).
|
|
52
|
+
- **Autonomous RAG Setup:** The installer automatically runs `npm install` for required libraries and initializes your local LanceDB knowledge base (`.bounce/.lancedb/`).
|
|
53
|
+
- **vdoc Integration:** Fully compatible with [`@sandrinio/vdoc`](https://github.com/sandrinio/vdoc) to automatically construct semantic product documentation.
|
|
52
54
|
|
|
53
55
|
### ๐งฐ The Bundled Skills
|
|
54
56
|
V-Bounce OS installs a powerful suite of specialized markdown `skills/` directly into your workspace. These act as modular capabilities you can invoke dynamically or that the Team Lead agent will invoke automatically during the SDLC process:
|
package/bin/vbounce.mjs
CHANGED
|
@@ -5,6 +5,8 @@ import path from 'path';
|
|
|
5
5
|
import { fileURLToPath } from 'url';
|
|
6
6
|
import readline from 'readline';
|
|
7
7
|
|
|
8
|
+
import { execSync } from 'child_process';
|
|
9
|
+
|
|
8
10
|
const __filename = fileURLToPath(import.meta.url);
|
|
9
11
|
const __dirname = path.dirname(__filename);
|
|
10
12
|
const pkgRoot = path.join(__dirname, '..');
|
|
@@ -61,33 +63,39 @@ const platformMappings = {
|
|
|
61
63
|
{ src: 'brains/CLAUDE.md', dest: 'CLAUDE.md' },
|
|
62
64
|
{ src: 'brains/claude-agents', dest: '.claude/agents' },
|
|
63
65
|
{ src: 'templates', dest: 'templates' },
|
|
64
|
-
{ src: 'skills', dest: 'skills' }
|
|
66
|
+
{ src: 'skills', dest: 'skills' },
|
|
67
|
+
{ src: 'scripts', dest: 'scripts' }
|
|
65
68
|
],
|
|
66
69
|
cursor: [
|
|
67
70
|
{ src: 'brains/cursor-rules', dest: '.cursor/rules' },
|
|
68
71
|
{ src: 'templates', dest: 'templates' },
|
|
69
|
-
{ src: 'skills', dest: 'skills' }
|
|
72
|
+
{ src: 'skills', dest: 'skills' },
|
|
73
|
+
{ src: 'scripts', dest: 'scripts' }
|
|
70
74
|
],
|
|
71
75
|
gemini: [
|
|
72
76
|
{ src: 'brains/GEMINI.md', dest: 'GEMINI.md' },
|
|
73
77
|
{ src: 'templates', dest: 'templates' },
|
|
74
78
|
{ src: 'skills', dest: 'skills' },
|
|
75
|
-
{ src: 'skills', dest: '.agents/skills' }
|
|
79
|
+
{ src: 'skills', dest: '.agents/skills' },
|
|
80
|
+
{ src: 'scripts', dest: 'scripts' }
|
|
76
81
|
],
|
|
77
82
|
codex: [
|
|
78
83
|
{ src: 'brains/AGENTS.md', dest: 'AGENTS.md' },
|
|
79
84
|
{ src: 'templates', dest: 'templates' },
|
|
80
|
-
{ src: 'skills', dest: 'skills' }
|
|
85
|
+
{ src: 'skills', dest: 'skills' },
|
|
86
|
+
{ src: 'scripts', dest: 'scripts' }
|
|
81
87
|
],
|
|
82
88
|
vscode: [
|
|
83
89
|
{ src: 'brains/CLAUDE.md', dest: '.github/copilot-instructions.md' },
|
|
84
90
|
{ src: 'templates', dest: 'templates' },
|
|
85
|
-
{ src: 'skills', dest: 'skills' }
|
|
91
|
+
{ src: 'skills', dest: 'skills' },
|
|
92
|
+
{ src: 'scripts', dest: 'scripts' }
|
|
86
93
|
],
|
|
87
94
|
copilot: [
|
|
88
95
|
{ src: 'brains/CLAUDE.md', dest: '.github/copilot-instructions.md' },
|
|
89
96
|
{ src: 'templates', dest: 'templates' },
|
|
90
|
-
{ src: 'skills', dest: 'skills' }
|
|
97
|
+
{ src: 'skills', dest: 'skills' },
|
|
98
|
+
{ src: 'scripts', dest: 'scripts' }
|
|
91
99
|
]
|
|
92
100
|
};
|
|
93
101
|
|
|
@@ -130,7 +138,7 @@ if (toOverwrite.length > 0) {
|
|
|
130
138
|
|
|
131
139
|
console.log('');
|
|
132
140
|
|
|
133
|
-
askQuestion('Proceed with installation? [y/N] ').then(answer => {
|
|
141
|
+
askQuestion('Proceed with installation? [y/N] ').then(async answer => {
|
|
134
142
|
rl.close();
|
|
135
143
|
const confirmation = answer.trim().toLowerCase();
|
|
136
144
|
|
|
@@ -161,5 +169,32 @@ askQuestion('Proceed with installation? [y/N] ').then(answer => {
|
|
|
161
169
|
console.log(` \x1b[32mโ\x1b[0m ${rule.dest}`);
|
|
162
170
|
});
|
|
163
171
|
|
|
172
|
+
console.log('\nโ๏ธ Installing RAG dependencies...');
|
|
173
|
+
try {
|
|
174
|
+
const deps = [
|
|
175
|
+
'@lancedb/lancedb',
|
|
176
|
+
'@xenova/transformers',
|
|
177
|
+
'js-yaml',
|
|
178
|
+
'marked',
|
|
179
|
+
'commander'
|
|
180
|
+
];
|
|
181
|
+
console.log(` Running: npm install ${deps.join(' ')}`);
|
|
182
|
+
execSync(`npm install ${deps.join(' ')}`, { stdio: 'inherit', cwd: CWD });
|
|
183
|
+
console.log(' \x1b[32mโ\x1b[0m Dependencies installed.');
|
|
184
|
+
} catch (err) {
|
|
185
|
+
console.error(' \x1b[31mโ\x1b[0m Failed to install dependencies. You may need to run it manually.');
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
console.log('\n๐ง Initializing RAG Knowledge Base...');
|
|
189
|
+
try {
|
|
190
|
+
const syncScript = path.join(CWD, 'scripts', 'pre_bounce_sync.sh');
|
|
191
|
+
if (fs.existsSync(syncScript)) {
|
|
192
|
+
execSync(`chmod +x "${syncScript}" && "${syncScript}"`, { stdio: 'inherit', cwd: CWD });
|
|
193
|
+
console.log(' \x1b[32mโ\x1b[0m Knowledge base initialized.');
|
|
194
|
+
}
|
|
195
|
+
} catch (err) {
|
|
196
|
+
console.error(' \x1b[31mโ\x1b[0m Failed to initialize knowledge base. Run ./scripts/pre_bounce_sync.sh manually.');
|
|
197
|
+
}
|
|
198
|
+
|
|
164
199
|
console.log('\nโ
V-Bounce OS successfully installed! Welcome to the team.\n');
|
|
165
200
|
});
|
package/brains/AGENTS.md
CHANGED
|
@@ -38,9 +38,10 @@ Before starting any sprint, the Team Lead MUST:
|
|
|
38
38
|
|
|
39
39
|
### Phase 2: The Bounce (Implementation)
|
|
40
40
|
**Standard Path (L2-L4 Stories):**
|
|
41
|
+
0. Team Lead runs `./scripts/pre_bounce_sync.sh` to ensure LanceDB RAG context is fresh.
|
|
41
42
|
1. Team Lead sends Story context pack to Developer.
|
|
42
|
-
2. Developer
|
|
43
|
-
3. QA runs Quick Scan + PR Review, validates against Story ยง2 The Truth. If fail โ Bug Report to Dev.
|
|
43
|
+
2. Developer queries LanceDB, implements code, writes Implementation Report. CLI Orchestrator must run `./scripts/validate_report.mjs` on the report to enforce YAML strictness.
|
|
44
|
+
3. QA runs Quick Scan + PR Review, validates against Story ยง2 The Truth. If fail โ Bug Report to Dev. CLI Orchestrator must run `./scripts/validate_report.mjs` on the QA report before passing to Architect/Dev.
|
|
44
45
|
4. Dev fixes and resubmits. 3+ failures โ Escalated.
|
|
45
46
|
5. Architect runs Deep Audit + Trend Check, validates Safe Zone compliance and ADR adherence.
|
|
46
47
|
6. DevOps merges story branch into sprint branch, validates post-merge, handles release tagging.
|
|
@@ -92,6 +93,8 @@ Bouncing โ Escalated (3+ failures)
|
|
|
92
93
|
9. Reports are the only handoff. No direct agent-to-agent communication.
|
|
93
94
|
10. One source of truth. Reference upstream documents, don't duplicate.
|
|
94
95
|
11. Change Logs are mandatory on every document modification.
|
|
96
|
+
12. Agent Reports MUST use YAML Frontmatter. Every `.bounce/report/` generated must start with a strict `---` YAML block containing the core status and metrics before the Markdown body.
|
|
97
|
+
13. Framework Integrity. Any modification to a `brains/` or `skills/` file MUST be recorded in `brains/CHANGELOG.md` and trigger `./scripts/pre_bounce_sync.sh`.
|
|
95
98
|
|
|
96
99
|
## Framework Structure
|
|
97
100
|
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# V-Bounce OS Brains & Skills Changelog
|
|
2
|
+
|
|
3
|
+
This log tracks modifications to the core agentic framework (e.g., `brains/`, `skills/`).
|
|
4
|
+
Per **Rule 13: Framework Integrity**, anytime an entry is made here, the orchestrator MUST trigger `./scripts/pre_bounce_sync.sh` to update the RAG embeddings globally.
|
|
5
|
+
|
|
6
|
+
## [2026-03-02]
|
|
7
|
+
- **Initialized**: Created strict Framework Integrity tracking, YAML context handoffs, and RAG validation pipeline.
|
package/brains/CLAUDE.md
CHANGED
|
@@ -50,9 +50,10 @@ Before starting any sprint, the Team Lead MUST:
|
|
|
50
50
|
|
|
51
51
|
### Phase 2: The Bounce (Implementation)
|
|
52
52
|
**Standard Path (L2-L4 Stories):**
|
|
53
|
+
0. Team Lead runs `./scripts/pre_bounce_sync.sh` to ensure LanceDB RAG context is fresh.
|
|
53
54
|
1. Team Lead sends Story context pack to Developer.
|
|
54
|
-
2. Developer
|
|
55
|
-
3. QA runs Quick Scan + PR Review, validates against Story ยง2 The Truth. If fail โ Bug Report to Dev.
|
|
55
|
+
2. Developer queries LanceDB, implements code, writes Implementation Report. CLI Orchestrator must run `./scripts/validate_report.mjs` on the report to enforce YAML strictness.
|
|
56
|
+
3. QA runs Quick Scan + PR Review, validates against Story ยง2 The Truth. If fail โ Bug Report to Dev. CLI Orchestrator must run `./scripts/validate_report.mjs` on the QA report before passing to Architect/Dev.
|
|
56
57
|
4. Dev fixes and resubmits. 3+ failures โ Escalated.
|
|
57
58
|
5. Architect runs Deep Audit + Trend Check, validates Safe Zone compliance and ADR adherence.
|
|
58
59
|
6. DevOps merges story branch into sprint branch, validates post-merge, handles release tagging.
|
|
@@ -106,6 +107,8 @@ Draft โ Refinement โ Ready to Bounce โ Bouncing โ QA Passed โ Architec
|
|
|
106
107
|
9. **Reports are the only handoff**. No direct agent-to-agent communication.
|
|
107
108
|
10. **One source of truth**. Reference upstream documents, don't duplicate.
|
|
108
109
|
11. **Change Logs are mandatory** on every document modification.
|
|
110
|
+
12. **Agent Reports MUST use YAML Frontmatter**. Every `.bounce/report/` generated must start with a strict `---` YAML block containing the core status and metrics before the Markdown body.
|
|
111
|
+
13. **Framework Integrity**. Any modification to a `brains/` or `skills/` file MUST be recorded in `brains/CHANGELOG.md` and trigger `./scripts/pre_bounce_sync.sh`.
|
|
109
112
|
|
|
110
113
|
## Framework Structure
|
|
111
114
|
|
package/brains/GEMINI.md
CHANGED
|
@@ -41,9 +41,10 @@ Before starting any sprint, the Team Lead MUST:
|
|
|
41
41
|
|
|
42
42
|
### Phase 2: The Bounce (Implementation)
|
|
43
43
|
**Standard Path (L2-L4 Stories):**
|
|
44
|
+
0. Team Lead runs `./scripts/pre_bounce_sync.sh` to ensure LanceDB RAG context is fresh.
|
|
44
45
|
1. Team Lead sends Story context pack to Developer.
|
|
45
|
-
2. Developer
|
|
46
|
-
3. QA runs Quick Scan + PR Review, validates against Story ยง2 The Truth. If fail โ Bug Report to Dev.
|
|
46
|
+
2. Developer queries LanceDB, implements code, writes Implementation Report. CLI Orchestrator must run `./scripts/validate_report.mjs` on the report to enforce YAML strictness.
|
|
47
|
+
3. QA runs Quick Scan + PR Review, validates against Story ยง2 The Truth. If fail โ Bug Report to Dev. CLI Orchestrator must run `./scripts/validate_report.mjs` on the QA report before passing to Architect/Dev.
|
|
47
48
|
4. Dev fixes and resubmits. 3+ failures โ Escalated.
|
|
48
49
|
5. Architect runs Deep Audit + Trend Check, validates Safe Zone compliance and ADR adherence.
|
|
49
50
|
6. DevOps merges story branch into sprint branch, validates post-merge, handles release tagging.
|
|
@@ -97,6 +98,8 @@ Draft โ Refinement โ Ready to Bounce โ Bouncing โ QA Passed โ Architec
|
|
|
97
98
|
9. **Reports are the only handoff**. No direct agent-to-agent communication.
|
|
98
99
|
10. **One source of truth**. Reference upstream documents, don't duplicate.
|
|
99
100
|
11. **Change Logs are mandatory** on every document modification.
|
|
101
|
+
12. **Agent Reports MUST use YAML Frontmatter**. Every `.bounce/report/` generated must start with a strict `---` YAML block containing the core status and metrics before the Markdown body.
|
|
102
|
+
13. **Framework Integrity**. Any modification to a `brains/` or `skills/` file MUST be recorded in `brains/CHANGELOG.md` and trigger `./scripts/pre_bounce_sync.sh`.
|
|
100
103
|
|
|
101
104
|
## Framework Structure
|
|
102
105
|
|
package/brains/SETUP.md
CHANGED
|
@@ -5,6 +5,7 @@ Step-by-step guide to set up V-Bounce OS in an existing or new project.
|
|
|
5
5
|
## Prerequisites
|
|
6
6
|
|
|
7
7
|
- A git repository (V-Bounce OS uses branches and worktrees)
|
|
8
|
+
- Node.js installed (for validation and semantic search scripts)
|
|
8
9
|
- At least one supported AI coding tool installed
|
|
9
10
|
- The V-Bounce OS folder (this repo)
|
|
10
11
|
|
|
@@ -116,6 +117,17 @@ The agent will:
|
|
|
116
117
|
4. Merge completed stories
|
|
117
118
|
5. Generate a Sprint Report for your review
|
|
118
119
|
|
|
120
|
+
## Step 7: Automated RAG Initialization
|
|
121
|
+
|
|
122
|
+
V-Bounce OS uses LanceDB to provide agents with targeted context. While the `npx @sandrinio/vbounce install` command handles this automatically, you can manually re-trigger a sync if you add new architectural rules or change your brains:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Re-build your local knowledge base
|
|
126
|
+
./scripts/pre_bounce_sync.sh
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
This updates your local embeddings in `.bounce/.lancedb/`. Agents use `./scripts/vbounce_ask.mjs` to fetch rules on demand, ensuring they are always aligned with your latest Roadmap and Lessons.
|
|
130
|
+
|
|
119
131
|
## Folder Structure After Setup
|
|
120
132
|
|
|
121
133
|
```
|
|
@@ -14,7 +14,7 @@ Audit the codebase for structural integrity, standards compliance, and long-term
|
|
|
14
14
|
|
|
15
15
|
## Before Auditing
|
|
16
16
|
|
|
17
|
-
1. **
|
|
17
|
+
1. **Query Project Lessons**: Run `./scripts/vbounce_ask.mjs "architectural constraints and historical mistakes for <story summary>"` to retrieve relevant context from `LESSONS.md` and past reports.
|
|
18
18
|
2. **Read all reports** for this story (`.bounce/reports/STORY-{ID}-*.md`) โ Dev Report, QA Report.
|
|
19
19
|
3. **Read the full Story spec** โ especially ยง3 Implementation Guide and ยง3.1 ADR References.
|
|
20
20
|
4. **Read Roadmap ยง3 ADRs** โ every architecture decision the implementation must comply with.
|
|
@@ -65,10 +65,18 @@ Check that the changes don't break existing functionality:
|
|
|
65
65
|
|
|
66
66
|
## Your Output
|
|
67
67
|
|
|
68
|
-
Write an **Architectural Audit Report** to `.bounce/reports/STORY-{ID}-arch.md
|
|
68
|
+
Write an **Architectural Audit Report** to `.bounce/reports/STORY-{ID}-arch.md`.
|
|
69
|
+
You MUST include the YAML frontmatter block exactly as shown below:
|
|
69
70
|
|
|
70
71
|
### If Audit PASSES:
|
|
71
72
|
```markdown
|
|
73
|
+
---
|
|
74
|
+
status: "PASS"
|
|
75
|
+
safe_zone_score: {SCORE}
|
|
76
|
+
ai_isms_detected: {count}
|
|
77
|
+
regression_risk: "{Low/Medium/High}"
|
|
78
|
+
---
|
|
79
|
+
|
|
72
80
|
# Architectural Audit Report: STORY-{ID} โ PASS
|
|
73
81
|
|
|
74
82
|
## Safe Zone Compliance: {SCORE}/10
|
|
@@ -108,6 +116,12 @@ PASS โ Ready for Sprint Review.
|
|
|
108
116
|
|
|
109
117
|
### If Audit FAILS:
|
|
110
118
|
```markdown
|
|
119
|
+
---
|
|
120
|
+
status: "FAIL"
|
|
121
|
+
bounce_count: {N}
|
|
122
|
+
critical_failures: {count}
|
|
123
|
+
---
|
|
124
|
+
|
|
111
125
|
# Architectural Audit Report: STORY-{ID} โ FAIL
|
|
112
126
|
|
|
113
127
|
## Critical Failures
|
|
@@ -130,6 +144,24 @@ When the Team Lead asks for a **Sprint Integration Audit** (after all stories pa
|
|
|
130
144
|
- Check for emergent coupling that wasn't visible in individual story reviews
|
|
131
145
|
- Write the integration audit to `.bounce/reports/sprint-integration-audit.md`
|
|
132
146
|
|
|
147
|
+
## Checkpointing
|
|
148
|
+
|
|
149
|
+
After completing each major phase of your audit (e.g., Deep Audit done, Trend Check done, ADR compliance checked), write a progress checkpoint to `.bounce/reports/STORY-{ID}-arch-checkpoint.md`:
|
|
150
|
+
|
|
151
|
+
```markdown
|
|
152
|
+
# Architect Checkpoint: STORY-{ID}
|
|
153
|
+
## Completed
|
|
154
|
+
- {Which audit phases are done}
|
|
155
|
+
## Remaining
|
|
156
|
+
- {Which phases are left}
|
|
157
|
+
## Preliminary Findings
|
|
158
|
+
- {Key issues or observations so far}
|
|
159
|
+
## Current Verdict
|
|
160
|
+
- {Leaning PASS/FAIL and why}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
This enables recovery if your session is interrupted. A re-spawned Architect agent reads the checkpoint to continue without re-running completed audit phases. Overwrite the checkpoint file each time โ only the latest state matters.
|
|
164
|
+
|
|
133
165
|
## Critical Rules
|
|
134
166
|
|
|
135
167
|
- You NEVER fix code. You only report what needs fixing.
|
|
@@ -12,8 +12,9 @@ Implement features and fix bugs as specified in Story documents. You write code
|
|
|
12
12
|
|
|
13
13
|
## Before Writing ANY Code
|
|
14
14
|
|
|
15
|
-
1. **
|
|
16
|
-
2. **
|
|
15
|
+
1. **Query Project Lessons**: Run `./scripts/vbounce_ask.mjs "<summarize your specific coding task here>"` to retrieve relevant constraints and gotchas from `LESSONS.md` and historical reports. Treat these as hard constraints. No exceptions.
|
|
16
|
+
2. **Query Architectural Decisions**: If your task involves core systems (auth, db, state), run `./scripts/vbounce_ask.mjs "<system> decisions"` to get relevant ADRs from the Roadmap.
|
|
17
|
+
3. **Read the Story spec** โ ยง1 The Spec for requirements, ยง3 Implementation Guide for technical approach.
|
|
17
18
|
3. **Check ADR references** in ยง3.1 โ comply with all architecture decisions from the Roadmap.
|
|
18
19
|
4. **Read relevant react-best-practices rules** โ consult `skills/react-best-practices/` for patterns matching your task.
|
|
19
20
|
5. **Check product documentation** โ if the task file references product docs from `product_documentation/`, read them. Understand how the existing feature works before changing adjacent code. If your implementation changes behavior described in a product doc, flag it in your report.
|
|
@@ -33,9 +34,18 @@ Do NOT proceed with a broken spec. Instead:
|
|
|
33
34
|
|
|
34
35
|
## Your Output
|
|
35
36
|
|
|
36
|
-
Write a **Developer Implementation Report** to `.bounce/reports/STORY-{ID}-dev.md
|
|
37
|
+
Write a **Developer Implementation Report** to `.bounce/reports/STORY-{ID}-dev.md`.
|
|
38
|
+
You MUST include the YAML frontmatter block exactly as shown below:
|
|
37
39
|
|
|
38
40
|
```markdown
|
|
41
|
+
---
|
|
42
|
+
status: "implemented"
|
|
43
|
+
correction_tax: {X}
|
|
44
|
+
files_modified:
|
|
45
|
+
- "path/to/file.ts"
|
|
46
|
+
lessons_flagged: {number of lessons}
|
|
47
|
+
---
|
|
48
|
+
|
|
39
49
|
# Developer Implementation Report: STORY-{ID}
|
|
40
50
|
|
|
41
51
|
## Files Modified
|
|
@@ -61,6 +71,24 @@ Write a **Developer Implementation Report** to `.bounce/reports/STORY-{ID}-dev.m
|
|
|
61
71
|
- [ ] No new patterns or libraries introduced
|
|
62
72
|
```
|
|
63
73
|
|
|
74
|
+
## Checkpointing
|
|
75
|
+
|
|
76
|
+
After completing each major phase of your work (e.g., initial implementation done, tests written, bug fixes applied), write a progress checkpoint to `.bounce/reports/STORY-{ID}-dev-checkpoint.md`:
|
|
77
|
+
|
|
78
|
+
```markdown
|
|
79
|
+
# Developer Checkpoint: STORY-{ID}
|
|
80
|
+
## Completed
|
|
81
|
+
- {What's done so far}
|
|
82
|
+
## Remaining
|
|
83
|
+
- {What's left to do}
|
|
84
|
+
## Key Decisions
|
|
85
|
+
- {Important choices made during implementation}
|
|
86
|
+
## Files Modified
|
|
87
|
+
- {List of files changed so far}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
This enables recovery if your session is interrupted. A re-spawned Developer agent reads the checkpoint to continue without restarting from scratch. Overwrite the checkpoint file each time โ only the latest state matters.
|
|
91
|
+
|
|
64
92
|
## Critical Rules
|
|
65
93
|
|
|
66
94
|
- You NEVER communicate with QA or Architect directly. Your report is your only output.
|
|
@@ -146,10 +146,17 @@ Before approving a deployment:
|
|
|
146
146
|
|
|
147
147
|
## Your Output
|
|
148
148
|
|
|
149
|
-
Write a **DevOps Report** to `.bounce/reports/STORY-{ID}-devops.md` (for story merges) or `.bounce/reports/sprint-S-{XX}-devops.md` (for sprint releases)
|
|
149
|
+
Write a **DevOps Report** to `.bounce/reports/STORY-{ID}-devops.md` (for story merges) or `.bounce/reports/sprint-S-{XX}-devops.md` (for sprint releases).
|
|
150
|
+
You MUST include the YAML frontmatter block exactly as shown below:
|
|
150
151
|
|
|
151
152
|
### Story Merge Report
|
|
152
153
|
```markdown
|
|
154
|
+
---
|
|
155
|
+
type: "story-merge"
|
|
156
|
+
status: "{Clean / Conflicts Resolved / Failed}"
|
|
157
|
+
conflicts_detected: {true/false}
|
|
158
|
+
---
|
|
159
|
+
|
|
153
160
|
# DevOps Report: STORY-{ID} Merge
|
|
154
161
|
|
|
155
162
|
## Pre-Merge Checks
|
|
@@ -178,6 +185,12 @@ Write a **DevOps Report** to `.bounce/reports/STORY-{ID}-devops.md` (for story m
|
|
|
178
185
|
|
|
179
186
|
### Sprint Release Report
|
|
180
187
|
```markdown
|
|
188
|
+
---
|
|
189
|
+
type: "sprint-release"
|
|
190
|
+
status: "{Deployed / Pending / Manual}"
|
|
191
|
+
version: "{VERSION}"
|
|
192
|
+
---
|
|
193
|
+
|
|
181
194
|
# DevOps Report: Sprint S-{XX} Release
|
|
182
195
|
|
|
183
196
|
## Pre-Release Checks
|
|
@@ -12,7 +12,7 @@ Validate that the Developer's implementation meets the Story's acceptance criter
|
|
|
12
12
|
|
|
13
13
|
## Before Testing
|
|
14
14
|
|
|
15
|
-
1. **
|
|
15
|
+
1. **Query Project Lessons**: Run `./scripts/vbounce_ask.mjs "<summarize the story spec here>"` to retrieve known failure patterns relevant to this story from `LESSONS.md` and past reports.
|
|
16
16
|
2. **Read the Developer Implementation Report** (`.bounce/reports/STORY-{ID}-dev.md`) to understand what was built.
|
|
17
17
|
3. **Read Story ยง2 The Truth** โ these are your pass/fail criteria. If the Gherkin scenarios don't pass, the bounce failed.
|
|
18
18
|
|
|
@@ -41,6 +41,14 @@ Run Story ยง2.1 Gherkin scenarios against the implementation:
|
|
|
41
41
|
- Each scenario is a binary pass/fail
|
|
42
42
|
- Document exact failure conditions (input, expected, actual)
|
|
43
43
|
|
|
44
|
+
### Spec Fidelity Check
|
|
45
|
+
After running scenarios, verify:
|
|
46
|
+
- Test count matches the number of Gherkin scenarios in ยง2 (not fewer, not more)
|
|
47
|
+
- Fixture data matches spec examples (if spec says "5 items", test uses 5 items)
|
|
48
|
+
- API contracts match ยง3 exactly (methods, parameters, return types)
|
|
49
|
+
|
|
50
|
+
If there's a mismatch, flag it โ even if the tests pass. Passing tests with wrong fixture counts means the tests aren't validating what the spec intended.
|
|
51
|
+
|
|
44
52
|
### Gold-Plating Audit
|
|
45
53
|
Check for unnecessary complexity the Developer added beyond the Story spec:
|
|
46
54
|
- Features not in the requirements
|
|
@@ -50,10 +58,18 @@ Check for unnecessary complexity the Developer added beyond the Story spec:
|
|
|
50
58
|
|
|
51
59
|
## Your Output
|
|
52
60
|
|
|
53
|
-
Write a **QA Validation Report** to `.bounce/reports/STORY-{ID}-qa.md
|
|
61
|
+
Write a **QA Validation Report** to `.bounce/reports/STORY-{ID}-qa.md`.
|
|
62
|
+
You MUST include the YAML frontmatter block exactly as shown below:
|
|
54
63
|
|
|
55
64
|
### If Tests PASS:
|
|
56
65
|
```markdown
|
|
66
|
+
---
|
|
67
|
+
status: "PASS"
|
|
68
|
+
bounce_count: {N}
|
|
69
|
+
bugs_found: 0
|
|
70
|
+
gold_plating_detected: false
|
|
71
|
+
---
|
|
72
|
+
|
|
57
73
|
# QA Validation Report: STORY-{ID} โ PASS
|
|
58
74
|
|
|
59
75
|
## Quick Scan Results
|
|
@@ -74,12 +90,31 @@ Write a **QA Validation Report** to `.bounce/reports/STORY-{ID}-qa.md`:
|
|
|
74
90
|
## Gold-Plating Audit
|
|
75
91
|
- {Findings or "No gold-plating detected"}
|
|
76
92
|
|
|
93
|
+
## Scrutiny Log
|
|
94
|
+
- **Hardest scenario tested**: {Which scenario was closest to failing and why}
|
|
95
|
+
- **Boundary probed**: {What edge case did you push hardest on}
|
|
96
|
+
- **Observation**: {Anything that passed but felt fragile โ worth watching in future sprints}
|
|
97
|
+
|
|
98
|
+
## Spec Fidelity
|
|
99
|
+
- Test count matches Gherkin scenarios: {Yes/No โ if No, list discrepancies}
|
|
100
|
+
- Fixture data matches spec examples: {Yes/No}
|
|
101
|
+
- API contracts match ยง3: {Yes/No}
|
|
102
|
+
|
|
77
103
|
## Recommendation
|
|
78
104
|
PASS โ Ready for Architect review.
|
|
79
105
|
```
|
|
80
106
|
|
|
81
107
|
### If Tests FAIL:
|
|
82
108
|
```markdown
|
|
109
|
+
---
|
|
110
|
+
status: "FAIL"
|
|
111
|
+
bounce_count: {N}
|
|
112
|
+
bugs_found: {number of bugs}
|
|
113
|
+
gold_plating_detected: {true/false}
|
|
114
|
+
failed_scenarios:
|
|
115
|
+
- "{scenario name}"
|
|
116
|
+
---
|
|
117
|
+
|
|
83
118
|
# QA Validation Report: STORY-{ID} โ FAIL (Bounce {N})
|
|
84
119
|
|
|
85
120
|
## Failures
|
|
@@ -103,6 +138,24 @@ Every finding must include a non-coder analogy. Examples:
|
|
|
103
138
|
- "High coupling" โ "Pulling one wire takes down the whole electrical system"
|
|
104
139
|
- "Duplication" โ "Three departments each built their own payroll system"
|
|
105
140
|
|
|
141
|
+
## Checkpointing
|
|
142
|
+
|
|
143
|
+
After completing each major phase of your testing (e.g., Quick Scan done, PR Review done, scenarios validated), write a progress checkpoint to `.bounce/reports/STORY-{ID}-qa-checkpoint.md`:
|
|
144
|
+
|
|
145
|
+
```markdown
|
|
146
|
+
# QA Checkpoint: STORY-{ID}
|
|
147
|
+
## Completed
|
|
148
|
+
- {Which testing phases are done}
|
|
149
|
+
## Remaining
|
|
150
|
+
- {Which phases are left}
|
|
151
|
+
## Preliminary Findings
|
|
152
|
+
- {Issues found so far, scenarios passed/failed}
|
|
153
|
+
## Current Verdict
|
|
154
|
+
- {Leaning PASS/FAIL and why}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
This enables recovery if your session is interrupted. A re-spawned QA agent reads the checkpoint to continue without re-running completed test phases. Overwrite the checkpoint file each time โ only the latest state matters.
|
|
158
|
+
|
|
106
159
|
## Critical Rules
|
|
107
160
|
|
|
108
161
|
- You NEVER fix code. You only report what's broken.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Hotfix Workflow: Edge Cases & Mitigations
|
|
2
|
+
|
|
3
|
+
This document outlines the critical edge cases, failure modes, and required mitigations for the **V-Bounce OS Hotfix (L1 Trivial)** workflow.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Scope Creep (The "Just one more file" Fallacy)
|
|
8
|
+
|
|
9
|
+
* **The Edge Case**: A request triaged as a Hotfix (e.g., "Fix button color") turns out to be more complex (e.g., the component is shared across 5 views, requires updating global CSS variables, and affects existing tests).
|
|
10
|
+
* **The Mitigation**:
|
|
11
|
+
* **Mitigation โ Developer Hard-Stop**: The Developer agent must stop if a fix requires touching >2 files or introduces new logic patterns.
|
|
12
|
+
* **Mitigation โ Escalation to Human**: The Team Lead must escalate the issue back to the Human, providing suggestions and recommendations on how to proceed (e.g., converting to a standard Epic/Story).
|
|
13
|
+
|
|
14
|
+
## 2. The "Silent Regression" (Bypassing QA)
|
|
15
|
+
|
|
16
|
+
* **The Edge Case**: Bypassing the QA and Architect agents allows a "quick fix" to inadvertently break a downstream component that a human might miss during manual verification.
|
|
17
|
+
* **The Mitigation**:
|
|
18
|
+
* **Mitigation โ Automated Validation**: Mandate in `hotfix.md` that the Developer must run localized tests (`npm test`) before submission.
|
|
19
|
+
* **Mitigation โ Manual Human Testing**: Because the hotfix bypasses the QA agent, the Human MUST test the fix manually. This includes verifying surrounding features and the overall context, not just the isolated fix.
|
|
20
|
+
|
|
21
|
+
## 3. Architectural Drift (The "Death by a Thousand Papercuts")
|
|
22
|
+
|
|
23
|
+
* **The Edge Case**: A series of un-audited hotfixes introduces minor anti-patterns (e.g., inline styles instead of Tailwind classes), degrading codebase integrity over time.
|
|
24
|
+
* **The Mitigation**:
|
|
25
|
+
* **Mitigation โ Scripted Trend Check (`hotfix-manager audit`)**: To save tokens, an automated bash script runs static analysis (grepping for inline styles, `console.log`, and bypasses) on Hotfix commits before Sprint Integration, raising flags only if anti-patterns are detected.
|
|
26
|
+
|
|
27
|
+
## 4. Merge Conflicts with Active Worktrees
|
|
28
|
+
|
|
29
|
+
* **The Edge Case**: A hotfix merged directly to the `sprint` branch causes a collision when other agents try to merge their isolated `.worktrees/`.
|
|
30
|
+
* **The Mitigation**:
|
|
31
|
+
* **Mitigation โ Scripted Worktree Sync (`hotfix-manager sync`)**: After a Hotfix merge, a script safely detects all active `.worktrees/` and runs a `git pull --rebase` to ensure parallel agents are building on the latest code.
|
|
32
|
+
|
|
33
|
+
## 5. Invisible Deliverables (The Ghost Fix)
|
|
34
|
+
|
|
35
|
+
* **The Edge Case**: Hotfixes bypass the `DELIVERY_PLAN.md`, so they are excluded from the Sprint Report and user-facing documentation.
|
|
36
|
+
* **The Mitigation**:
|
|
37
|
+
* **Mitigation โ Scripted Ledger (`hotfix-manager ledger`)**: An automated script appends a new row (Title and Brief Description) to the **"ยง8 Applied Hotfixes"** table in the `DELIVERY_PLAN.md` specifically for Scribe integration.
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sandrinio/vbounce",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "V-Bounce OS: Turn your AI coding assistant into a full engineering team through structured SDLC skills.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -35,6 +35,15 @@
|
|
|
35
35
|
"bin",
|
|
36
36
|
"brains",
|
|
37
37
|
"templates",
|
|
38
|
-
"skills"
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
"skills",
|
|
39
|
+
"scripts",
|
|
40
|
+
"docs"
|
|
41
|
+
],
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@lancedb/lancedb": "^0.26.2",
|
|
44
|
+
"@xenova/transformers": "^2.17.2",
|
|
45
|
+
"commander": "^14.0.3",
|
|
46
|
+
"js-yaml": "^4.1.1",
|
|
47
|
+
"marked": "^17.0.3"
|
|
48
|
+
}
|
|
49
|
+
}
|