@ngocsangairvds/vsaf 5.1.5 → 5.1.7
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/package.json +1 -1
- package/packages/cli/dist/adapters/antigravity.d.ts.map +1 -1
- package/packages/cli/dist/adapters/antigravity.js +14 -30
- package/packages/cli/dist/adapters/antigravity.js.map +1 -1
- package/packages/cli/dist/adapters/claude.d.ts.map +1 -1
- package/packages/cli/dist/adapters/claude.js +8 -10
- package/packages/cli/dist/adapters/claude.js.map +1 -1
- package/packages/cli/dist/adapters/codex.d.ts.map +1 -1
- package/packages/cli/dist/adapters/codex.js +6 -9
- package/packages/cli/dist/adapters/codex.js.map +1 -1
- package/packages/cli/dist/adapters/cursor.d.ts.map +1 -1
- package/packages/cli/dist/adapters/cursor.js +22 -24
- package/packages/cli/dist/adapters/cursor.js.map +1 -1
- package/packages/cli/dist/commands/init.d.ts.map +1 -1
- package/packages/cli/dist/commands/init.js +7 -19
- package/packages/cli/dist/commands/init.js.map +1 -1
- package/packages/cli/dist/commands/install.d.ts +3 -6
- package/packages/cli/dist/commands/install.d.ts.map +1 -1
- package/packages/cli/dist/commands/install.js +27 -10
- package/packages/cli/dist/commands/install.js.map +1 -1
- package/packages/cli/dist/commands/skill.d.ts.map +1 -1
- package/packages/cli/dist/commands/skill.js +40 -16
- package/packages/cli/dist/commands/skill.js.map +1 -1
- package/packages/cli/dist/index.js +2 -2
- package/packages/cli/dist/index.js.map +1 -1
- package/packages/cli/dist/install/orchestrator.d.ts +0 -8
- package/packages/cli/dist/install/orchestrator.d.ts.map +1 -1
- package/packages/cli/dist/install/orchestrator.js +3 -54
- package/packages/cli/dist/install/orchestrator.js.map +1 -1
- package/packages/cli/dist/server/routes/runs.d.ts.map +1 -1
- package/packages/cli/dist/server/routes/runs.js +81 -3
- package/packages/cli/dist/server/routes/runs.js.map +1 -1
- package/packages/cli/dist/server/routes/workflows.d.ts.map +1 -1
- package/packages/cli/dist/server/routes/workflows.js +76 -17
- package/packages/cli/dist/server/routes/workflows.js.map +1 -1
- package/packages/cli/dist/server/services/execution-manager.d.ts +11 -1
- package/packages/cli/dist/server/services/execution-manager.d.ts.map +1 -1
- package/packages/cli/dist/server/services/execution-manager.js +88 -17
- package/packages/cli/dist/server/services/execution-manager.js.map +1 -1
- package/packages/cli/dist/server/static.d.ts.map +1 -1
- package/packages/cli/dist/server/static.js +4 -1
- package/packages/cli/dist/server/static.js.map +1 -1
- package/packages/cli/dist/server/workflow-path.d.ts +3 -0
- package/packages/cli/dist/server/workflow-path.d.ts.map +1 -0
- package/packages/cli/dist/server/workflow-path.js +25 -0
- package/packages/cli/dist/server/workflow-path.js.map +1 -0
- package/packages/core/dist/store/recovery.d.ts.map +1 -1
- package/packages/core/dist/store/recovery.js +12 -1
- package/packages/core/dist/store/recovery.js.map +1 -1
- package/packages/core/dist/store/run-store.d.ts +3 -0
- package/packages/core/dist/store/run-store.d.ts.map +1 -1
- package/packages/core/dist/store/run-store.js +33 -0
- package/packages/core/dist/store/run-store.js.map +1 -1
- package/packages/core/dist/store/types.d.ts +2 -2
- package/packages/core/dist/store/types.d.ts.map +1 -1
- package/packages/core/dist/store/types.js.map +1 -1
- package/packages/core/dist/store/wal.js +1 -1
- package/packages/core/dist/store/wal.js.map +1 -1
- package/packages/web/dist/web/3rdpartylicenses.txt +26 -26
- package/packages/web/dist/web/browser/chunk-4YPNNQ2T.js +4 -0
- package/packages/web/dist/web/browser/chunk-E227ZHPJ.js +1 -0
- package/packages/web/dist/web/browser/chunk-JFBK3MNW.js +1 -0
- package/packages/web/dist/web/browser/chunk-L2VOQBBI.js +1 -0
- package/packages/web/dist/web/browser/chunk-OJJM5VOH.js +1 -0
- package/packages/web/dist/web/browser/chunk-U2H3QYAG.js +5 -0
- package/packages/web/dist/web/browser/chunk-VA7KFQOR.js +1 -0
- package/packages/web/dist/web/browser/chunk-WV3C6DNH.js +1 -0
- package/packages/web/dist/web/browser/index.html +2 -2
- package/packages/web/dist/web/browser/main-THGFWXYL.js +1 -0
- package/packages/web/dist/web/browser/{styles-JBPZVY54.css → styles-PWTTI45T.css} +1 -1
- package/skills/sdlc/architecture/current-state/SKILL.md +10 -0
- package/skills/sdlc/architecture/current-state/step.md +13 -0
- package/skills/sdlc/architecture/decision/SKILL.md +10 -0
- package/skills/sdlc/architecture/decision/step.md +21 -0
- package/skills/sdlc/architecture/epics/SKILL.md +10 -0
- package/skills/sdlc/architecture/epics/step.md +34 -0
- package/skills/sdlc/architecture/grill/SKILL.md +10 -0
- package/skills/sdlc/architecture/grill/step.md +26 -0
- package/skills/sdlc/architecture/prereq/SKILL.md +10 -0
- package/skills/sdlc/architecture/prereq/step.md +16 -0
- package/skills/sdlc/architecture/readiness/SKILL.md +10 -0
- package/skills/sdlc/architecture/readiness/step.md +76 -0
- package/skills/sdlc/complete/context/SKILL.md +10 -0
- package/skills/sdlc/complete/context/step.md +14 -0
- package/skills/sdlc/complete/knowledge/SKILL.md +10 -0
- package/skills/sdlc/complete/knowledge/step.md +22 -0
- package/skills/sdlc/complete/prereq/SKILL.md +10 -0
- package/skills/sdlc/complete/prereq/step.md +16 -0
- package/skills/sdlc/complete/reindex/SKILL.md +10 -0
- package/skills/sdlc/complete/reindex/step.md +24 -0
- package/skills/sdlc/complete/status/SKILL.md +10 -0
- package/skills/sdlc/complete/status/step.md +52 -0
- package/skills/sdlc/discovery/brainstorm/SKILL.md +10 -0
- package/skills/sdlc/discovery/brainstorm/step.md +27 -0
- package/skills/sdlc/discovery/domain/SKILL.md +10 -0
- package/skills/sdlc/discovery/domain/step.md +13 -0
- package/skills/sdlc/discovery/grill/SKILL.md +10 -0
- package/skills/sdlc/discovery/grill/step.md +22 -0
- package/skills/sdlc/discovery/prereq/SKILL.md +10 -0
- package/skills/sdlc/discovery/prereq/step.md +16 -0
- package/skills/sdlc/discovery/prfaq/SKILL.md +10 -0
- package/skills/sdlc/discovery/prfaq/step.md +68 -0
- package/skills/sdlc/discovery/system/SKILL.md +10 -0
- package/skills/sdlc/discovery/system/step.md +19 -0
- package/skills/sdlc/hotfix/analyze/entry/SKILL.md +10 -0
- package/skills/sdlc/hotfix/analyze/entry/step.md +15 -0
- package/skills/sdlc/hotfix/analyze/exit/SKILL.md +10 -0
- package/skills/sdlc/hotfix/analyze/exit/step.md +19 -0
- package/skills/sdlc/hotfix/analyze/fix-strategy/SKILL.md +10 -0
- package/skills/sdlc/hotfix/analyze/fix-strategy/step.md +15 -0
- package/skills/sdlc/hotfix/analyze/gitnexus/SKILL.md +10 -0
- package/skills/sdlc/hotfix/analyze/gitnexus/step.md +17 -0
- package/skills/sdlc/hotfix/analyze/grill/SKILL.md +10 -0
- package/skills/sdlc/hotfix/analyze/grill/step.md +23 -0
- package/skills/sdlc/hotfix/analyze/reasoning/SKILL.md +10 -0
- package/skills/sdlc/hotfix/analyze/reasoning/step.md +29 -0
- package/skills/sdlc/hotfix/analyze/write/SKILL.md +10 -0
- package/skills/sdlc/hotfix/analyze/write/step.md +45 -0
- package/skills/sdlc/hotfix/implement/branch/SKILL.md +10 -0
- package/skills/sdlc/hotfix/implement/branch/step.md +15 -0
- package/skills/sdlc/hotfix/implement/entry/SKILL.md +10 -0
- package/skills/sdlc/hotfix/implement/entry/step.md +20 -0
- package/skills/sdlc/hotfix/implement/gate/SKILL.md +10 -0
- package/skills/sdlc/hotfix/implement/gate/step.md +104 -0
- package/skills/sdlc/hotfix/implement/impact/SKILL.md +10 -0
- package/skills/sdlc/hotfix/implement/impact/step.md +15 -0
- package/skills/sdlc/hotfix/implement/sonar/SKILL.md +10 -0
- package/skills/sdlc/hotfix/implement/sonar/step.md +27 -0
- package/skills/sdlc/hotfix/implement/tdd/SKILL.md +10 -0
- package/skills/sdlc/hotfix/implement/tdd/step.md +33 -0
- package/skills/sdlc/hotfix/implement/verify/SKILL.md +10 -0
- package/skills/sdlc/hotfix/implement/verify/step.md +27 -0
- package/skills/sdlc/hotfix/prd/entry/SKILL.md +10 -0
- package/skills/sdlc/hotfix/prd/entry/step.md +20 -0
- package/skills/sdlc/hotfix/prd/gate/SKILL.md +10 -0
- package/skills/sdlc/hotfix/prd/gate/step.md +32 -0
- package/skills/sdlc/hotfix/prd/requirements/SKILL.md +10 -0
- package/skills/sdlc/hotfix/prd/requirements/step.md +19 -0
- package/skills/sdlc/hotfix/prd/validate/SKILL.md +10 -0
- package/skills/sdlc/hotfix/prd/validate/step.md +19 -0
- package/skills/sdlc/hotfix/prd/write/SKILL.md +10 -0
- package/skills/sdlc/hotfix/prd/write/step.md +38 -0
- package/skills/sdlc/hotfix/review/entry/SKILL.md +10 -0
- package/skills/sdlc/hotfix/review/entry/step.md +13 -0
- package/skills/sdlc/hotfix/review/gate/SKILL.md +10 -0
- package/skills/sdlc/hotfix/review/gate/step.md +51 -0
- package/skills/sdlc/hotfix/review/impact/SKILL.md +10 -0
- package/skills/sdlc/hotfix/review/impact/step.md +22 -0
- package/skills/sdlc/hotfix/review/minimality/SKILL.md +10 -0
- package/skills/sdlc/hotfix/review/minimality/step.md +18 -0
- package/skills/sdlc/hotfix/review/test-quality/SKILL.md +10 -0
- package/skills/sdlc/hotfix/review/test-quality/step.md +16 -0
- package/skills/sdlc/hotfix/ship/commit-pr/SKILL.md +10 -0
- package/skills/sdlc/hotfix/ship/commit-pr/step.md +58 -0
- package/skills/sdlc/hotfix/ship/entry/SKILL.md +10 -0
- package/skills/sdlc/hotfix/ship/entry/step.md +20 -0
- package/skills/sdlc/hotfix/ship/exit/SKILL.md +10 -0
- package/skills/sdlc/hotfix/ship/exit/step.md +31 -0
- package/skills/sdlc/hotfix/ship/gitignore/SKILL.md +10 -0
- package/skills/sdlc/hotfix/ship/gitignore/step.md +22 -0
- package/skills/sdlc/hotfix/ship/report/SKILL.md +10 -0
- package/skills/sdlc/hotfix/ship/report/step.md +47 -0
- package/skills/sdlc/hotfix/ship/test-gate/SKILL.md +10 -0
- package/skills/sdlc/hotfix/ship/test-gate/step.md +17 -0
- package/skills/sdlc/implement/build-run/SKILL.md +10 -0
- package/skills/sdlc/implement/build-run/step.md +85 -0
- package/skills/sdlc/implement/checkpoint/SKILL.md +10 -0
- package/skills/sdlc/implement/checkpoint/step.md +20 -0
- package/skills/sdlc/implement/debug/SKILL.md +10 -0
- package/skills/sdlc/implement/debug/step.md +25 -0
- package/skills/sdlc/implement/impact/SKILL.md +10 -0
- package/skills/sdlc/implement/impact/step.md +12 -0
- package/skills/sdlc/implement/plan/SKILL.md +10 -0
- package/skills/sdlc/implement/plan/step.md +13 -0
- package/skills/sdlc/implement/prereq/SKILL.md +10 -0
- package/skills/sdlc/implement/prereq/step.md +21 -0
- package/skills/sdlc/implement/subagents/SKILL.md +10 -0
- package/skills/sdlc/implement/subagents/step.md +38 -0
- package/skills/sdlc/implement/tdd/SKILL.md +10 -0
- package/skills/sdlc/implement/tdd/step.md +24 -0
- package/skills/sdlc/init/SKILL.md +7 -0
- package/skills/sdlc/onboard-code/SKILL.md +7 -0
- package/skills/sdlc/onboard-docs/SKILL.md +7 -0
- package/skills/sdlc/pack.yaml +83 -16
- package/skills/sdlc/prd/blast-radius/SKILL.md +10 -0
- package/skills/sdlc/prd/blast-radius/step.md +76 -0
- package/skills/sdlc/prd/create/SKILL.md +10 -0
- package/skills/sdlc/prd/create/step.md +21 -0
- package/skills/sdlc/prd/elicitation/SKILL.md +10 -0
- package/skills/sdlc/prd/elicitation/step.md +12 -0
- package/skills/sdlc/prd/prereq/SKILL.md +10 -0
- package/skills/sdlc/prd/prereq/step.md +16 -0
- package/skills/sdlc/prd/validate/SKILL.md +10 -0
- package/skills/sdlc/prd/validate/step.md +24 -0
- package/skills/sdlc/review/code/SKILL.md +10 -0
- package/skills/sdlc/review/code/step.md +45 -0
- package/skills/sdlc/review/debate/SKILL.md +10 -0
- package/skills/sdlc/review/debate/step.md +84 -0
- package/skills/sdlc/review/impact/SKILL.md +10 -0
- package/skills/sdlc/review/impact/step.md +14 -0
- package/skills/sdlc/review/prereq/SKILL.md +10 -0
- package/skills/sdlc/review/prereq/step.md +18 -0
- package/skills/sdlc/review/verification/SKILL.md +10 -0
- package/skills/sdlc/review/verification/step.md +16 -0
- package/skills/sdlc/ship/commit/SKILL.md +10 -0
- package/skills/sdlc/ship/commit/step.md +23 -0
- package/skills/sdlc/ship/gitignore/SKILL.md +10 -0
- package/skills/sdlc/ship/gitignore/step.md +22 -0
- package/skills/sdlc/ship/pr/SKILL.md +10 -0
- package/skills/sdlc/ship/pr/step.md +34 -0
- package/skills/sdlc/ship/prereq/SKILL.md +10 -0
- package/skills/sdlc/ship/prereq/step.md +16 -0
- package/skills/sdlc/ship/report/SKILL.md +10 -0
- package/skills/sdlc/ship/report/step.md +74 -0
- package/skills/sdlc/srs/interface/SKILL.md +10 -0
- package/skills/sdlc/srs/interface/step.md +44 -0
- package/skills/sdlc/srs/prereq/SKILL.md +10 -0
- package/skills/sdlc/srs/prereq/step.md +19 -0
- package/skills/sdlc/srs/validate/SKILL.md +10 -0
- package/skills/sdlc/srs/validate/step.md +23 -0
- package/skills/sdlc/srs/write/SKILL.md +10 -0
- package/skills/sdlc/srs/write/step.md +19 -0
- package/skills/sdlc/test-design/boundary/SKILL.md +10 -0
- package/skills/sdlc/test-design/boundary/step.md +12 -0
- package/skills/sdlc/test-design/cases/SKILL.md +10 -0
- package/skills/sdlc/test-design/cases/step.md +22 -0
- package/skills/sdlc/test-design/coverage/SKILL.md +10 -0
- package/skills/sdlc/test-design/coverage/step.md +63 -0
- package/skills/sdlc/test-design/prereq/SKILL.md +10 -0
- package/skills/sdlc/test-design/prereq/step.md +15 -0
- package/{skills/sdlc/workflows → workflows/sdlc}/hotfix-tdd.yaml +2 -1
- package/{skills/sdlc/workflows → workflows/sdlc}/hotfix.yaml +8 -4
- package/workflows/sdlc/master-sdlc.yaml +64 -0
- package/workflows/sdlc/sdlc-architecture.yaml +43 -0
- package/workflows/sdlc/sdlc-build.yaml +51 -0
- package/workflows/sdlc/sdlc-design.yaml +61 -0
- package/workflows/sdlc/sdlc-discovery.yaml +43 -0
- package/workflows/sdlc/sdlc-feature-complete.yaml +36 -0
- package/workflows/sdlc/sdlc-hotfix-analyze.yaml +43 -0
- package/workflows/sdlc/sdlc-hotfix-implement.yaml +43 -0
- package/workflows/sdlc/sdlc-hotfix-prd.yaml +31 -0
- package/workflows/sdlc/sdlc-hotfix-review.yaml +31 -0
- package/workflows/sdlc/sdlc-hotfix-ship.yaml +37 -0
- package/workflows/sdlc/sdlc-implement.yaml +60 -0
- package/workflows/sdlc/sdlc-prd.yaml +36 -0
- package/workflows/sdlc/sdlc-qa.yaml +91 -0
- package/workflows/sdlc/sdlc-review.yaml +36 -0
- package/workflows/sdlc/sdlc-ship.yaml +36 -0
- package/workflows/sdlc/sdlc-srs.yaml +29 -0
- package/workflows/sdlc/sdlc-test-design.yaml +29 -0
- package/workflows/sdlc/sdlc-testcase.yaml +25 -0
- package/workflows/sdlc/sdlc-thinking.yaml +67 -0
- package/packages/web/dist/web/browser/chunk-IPMFXW6N.js +0 -1
- package/packages/web/dist/web/browser/chunk-IX2QWMX2.js +0 -1
- package/packages/web/dist/web/browser/chunk-QMAH5NZC.js +0 -1
- package/packages/web/dist/web/browser/chunk-RGFLNLPM.js +0 -1
- package/packages/web/dist/web/browser/chunk-RKWDHBN3.js +0 -5
- package/packages/web/dist/web/browser/chunk-XGYEZIV4.js +0 -1
- package/packages/web/dist/web/browser/main-IIUZVPMI.js +0 -1
- package/skills/sdlc/architecture/SKILL.md +0 -218
- package/skills/sdlc/discovery/SKILL.md +0 -197
- package/skills/sdlc/feature-complete/SKILL.md +0 -159
- package/skills/sdlc/hotfix-analyze/SKILL.md +0 -198
- package/skills/sdlc/hotfix-implement/SKILL.md +0 -272
- package/skills/sdlc/hotfix-prd/SKILL.md +0 -161
- package/skills/sdlc/hotfix-review/SKILL.md +0 -153
- package/skills/sdlc/hotfix-ship/SKILL.md +0 -221
- package/skills/sdlc/implement/SKILL.md +0 -264
- package/skills/sdlc/prd/SKILL.md +0 -182
- package/skills/sdlc/review/SKILL.md +0 -210
- package/skills/sdlc/ship/SKILL.md +0 -194
- package/skills/sdlc/srs/SKILL.md +0 -148
- package/skills/sdlc/test-design/SKILL.md +0 -132
- package/skills/sdlc/workflows/master-sdlc.yaml +0 -35
- package/skills/sdlc/workflows/sdlc-build.yaml +0 -18
- package/skills/sdlc/workflows/sdlc-design.yaml +0 -14
- package/skills/sdlc/workflows/sdlc-qa.yaml +0 -20
- package/skills/sdlc/workflows/sdlc-testcase.yaml +0 -8
- package/skills/sdlc/workflows/sdlc-thinking.yaml +0 -12
- /package/{skills/sdlc/workflows → workflows/sdlc}/onboarding.yaml +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
### Step 4: Re-index GitNexus
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[FEATURE-COMPLETE] [4/5] Re-index GitNexus + Rebuild Graphify graph... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
1. Run GitNexus `group_sync` — re-index the latest code structure
|
|
8
|
+
- MUST run BEFORE Graphify (Graphify needs the latest code structure)
|
|
9
|
+
|
|
10
|
+
2. Run `/graphify` — rebuild graph with **docs only** (DO NOT rebuild code graph)
|
|
11
|
+
- Target: `.vsaf/docs/` folder — documents, artifacts, CONTEXT.md, KNOWLEDGE.md only
|
|
12
|
+
- Output: `graphify-out/graph.json` updated
|
|
13
|
+
|
|
14
|
+
3. Claude verifies graph:
|
|
15
|
+
- Do new domain terms from CONTEXT.md have nodes in the graph?
|
|
16
|
+
- Do new patterns from KNOWLEDGE.md have nodes/edges?
|
|
17
|
+
- Are feature artifacts linked correctly?
|
|
18
|
+
- If missing → add to `graph.json`
|
|
19
|
+
|
|
20
|
+
**This is the ONLY phase (besides onboard) allowed to modify `graphify-out/` and `.gitnexus/`.**
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
[FEATURE-COMPLETE] [4/5] Re-index GitNexus + Rebuild Graphify graph... ✅
|
|
24
|
+
```
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
### Step 5: Update STATUS.md
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[FEATURE-COMPLETE] [5/5] Updating STATUS.md... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
Update `.vsaf/docs/STATUS.md`:
|
|
8
|
+
- Move feature to "Knowledge Updated" status
|
|
9
|
+
- Record completion timestamp
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
[FEATURE-COMPLETE] [5/5] Updating STATUS.md... ✅
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Output
|
|
16
|
+
|
|
17
|
+
Print FEATURE COMPLETE REPORT:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
═══════════════════════════════════════════
|
|
21
|
+
FEATURE COMPLETE: {feature-name}
|
|
22
|
+
═══════════════════════════════════════════
|
|
23
|
+
Phase: 8 (Feature Complete — before ship)
|
|
24
|
+
|
|
25
|
+
Knowledge updates:
|
|
26
|
+
- CONTEXT.md: +{N} domain terms
|
|
27
|
+
- KNOWLEDGE.md: +{N} patterns, +{M} decisions, +{K} gotchas
|
|
28
|
+
- GitNexus: re-indexed
|
|
29
|
+
- graph.json: +{N} nodes, +{M} edges (docs only)
|
|
30
|
+
|
|
31
|
+
STATUS: Knowledge Updated — ready to ship
|
|
32
|
+
|
|
33
|
+
Next: `/sdlc-ship` to create PR and ship
|
|
34
|
+
═══════════════════════════════════════════
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Phase Exit Protocol
|
|
38
|
+
|
|
39
|
+
Print PHASE REPORT:
|
|
40
|
+
- Output: CONTEXT.md, KNOWLEDGE.md, graph.json, GitNexus index updated
|
|
41
|
+
- Suggestion: `/sdlc-ship` to commit + create PR
|
|
42
|
+
|
|
43
|
+
Update `.vsaf/docs/STATUS.md`.
|
|
44
|
+
|
|
45
|
+
## Rules
|
|
46
|
+
|
|
47
|
+
- KNOWLEDGE.md is append-only — DO NOT edit old entries
|
|
48
|
+
- GitNexus re-index BEFORE Graphify rebuild
|
|
49
|
+
- Graph verification MUST run — do not skip
|
|
50
|
+
- Graphify rebuild is docs only — DO NOT rebuild code graph in this phase
|
|
51
|
+
- **This is the ONLY phase (besides onboard) allowed to modify `graphify-out/` and `.gitnexus/`**
|
|
52
|
+
- This phase MUST run BEFORE ship — so knowledge is committed with the PR
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
### Step 4: Dual Brainstorming
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[DISCOVERY] [4/6] Dual brainstorming based on grill answers... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
Two complementary brainstorming approaches:
|
|
8
|
+
|
|
9
|
+
**4a — Structured brainstorm**
|
|
10
|
+
|
|
11
|
+
Based on grill answers + system analysis, propose:
|
|
12
|
+
- 2-3 viable approaches with trade-offs
|
|
13
|
+
- Risk/constraint evaluation per approach
|
|
14
|
+
- Recommended option with reasoning
|
|
15
|
+
|
|
16
|
+
**4b — Creative brainstorm (BMAD)**
|
|
17
|
+
|
|
18
|
+
Use `/bmad-brainstorming` to explore alternatives and uncover hidden risks:
|
|
19
|
+
- Facilitator-led, diverse creative techniques
|
|
20
|
+
- Goal: ≥20 ideas/alternatives before reorganizing
|
|
21
|
+
- Surfaces edge cases the structured approach may miss
|
|
22
|
+
|
|
23
|
+
Record both results in `01-discovery.md` — §Problem Statement (4a) + §Alternatives (4b).
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
[DISCOVERY] [4/6] Dual brainstorming based on grill answers... ✅
|
|
27
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
### Step 5: Domain Research + Existing Code Scan
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[DISCOVERY] [5/6] Domain research + existing code scan... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
Use `/bmad-domain-research` — deep-dive domain knowledge.
|
|
8
|
+
Use GitNexus `query` — find related code/patterns already available in the codebase.
|
|
9
|
+
Record results in `01-discovery.md` §Domain Research + §Existing Code.
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
[DISCOVERY] [5/6] Domain research + existing code scan... ✅
|
|
13
|
+
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
### Step 3: GRILL Session — ASK questions, do NOT suggest
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[DISCOVERY] [3/6] Grill session — asking detailed questions... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
Use `/bmad-advanced-elicitation` — grill questions BASED ON system understanding from Step 2.
|
|
8
|
+
|
|
9
|
+
**STRICT RULES:**
|
|
10
|
+
- ⛔ Do NOT offer suggestions or recommendations
|
|
11
|
+
- ⛔ Do NOT say "I think we should do X"
|
|
12
|
+
- ✅ ONLY ask questions
|
|
13
|
+
- ✅ Questions MUST be specific, based on actual code/architecture analyzed
|
|
14
|
+
- ✅ Correct example: "The current system has UserService handling auth. Do you want the new feature to interact with the existing auth flow or be separate?"
|
|
15
|
+
- ✅ Correct example: "Route `/api/orders` currently returns 5 fields. What additional fields does the new feature need?"
|
|
16
|
+
- ⛔ Wrong example: "I suggest using event-driven architecture for this feature"
|
|
17
|
+
|
|
18
|
+
**WAIT** for the user to respond BEFORE continuing to Step 4.
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
[DISCOVERY] [3/6] Grill session — asking detailed questions... ✅
|
|
22
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
## Phase Entry Protocol
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[DISCOVERY] [1/6] Checking prerequisites... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
1. Receive feature request: `$ARGUMENTS`
|
|
8
|
+
2. Check if `graphify-out/graph.json` exists:
|
|
9
|
+
- Does not exist → Ask: "Graph not found. Have you run onboarding?"
|
|
10
|
+
3. Read `.vsaf/docs/STATUS.md` → confirm feature does not already exist or identify current phase
|
|
11
|
+
4. Read `CONTEXT.md`
|
|
12
|
+
5. Query `graph.json` for related business domain context
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
[DISCOVERY] [1/6] Checking prerequisites... ✅
|
|
16
|
+
```
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
### Step 6: PRFAQ (if large feature)
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[DISCOVERY] [6/6] PRFAQ (if needed)... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
Use `/bmad-prfaq` — Working Backwards to force clarity.
|
|
8
|
+
Record results in `01-discovery.md` §PRFAQ.
|
|
9
|
+
If the feature is small, record "PRFAQ: Skipped — feature scope does not require it."
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
[DISCOVERY] [6/6] PRFAQ (if needed)... ✅
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Output
|
|
16
|
+
|
|
17
|
+
Create directory `.vsaf/docs/features/{feature-name}/` if it does not exist.
|
|
18
|
+
Write file: `.vsaf/docs/features/{feature-name}/01-discovery.md`
|
|
19
|
+
|
|
20
|
+
```markdown
|
|
21
|
+
# Discovery: {feature-name}
|
|
22
|
+
|
|
23
|
+
## Grill Session
|
|
24
|
+
{questions and answers from bmad-advanced-elicitation}
|
|
25
|
+
|
|
26
|
+
## Problem Statement
|
|
27
|
+
{from bmad-brainstorming, based on grill answers}
|
|
28
|
+
|
|
29
|
+
## Domain Research
|
|
30
|
+
{from bmad-domain-research}
|
|
31
|
+
|
|
32
|
+
## Existing Code
|
|
33
|
+
{from GitNexus query + context + route_map}
|
|
34
|
+
|
|
35
|
+
## PRFAQ
|
|
36
|
+
{from bmad-prfaq, if applicable}
|
|
37
|
+
|
|
38
|
+
## Decision: Proceed / Pivot / Kill
|
|
39
|
+
{recommendation on whether to continue, with reasoning}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Artifact Auto-Save
|
|
43
|
+
|
|
44
|
+
After writing the file, print the message:
|
|
45
|
+
|
|
46
|
+
> Artifacts saved. If the session is interrupted, open a new session and run the next phase — data is safe.
|
|
47
|
+
|
|
48
|
+
## Phase Exit Protocol
|
|
49
|
+
|
|
50
|
+
Print PHASE REPORT:
|
|
51
|
+
- Feature: {feature-name}
|
|
52
|
+
- Status: COMPLETED
|
|
53
|
+
- Completed: system analysis, grill session, brainstorming, domain research, existing code scan, PRFAQ
|
|
54
|
+
- Output files: `.vsaf/docs/features/{feature-name}/01-discovery.md`
|
|
55
|
+
- Suggested next steps:
|
|
56
|
+
[1] Continue to Phase 2 PRD → `/sdlc-prd`
|
|
57
|
+
[2] Save artifacts
|
|
58
|
+
|
|
59
|
+
Update `.vsaf/docs/STATUS.md`.
|
|
60
|
+
|
|
61
|
+
## Rules
|
|
62
|
+
|
|
63
|
+
- ⛔ Do NOT offer suggestions before asking — Grill session MUST happen before brainstorming
|
|
64
|
+
- ⛔ Do NOT read detailed source code — only use GitNexus tools for high-level scanning
|
|
65
|
+
- ⛔ Do NOT modify `graphify-out/` or `.gitnexus/`
|
|
66
|
+
- Every discovery must have a clear Decision: Proceed, Pivot, or Kill
|
|
67
|
+
- If Decision = Kill → record reasoning, stop the flow
|
|
68
|
+
- Questions in the grill session MUST be based on actual system understanding, NOT generic
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
### Step 2: Understand Existing System FIRST
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[DISCOVERY] [2/6] Analyzing current system via GitNexus... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
BEFORE asking any questions, MUST understand the current system:
|
|
8
|
+
|
|
9
|
+
1. Use GitNexus MCP tools:
|
|
10
|
+
- `query` — find code/patterns related to the feature request
|
|
11
|
+
- `route_map` — understand current API routes and flow
|
|
12
|
+
- `context` — 360° view of related symbols
|
|
13
|
+
2. Read `graphify-out/graph.json` — understand relationships between concepts/modules
|
|
14
|
+
|
|
15
|
+
Record analysis results internally (do NOT output to user at this step).
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
[DISCOVERY] [2/6] Analyzing current system via GitNexus... ✅
|
|
19
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
## Phase Entry Protocol
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[HOTFIX-ANALYZE] [1/6] Reading bug report... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
1. Input: `$ARGUMENTS` — path to bug report file from tester
|
|
8
|
+
2. Read the bug report file
|
|
9
|
+
3. Read `CONTEXT.md` for domain context
|
|
10
|
+
4. Read `.vsaf/docs/STATUS.md`
|
|
11
|
+
5. Extract a short `{bug-id}` from the report filename or title (e.g., `fix-null-rating`, `fix-auth-timeout`)
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
[HOTFIX-ANALYZE] [1/6] Reading bug report... ✅
|
|
15
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
## Phase Exit Protocol
|
|
2
|
+
|
|
3
|
+
Print PHASE REPORT:
|
|
4
|
+
- Bug: {bug-id}
|
|
5
|
+
- Status: ANALYSIS COMPLETED
|
|
6
|
+
- Root cause: {one-line summary}
|
|
7
|
+
- Affected files: {count} files
|
|
8
|
+
- Output: `.vsaf/docs/hotfixes/{bug-id}/01-analysis.md`
|
|
9
|
+
- Next step: `/sdlc-hotfix-prd`
|
|
10
|
+
|
|
11
|
+
Update `.vsaf/docs/STATUS.md`.
|
|
12
|
+
|
|
13
|
+
## Rules
|
|
14
|
+
|
|
15
|
+
- ⛔ Do NOT modify code — analysis only
|
|
16
|
+
- ⛔ Do NOT modify `graphify-out/` or `.gitnexus/`
|
|
17
|
+
- GitNexus impact analysis is MANDATORY — never skip it
|
|
18
|
+
- Root cause must reference specific file:line, not vague descriptions
|
|
19
|
+
- `/grill-me` is MANDATORY — used in Step 2 (clarify bug) and Step 5 (validate fix strategy)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
### Step 5: Grill Fix Strategy
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[HOTFIX-ANALYZE] [5/6] Grill session — stress-testing fix strategy... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
Use `/grill-me` again to stress-test the proposed fix strategy with the user:
|
|
8
|
+
- Does the fix address the root cause, not just the symptom?
|
|
9
|
+
- Are there edge cases the fix could miss?
|
|
10
|
+
- Could the fix introduce regressions in related areas?
|
|
11
|
+
- Is the fix scope appropriate for a hotfix (minimal)?
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
[HOTFIX-ANALYZE] [5/6] Fix strategy validated ✅
|
|
15
|
+
```
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
### Step 3: Root Cause via GitNexus
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[HOTFIX-ANALYZE] [3/6] Mapping code structure via GitNexus... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
1. Use GitNexus `context` — understand the affected module's structure and dependencies
|
|
8
|
+
2. Use GitNexus `impact` — trace which files and symbols are in the blast radius
|
|
9
|
+
3. Use GitNexus `route_map` — map the call chain from entry point to suspected buggy code
|
|
10
|
+
4. Collect:
|
|
11
|
+
- **Affected files** — files that contain or touch the suspected area
|
|
12
|
+
- **Call chain** — entry point → intermediate → suspected defect
|
|
13
|
+
- **Blast radius** — what else could break if this area is changed
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
[HOTFIX-ANALYZE] [3/6] Mapping code structure via GitNexus... ✅
|
|
17
|
+
```
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
### Step 2: Grill Session — Clarify Bug Context
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[HOTFIX-ANALYZE] [2/6] Grill session — interviewing user about bug... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
Use `/grill-me` to interview the user about the bug. Walk down each branch of the problem tree:
|
|
8
|
+
- What exactly was observed? Under what conditions?
|
|
9
|
+
- Can it be reproduced consistently? What are the exact steps?
|
|
10
|
+
- When did it start? What changed recently?
|
|
11
|
+
- What is the expected behavior vs actual behavior?
|
|
12
|
+
- Which users/environments are affected?
|
|
13
|
+
- Any workarounds discovered?
|
|
14
|
+
|
|
15
|
+
Continue grilling until you have a complete understanding. Then extract:
|
|
16
|
+
- **Symptoms** — what the tester/user observed
|
|
17
|
+
- **Reproduction steps** — exact steps to trigger the bug
|
|
18
|
+
- **Expected vs actual behavior**
|
|
19
|
+
- **Affected area** — which feature/module/endpoint
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
[HOTFIX-ANALYZE] [2/6] Grill session complete ✅
|
|
23
|
+
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
### Step 4: Deep Thinking — Root Cause Reasoning
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[HOTFIX-ANALYZE] [4/6] Deep thinking — reasoning about root cause... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
**Two approaches available — choose based on complexity:**
|
|
8
|
+
|
|
9
|
+
**Option A: Full approach** — Use `/superpowers:systematic-debugging` for complex, multi-layered bugs where you need structured hypothesis testing with instrumentation.
|
|
10
|
+
|
|
11
|
+
**Option B: Lean approach (mattpocock)** — Use `/diagnose` for focused bugs where the feedback loop is clear. `/diagnose` provides a disciplined 6-phase loop: build feedback loop → reproduce → hypothesise → instrument → fix → regression-test. Also use `/zoom-out` if the affected code area is unfamiliar.
|
|
12
|
+
|
|
13
|
+
Regardless of approach:
|
|
14
|
+
|
|
15
|
+
1. **Read the actual source code** — do NOT rely only on GitNexus metadata. Open and read every file in the call chain identified in Step 3.
|
|
16
|
+
2. **Form hypotheses** — based on symptoms + code reading, list 2-3 possible root causes
|
|
17
|
+
3. **Evaluate each hypothesis:**
|
|
18
|
+
- Does it explain ALL symptoms from the bug report?
|
|
19
|
+
- Does it match the reproduction steps?
|
|
20
|
+
- Is it consistent with the code structure from GitNexus?
|
|
21
|
+
4. **Eliminate** — rule out hypotheses that don't explain all symptoms
|
|
22
|
+
5. **Conclude** — select the most likely root cause with specific file:line reference
|
|
23
|
+
6. **Propose fix strategy** — minimal approach to fix the confirmed root cause
|
|
24
|
+
|
|
25
|
+
If no hypothesis explains all symptoms → the bug report may be incomplete. List what information is missing.
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
[HOTFIX-ANALYZE] [4/6] Deep thinking — reasoning about root cause... ✅
|
|
29
|
+
```
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
### Step 6: Write Analysis
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[HOTFIX-ANALYZE] [6/6] Writing analysis document... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
Create directory `.vsaf/docs/hotfixes/{bug-id}/` if it doesn't exist.
|
|
8
|
+
|
|
9
|
+
Write file: `.vsaf/docs/hotfixes/{bug-id}/01-analysis.md`
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
# Bug Analysis: {bug-id}
|
|
13
|
+
|
|
14
|
+
## Tester Report
|
|
15
|
+
{summary of bug report}
|
|
16
|
+
|
|
17
|
+
## Symptoms
|
|
18
|
+
{symptoms observed}
|
|
19
|
+
|
|
20
|
+
## Reproduction Steps
|
|
21
|
+
{reproduction steps}
|
|
22
|
+
|
|
23
|
+
## Hypotheses
|
|
24
|
+
| # | Hypothesis | Explains all symptoms? | Verdict |
|
|
25
|
+
|---|-----------|----------------------|---------|
|
|
26
|
+
| 1 | {hypothesis} | {yes/no + why} | Eliminated / Selected |
|
|
27
|
+
|
|
28
|
+
## Root Cause
|
|
29
|
+
{confirmed root cause — specific code defect with file:line references}
|
|
30
|
+
|
|
31
|
+
## Affected Files
|
|
32
|
+
| File | Role | Severity |
|
|
33
|
+
|------|------|----------|
|
|
34
|
+
| {file} | {role in the bug} | Direct / Indirect |
|
|
35
|
+
|
|
36
|
+
## Blast Radius
|
|
37
|
+
{what else could break}
|
|
38
|
+
|
|
39
|
+
## Fix Strategy
|
|
40
|
+
{minimal fix approach — what to change and why}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
[HOTFIX-ANALYZE] [6/6] Writing analysis document... ✅
|
|
45
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
### Step 2: Branch Setup
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[HOTFIX-IMPL] [2/6] Creating hotfix branch... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
git checkout -b hotfix/{bug-id}
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
If branch already exists → switch to it.
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
[HOTFIX-IMPL] [2/6] Creating hotfix branch... ✅
|
|
15
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
## Phase Entry Protocol
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
[HOTFIX-IMPL] [1/6] Checking input artifacts... ⏳
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
1. Input:
|
|
8
|
+
- `.vsaf/docs/hotfixes/{bug-id}/02-prd.md`
|
|
9
|
+
- `.vsaf/docs/hotfixes/{bug-id}/01-analysis.md`
|
|
10
|
+
2. Verify BOTH files exist:
|
|
11
|
+
- Missing → Stop: "Run previous phases first."
|
|
12
|
+
3. Check `02-prd.md` has `## Gate: APPROVED`
|
|
13
|
+
- No Gate → Stop: "PRD not approved. Get approval first."
|
|
14
|
+
4. Extract from PRD: FRs, acceptance criteria, scope boundary
|
|
15
|
+
5. Extract from analysis: root cause (file:line), affected files, fix strategy
|
|
16
|
+
6. Read `CONTEXT.md`
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
[HOTFIX-IMPL] [1/6] Checking input artifacts... ✅
|
|
20
|
+
```
|