hool-cli 0.8.0 → 0.9.1
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/dist/adapters/adapters.test.js +1 -0
- package/dist/adapters/adapters.test.js.map +1 -1
- package/dist/adapters/claude-code.js +23 -8
- package/dist/adapters/claude-code.js.map +1 -1
- package/dist/adapters/types.d.ts +2 -0
- package/dist/core/scaffold.d.ts +9 -4
- package/dist/core/scaffold.js +289 -66
- package/dist/core/scaffold.js.map +1 -1
- package/dist/core/templates.d.ts +2 -0
- package/dist/core/templates.js +31 -0
- package/dist/core/templates.js.map +1 -1
- package/dist/e2e.test.js +251 -0
- package/dist/e2e.test.js.map +1 -1
- package/dist/index.js +46 -17
- package/dist/index.js.map +1 -1
- package/dist/mcps/mcps.test.js +1 -0
- package/dist/mcps/mcps.test.js.map +1 -1
- package/package.json +4 -8
- package/presets/solo/NEXT-v0.1-context-mcp.md +95 -0
- package/presets/solo/docs/workflow-reference.md +784 -0
- package/presets/solo/mcps/README.md +129 -0
- package/presets/solo/mcps/testing-by-domain.md +138 -0
- package/presets/solo/memory/be-dev/best-practices.md +0 -0
- package/presets/solo/memory/be-dev/cold.md +4 -0
- package/presets/solo/memory/be-dev/hot.md +0 -0
- package/presets/solo/memory/be-dev/issues.md +0 -0
- package/presets/solo/memory/be-tech-lead/best-practices.md +0 -0
- package/presets/solo/memory/be-tech-lead/cold.md +4 -0
- package/presets/solo/memory/be-tech-lead/hot.md +0 -0
- package/presets/solo/memory/be-tech-lead/issues.md +0 -0
- package/presets/solo/memory/fe-dev/best-practices.md +0 -0
- package/presets/solo/memory/fe-dev/cold.md +4 -0
- package/presets/solo/memory/fe-dev/hot.md +0 -0
- package/presets/solo/memory/fe-dev/issues.md +0 -0
- package/presets/solo/memory/fe-tech-lead/best-practices.md +0 -0
- package/presets/solo/memory/fe-tech-lead/cold.md +4 -0
- package/presets/solo/memory/fe-tech-lead/hot.md +0 -0
- package/presets/solo/memory/fe-tech-lead/issues.md +0 -0
- package/presets/solo/memory/forensic/best-practices.md +0 -0
- package/presets/solo/memory/forensic/cold.md +4 -0
- package/presets/solo/memory/forensic/hot.md +0 -0
- package/presets/solo/memory/forensic/issues.md +0 -0
- package/presets/solo/memory/product-lead/best-practices.md +0 -0
- package/presets/solo/memory/product-lead/cold.md +5 -0
- package/presets/solo/memory/product-lead/hot.md +0 -0
- package/presets/solo/memory/product-lead/issues.md +0 -0
- package/presets/solo/memory/qa/best-practices.md +0 -0
- package/presets/solo/memory/qa/cold.md +4 -0
- package/presets/solo/memory/qa/hot.md +0 -0
- package/presets/solo/memory/qa/issues.md +0 -0
- package/presets/solo/operations/bugs.md +10 -0
- package/presets/solo/operations/current-phase.md +8 -0
- package/presets/solo/operations/inconsistencies.md +8 -0
- package/presets/solo/operations/issues.md +11 -0
- package/presets/solo/operations/metrics.md +4 -0
- package/presets/solo/operations/needs-human-review.md +8 -0
- package/presets/solo/operations/task-board.md +10 -0
- package/presets/team/agents/claude/be-dev.md +166 -0
- package/presets/team/agents/claude/be-tech-lead.md +233 -0
- package/presets/team/agents/claude/fe-dev.md +202 -0
- package/presets/team/agents/claude/fe-tech-lead.md +229 -0
- package/presets/team/agents/claude/forensic.md +158 -0
- package/presets/team/agents/claude/governor.md +99 -0
- package/presets/team/agents/claude/product-lead.md +601 -0
- package/presets/team/agents/claude/qa.md +155 -0
- package/presets/team/cli/git-setup.md +175 -0
- package/presets/team/hooks/completion-checklist.sh +39 -0
- package/presets/team/hooks/governor-trigger.sh +30 -0
- package/presets/team/hooks/identity-reminder.sh +30 -0
- package/presets/team/hooks/login-nudge.sh +64 -0
- package/presets/team/hooks/metrics.sh +23 -0
- package/presets/team/mcps/mcps.json +144 -0
- package/presets/team/mcps/testing-by-domain.md +68 -0
- package/presets/team/prompts/claude-md.md +185 -0
- package/presets/team/settings/claude-settings.json +89 -0
- package/presets/team/skills/architect.md +75 -0
- package/presets/team/skills/auditor.md +89 -0
- package/presets/team/skills/brainstormer.md +53 -0
- package/presets/team/skills/code-reviewer.md +77 -0
- package/presets/team/skills/contract-negotiator.md +98 -0
- package/presets/team/skills/designer.md +87 -0
- package/presets/team/skills/root-cause-analyst.md +85 -0
- package/presets/team/skills/speccer.md +85 -0
- package/presets/team/skills/tdd-implementer.md +104 -0
- package/presets/team/skills/test-engineer.md +87 -0
- package/presets/team/templates/memory/best-practices.md +6 -0
- package/presets/team/templates/memory/client-preferences.md +14 -0
- package/presets/team/templates/memory/cold.md +5 -0
- package/presets/team/templates/memory/governor-feedback.md +5 -0
- package/presets/team/templates/memory/hot.md +12 -0
- package/presets/team/templates/memory/identity.md +22 -0
- package/presets/team/templates/memory/issues.md +9 -0
- package/presets/team/templates/memory/operational-knowledge.md +19 -0
- package/presets/team/templates/memory/picked-tasks.md +6 -0
- package/presets/team/templates/memory/skill.md +10 -0
- package/presets/team/templates/memory/task-log.md +17 -0
- package/presets/team/templates/operations/bugs.md +17 -0
- package/presets/team/templates/operations/client-preferences.md +21 -0
- package/presets/team/templates/operations/current-phase.md +4 -0
- package/presets/team/templates/operations/governor-feedback.md +11 -0
- package/presets/team/templates/operations/governor-log.md +14 -0
- package/presets/team/templates/operations/governor-rules.md +22 -0
- package/presets/team/templates/operations/human-feedback.md +7 -0
- package/presets/team/templates/operations/inconsistencies.md +12 -0
- package/presets/team/templates/operations/issues.md +13 -0
- package/presets/team/templates/operations/metrics.md +4 -0
- package/presets/team/templates/operations/needs-human-review.md +11 -0
- package/presets/team/templates/operations/task-board.md +11 -0
- package/presets/team/templates/phases/00-init/project-profile.md +45 -0
- package/presets/team/templates/phases/01-brainstorm/brainstorm.md +33 -0
- package/presets/team/templates/phases/02-spec/spec.md +28 -0
- package/presets/team/templates/phases/03-design/design.md +26 -0
- package/presets/team/templates/phases/04-architecture/architecture.md +26 -0
- package/presets/team/templates/phases/05-contracts/_index.md +20 -0
- package/presets/team/templates/phases/09-qa/test-plan.md +29 -0
- package/presets/team/templates/phases/12-retrospective/retrospective.md +24 -0
- /package/{agents → presets/solo/agents}/claude/be-dev.md +0 -0
- /package/{agents → presets/solo/agents}/claude/be-tech-lead.md +0 -0
- /package/{agents → presets/solo/agents}/claude/fe-dev.md +0 -0
- /package/{agents → presets/solo/agents}/claude/fe-tech-lead.md +0 -0
- /package/{agents → presets/solo/agents}/claude/forensic.md +0 -0
- /package/{agents → presets/solo/agents}/claude/governor.md +0 -0
- /package/{agents → presets/solo/agents}/claude/qa.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/be-dev.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/be-tech-lead.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/fe-dev.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/fe-tech-lead.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/forensic.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/governor.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/qa.md +0 -0
- /package/{hooks → presets/solo/hooks}/agent-checklist.sh +0 -0
- /package/{hooks → presets/solo/hooks}/block-pl-src-write.sh +0 -0
- /package/{hooks → presets/solo/hooks}/inject-pl-context.sh +0 -0
- /package/{hooks → presets/solo/hooks}/pre-compact.sh +0 -0
- /package/{hooks → presets/solo/hooks}/run-if-profile.sh +0 -0
- /package/{hooks → presets/solo/hooks}/session-start.sh +0 -0
- /package/{hooks → presets/solo/hooks}/suggest-compact.sh +0 -0
- /package/{hooks → presets/solo/hooks}/track-prompt-count.sh +0 -0
- /package/{prompts → presets/solo/prompts}/agents/05-fe-tech-lead.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/06-be-tech-lead.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/08-be-dev.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/08-fe-dev.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/10-qa.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/11-forensic.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/governor.md +0 -0
- /package/{prompts → presets/solo/prompts}/checklists/code-review.md +0 -0
- /package/{prompts → presets/solo/prompts}/orchestrator.md +0 -0
- /package/{prompts → presets/solo/prompts}/skills/01-brainstorm.md +0 -0
- /package/{prompts → presets/solo/prompts}/skills/02-spec.md +0 -0
- /package/{prompts → presets/solo/prompts}/skills/03-design.md +0 -0
- /package/{prompts → presets/solo/prompts}/skills/04-architecture.md +0 -0
- /package/{rules → presets/solo/rules}/cursor/be-dev.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/be-tech-lead.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/fe-dev.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/fe-tech-lead.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/forensic.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/governor.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/qa.mdc +0 -0
- /package/{settings → presets/solo/settings}/be-dev.json +0 -0
- /package/{settings → presets/solo/settings}/be-tech-lead.json +0 -0
- /package/{settings → presets/solo/settings}/claude-settings.json +0 -0
- /package/{settings → presets/solo/settings}/fe-dev.json +0 -0
- /package/{settings → presets/solo/settings}/fe-tech-lead.json +0 -0
- /package/{settings → presets/solo/settings}/forensic.json +0 -0
- /package/{settings → presets/solo/settings}/governor.json +0 -0
- /package/{settings → presets/solo/settings}/qa.json +0 -0
|
@@ -0,0 +1,784 @@
|
|
|
1
|
+
# HOOL Workflow Reference
|
|
2
|
+
|
|
3
|
+
Complete workflow for every phase and agent -- what it does, what it writes, and what it triggers.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Phase 0: Project Init
|
|
8
|
+
**Type**: Skill (interactive)
|
|
9
|
+
**Human**: Yes
|
|
10
|
+
|
|
11
|
+
### Workflow
|
|
12
|
+
```
|
|
13
|
+
1. Ask user: "What are we building?" (web, game, mobile, animation, CLI, API)
|
|
14
|
+
2. Discuss project type with user, determine routing decisions
|
|
15
|
+
3. Ask user for project name and brief description
|
|
16
|
+
4. Write project profile with routing decisions
|
|
17
|
+
5. Create project directory structure
|
|
18
|
+
6. Check global MCPs (~/.claude/mcp_servers.json) -- install any missing
|
|
19
|
+
7. Write .hool/mcps.json (read-only manifest of which MCPs this project uses)
|
|
20
|
+
8. Advance to Phase 1
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Writes
|
|
24
|
+
| File | Content |
|
|
25
|
+
|------|---------|
|
|
26
|
+
| `phases/00-init/project-profile.md` | Project type, name, description, routing decisions, installed MCPs |
|
|
27
|
+
| `operations/current-phase.md` | Phase: 1 -- Brainstorm |
|
|
28
|
+
| `.hool/mcps.json` | Read-only manifest: which global MCPs this project uses |
|
|
29
|
+
| `memory/product-lead/cold.md` | `[INIT] project-name -> type: web-app -> global MCPs verified: context7, playwright` |
|
|
30
|
+
|
|
31
|
+
### Invokes Next
|
|
32
|
+
-> **Phase 1: Brainstorm** (skill)
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Phase 1: Brainstorm
|
|
37
|
+
**Type**: Skill (interactive)
|
|
38
|
+
**Human**: Yes -- collaborative riffing
|
|
39
|
+
|
|
40
|
+
### Workflow
|
|
41
|
+
```
|
|
42
|
+
1. Read phases/00-init/project-profile.md
|
|
43
|
+
2. Listen to user's vision
|
|
44
|
+
3. Research similar projects (context7, deepwiki, web search)
|
|
45
|
+
4. Riff -- suggest improvements, features, approaches
|
|
46
|
+
5. Help user prioritize features (MVP vs v2 vs future)
|
|
47
|
+
6. Document everything
|
|
48
|
+
7. Ask: "Are you happy with this direction?"
|
|
49
|
+
8. On sign-off -> advance
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Reads
|
|
53
|
+
| File | Why |
|
|
54
|
+
|------|-----|
|
|
55
|
+
| `phases/00-init/project-profile.md` | Understand project type |
|
|
56
|
+
|
|
57
|
+
### Writes
|
|
58
|
+
| File | Content |
|
|
59
|
+
|------|---------|
|
|
60
|
+
| `phases/01-brainstorm/brainstorm.md` | Vision, core ideas, prioritized features (MVP/v2/future), inspiration, open questions, TL;DR |
|
|
61
|
+
| `operations/current-phase.md` | Phase: 2 -- Spec |
|
|
62
|
+
| `memory/product-lead/cold.md` | `[PHASE] brainstorm complete -> sign-off` |
|
|
63
|
+
|
|
64
|
+
### Invokes Next
|
|
65
|
+
-> **Phase 2: Spec** (skill)
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Phase 2: Spec
|
|
70
|
+
**Type**: Skill (interactive)
|
|
71
|
+
**Human**: Yes -- sign-off required
|
|
72
|
+
|
|
73
|
+
### Workflow
|
|
74
|
+
```
|
|
75
|
+
1. Read phases/00-init/project-profile.md + phases/01-brainstorm/brainstorm.md
|
|
76
|
+
2. Flag any conflicts in prior docs
|
|
77
|
+
3. Extract user stories from brainstorm
|
|
78
|
+
4. For each story:
|
|
79
|
+
a. Write acceptance criteria (Given/When/Then)
|
|
80
|
+
b. Identify edge cases -> ask user if unclear
|
|
81
|
+
c. Define error states and user-facing messages
|
|
82
|
+
d. List all UI states (empty, loading, error, populated)
|
|
83
|
+
5. Define data model (conceptual entities + relationships)
|
|
84
|
+
6. Define non-functional requirements (perf, browsers, a11y)
|
|
85
|
+
7. Explicitly list what's OUT of scope
|
|
86
|
+
8. Resolve all open questions -- no TBDs allowed
|
|
87
|
+
9. Ask: "Do you approve this spec?"
|
|
88
|
+
10. On sign-off -> advance
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Reads
|
|
92
|
+
| File | Why |
|
|
93
|
+
|------|-----|
|
|
94
|
+
| `phases/00-init/project-profile.md` | Project type constraints |
|
|
95
|
+
| `phases/01-brainstorm/brainstorm.md` | Features to spec out |
|
|
96
|
+
|
|
97
|
+
### Writes
|
|
98
|
+
| File | Content |
|
|
99
|
+
|------|---------|
|
|
100
|
+
| `phases/02-spec/spec.md` | User stories (US-XXX) with acceptance criteria, edge cases, error states, UI states, data model, NFRs, out of scope, TL;DR |
|
|
101
|
+
| `operations/current-phase.md` | Phase: 3 -- Design |
|
|
102
|
+
| `memory/product-lead/cold.md` | `[PHASE] spec complete -> X user stories, Y acceptance criteria -> sign-off` |
|
|
103
|
+
|
|
104
|
+
### Invokes Next
|
|
105
|
+
-> **Phase 3: Design** (skill)
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Phase 3: Design
|
|
110
|
+
**Type**: Skill (interactive)
|
|
111
|
+
**Human**: Yes -- sign-off required (LAST design gate)
|
|
112
|
+
|
|
113
|
+
### Workflow
|
|
114
|
+
```
|
|
115
|
+
1. Read phases/00-init, 01-brainstorm, 02-spec -- flag conflicts
|
|
116
|
+
2. Inventory every screen/view from spec
|
|
117
|
+
3. Map user flows between screens
|
|
118
|
+
4. Identify reusable UI components
|
|
119
|
+
5. Propose design system (colors, typography, spacing)
|
|
120
|
+
6. Search for open-source UI kits/component libraries -> suggest to user
|
|
121
|
+
7. For each screen:
|
|
122
|
+
a. Create HTML design card in phases/03-design/cards/
|
|
123
|
+
b. Show all states (default, hover, empty, loading, error)
|
|
124
|
+
c. Document interactions, animations, transitions
|
|
125
|
+
8. Define responsive breakpoints
|
|
126
|
+
9. Present all cards to user
|
|
127
|
+
10. Ask: "Do you approve these designs?"
|
|
128
|
+
11. On sign-off -> advance
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Reads
|
|
132
|
+
| File | Why |
|
|
133
|
+
|------|-----|
|
|
134
|
+
| `phases/00-init/project-profile.md` | Platform constraints (web vs mobile viewport) |
|
|
135
|
+
| `phases/01-brainstorm/brainstorm.md` | Vision and inspiration |
|
|
136
|
+
| `phases/02-spec/spec.md` | Every screen/feature that needs design |
|
|
137
|
+
|
|
138
|
+
### Writes
|
|
139
|
+
| File | Content |
|
|
140
|
+
|------|---------|
|
|
141
|
+
| `phases/03-design/design.md` | Design system, screen inventory (with states + interactions), user flows (mermaid), reusable components, responsive breakpoints, animations |
|
|
142
|
+
| `phases/03-design/cards/*.html` | One self-contained HTML file per screen showing all states |
|
|
143
|
+
| `operations/current-phase.md` | Phase: 4 -- Architecture |
|
|
144
|
+
| `memory/product-lead/cold.md` | `[PHASE] design complete -> X screens, Y components -> sign-off` |
|
|
145
|
+
|
|
146
|
+
### Invokes Next
|
|
147
|
+
-> **Phase 4: Architecture** (skill + subagents)
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Phase 4: Architecture
|
|
152
|
+
**Type**: Skill (interactive for decisions) + Subagents (for validation and doc generation)
|
|
153
|
+
**Human**: Yes -- sign-off required (FINAL human gate)
|
|
154
|
+
|
|
155
|
+
### Workflow
|
|
156
|
+
```
|
|
157
|
+
1. Read phases/00-init, 01-brainstorm, 02-spec, 03-design -- flag conflicts
|
|
158
|
+
2. INTERACTIVE: Present tech stack recommendations with rationale
|
|
159
|
+
- Language, FE framework, BE framework, DB, auth, hosting, libraries
|
|
160
|
+
- Discuss with user, get alignment
|
|
161
|
+
3. INTERACTIVE: Present key architectural decisions
|
|
162
|
+
- Logging strategy, error handling, caching, deployment
|
|
163
|
+
- Discuss with user, get alignment
|
|
164
|
+
4. Product Lead + human write API contracts and define DB schema
|
|
165
|
+
5. SPAWN FE Tech Lead (subagent):
|
|
166
|
+
a. Read phases/00-init, 02-spec, 03-design, 04-architecture
|
|
167
|
+
b. Validate contracts from FE perspective (consumable? missing fields? awkward shapes?)
|
|
168
|
+
c. Generate FE domain docs: component-contract mapping, state management plan
|
|
169
|
+
d. Flag any concerns to Product Lead
|
|
170
|
+
6. SPAWN BE Tech Lead (subagent):
|
|
171
|
+
a. Read phases/00-init, 02-spec, 04-architecture (architecture, contracts, schema)
|
|
172
|
+
b. Validate contracts from BE perspective (implementable? schema supports all queries?)
|
|
173
|
+
c. Generate BE domain docs: service-contract mapping, middleware plan
|
|
174
|
+
d. Flag any concerns to Product Lead
|
|
175
|
+
7. CROSS-VALIDATION: FE Tech Lead reviews BE domain docs, BE Tech Lead reviews FE domain docs
|
|
176
|
+
- Flag any integration mismatches
|
|
177
|
+
8. Product Lead reviews all generated docs for consistency against spec and design
|
|
178
|
+
- Resolve any flagged concerns
|
|
179
|
+
9. Assemble all docs
|
|
180
|
+
10. Include: how to run FE, how to run BE, how to bring up infra
|
|
181
|
+
11. Present complete architecture to user
|
|
182
|
+
12. Ask: "Do you approve this architecture?"
|
|
183
|
+
13. On sign-off -> advance (HUMAN IS NOW OUT OF THE LOOP)
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Reads
|
|
187
|
+
| File | Why |
|
|
188
|
+
|------|-----|
|
|
189
|
+
| `phases/00-init/project-profile.md` | Platform constraints |
|
|
190
|
+
| `phases/01-brainstorm/brainstorm.md` | Feature scope |
|
|
191
|
+
| `phases/02-spec/spec.md` | What needs to be built |
|
|
192
|
+
| `phases/03-design/design.md` | UI structure, component inventory |
|
|
193
|
+
|
|
194
|
+
### Writes
|
|
195
|
+
| File | Content |
|
|
196
|
+
|------|---------|
|
|
197
|
+
| `phases/04-architecture/architecture.md` | Tech stack table, system overview diagram (mermaid), directory structure, auth flow, error handling strategy, logging architecture, environment setup (how to run FE/BE/infra), TL;DR |
|
|
198
|
+
| `phases/04-architecture/contracts.md` | Every API endpoint: method, path, request body, response (success + error), status codes, auth requirements. Labeled CONTRACT-XXX |
|
|
199
|
+
| `phases/04-architecture/schema.md` | Every table: columns, types, constraints, indexes, relationships, migration strategy |
|
|
200
|
+
| `phases/04-architecture/flows.md` | Mermaid sequence diagrams for every major feature flow + error flows |
|
|
201
|
+
| `phases/04-architecture/fe/` | FE Tech Lead validation notes, component-contract mapping |
|
|
202
|
+
| `phases/04-architecture/be/` | BE Tech Lead validation notes, service-contract mapping |
|
|
203
|
+
| `operations/current-phase.md` | Phase: 5 -- Scaffold |
|
|
204
|
+
| `memory/product-lead/cold.md` | `[PHASE] architecture complete -> X endpoints, Y tables, Z flows -> sign-off` |
|
|
205
|
+
| `memory/fe-tech-lead/cold.md` | `[ARCH-VALIDATE] contracts validated from FE perspective -> N concerns flagged` |
|
|
206
|
+
| `memory/be-tech-lead/cold.md` | `[ARCH-VALIDATE] contracts validated from BE perspective -> N concerns flagged` |
|
|
207
|
+
|
|
208
|
+
### Invokes Next
|
|
209
|
+
-> **Phase 5: FE Scaffold** + **Phase 6: BE Scaffold** (IN PARALLEL)
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Phase 5: FE Scaffold
|
|
214
|
+
**Type**: Subagent (autonomous)
|
|
215
|
+
**Agent**: FE Tech Lead
|
|
216
|
+
**Human**: No
|
|
217
|
+
|
|
218
|
+
### Workflow
|
|
219
|
+
```
|
|
220
|
+
1. Read context manifest
|
|
221
|
+
2. Initialize FE project (framework from architecture doc)
|
|
222
|
+
3. Configure: build tools, linting, formatting, TypeScript
|
|
223
|
+
4. Set up routing: all routes from design screen inventory (placeholder pages)
|
|
224
|
+
5. Set up design system: CSS variables/theme from design doc
|
|
225
|
+
6. Set up component library (if chosen)
|
|
226
|
+
7. Set up logging: console -> logs/fe.log in local dev
|
|
227
|
+
8. Set up state management (if applicable)
|
|
228
|
+
9. Set up API client: base URL, auth headers, error handling from architecture
|
|
229
|
+
10. Create placeholder components for every reusable component from design
|
|
230
|
+
11. Verify: npm run dev works
|
|
231
|
+
12. Write FE LLD doc
|
|
232
|
+
13. Update work log
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Reads
|
|
236
|
+
| File | Why |
|
|
237
|
+
|------|-----|
|
|
238
|
+
| `phases/00-init/project-profile.md` | Platform specifics |
|
|
239
|
+
| `phases/03-design/design.md` | Screens, components, design system |
|
|
240
|
+
| `phases/04-architecture/architecture.md` | Tech stack, directory structure, logging strategy |
|
|
241
|
+
|
|
242
|
+
### Writes
|
|
243
|
+
| File | Content |
|
|
244
|
+
|------|---------|
|
|
245
|
+
| `phases/05-fe-scaffold/fe-lld.md` | How to run, directory structure, routes table, components table, state management plan, API client usage, logging setup, conventions |
|
|
246
|
+
| `memory/fe-tech-lead/cold.md` | `[SCAFFOLD-FE] initialized React+Vite, 8 routes, design system configured, API client ready` |
|
|
247
|
+
| `memory/product-lead/cold.md` | `[PHASE] FE scaffold complete` |
|
|
248
|
+
| Source files in `src/frontend/` | Actual FE project with all config, routes, placeholders |
|
|
249
|
+
|
|
250
|
+
### Invokes Next (via Product Lead)
|
|
251
|
+
-> Waits for Phase 6 to also complete -> then **Phase 7: Test Plan**
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## Phase 6: BE Scaffold
|
|
256
|
+
**Type**: Subagent (autonomous)
|
|
257
|
+
**Agent**: BE Tech Lead
|
|
258
|
+
**Human**: No
|
|
259
|
+
|
|
260
|
+
### Workflow
|
|
261
|
+
```
|
|
262
|
+
1. Read context manifest
|
|
263
|
+
2. Initialize BE project (framework from architecture doc)
|
|
264
|
+
3. Configure: linting, formatting, TypeScript
|
|
265
|
+
4. Set up server: framework, middleware stack (in order from architecture)
|
|
266
|
+
5. Set up Docker: docker-compose.yml for DB, cache, etc.
|
|
267
|
+
6. Set up database: connection, ORM/query builder config
|
|
268
|
+
7. Run migrations: create all tables from schema doc
|
|
269
|
+
8. Set up auth middleware: token verification, route protection
|
|
270
|
+
9. Set up logging: structured JSON -> logs/be.log, request logging
|
|
271
|
+
10. Create route stubs: every endpoint from contracts, returning 501
|
|
272
|
+
11. Set up request validation: middleware using contracts as source
|
|
273
|
+
12. Verify: server starts, connects to DB, stubs respond
|
|
274
|
+
13. Write BE LLD doc
|
|
275
|
+
14. Update work log
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### Reads
|
|
279
|
+
| File | Why |
|
|
280
|
+
|------|-----|
|
|
281
|
+
| `phases/00-init/project-profile.md` | Platform specifics |
|
|
282
|
+
| `phases/04-architecture/architecture.md` | Tech stack, middleware order, logging strategy |
|
|
283
|
+
| `phases/04-architecture/contracts.md` | Every endpoint to stub |
|
|
284
|
+
| `phases/04-architecture/schema.md` | Tables to migrate |
|
|
285
|
+
|
|
286
|
+
### Writes
|
|
287
|
+
| File | Content |
|
|
288
|
+
|------|---------|
|
|
289
|
+
| `phases/06-be-scaffold/be-lld.md` | How to run (including docker-compose), directory structure, endpoint stub status table, DB config, middleware stack order, services table, logging setup, error handling format, conventions |
|
|
290
|
+
| `memory/be-tech-lead/cold.md` | `[SCAFFOLD-BE] initialized Express+Prisma, docker: postgres+redis, 12 tables, 15 route stubs` |
|
|
291
|
+
| `memory/product-lead/cold.md` | `[PHASE] BE scaffold complete` |
|
|
292
|
+
| Source files in `src/backend/` | Actual BE project with all config, stubs, docker-compose, migrations |
|
|
293
|
+
|
|
294
|
+
### Invokes Next (via Product Lead)
|
|
295
|
+
-> Waits for Phase 5 to also complete -> then **Phase 7: Test Plan**
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Phase 7: Test Plan
|
|
300
|
+
**Type**: Subagent (autonomous)
|
|
301
|
+
**Agent**: QA
|
|
302
|
+
**Human**: No
|
|
303
|
+
|
|
304
|
+
### Workflow
|
|
305
|
+
```
|
|
306
|
+
1. Read context manifest
|
|
307
|
+
2. For each user story (US-XXX) in spec:
|
|
308
|
+
a. Generate unit test cases for underlying logic
|
|
309
|
+
b. Generate integration test cases for related endpoints
|
|
310
|
+
c. Generate E2E test cases for the full user flow
|
|
311
|
+
d. Generate visual test cases for related screens
|
|
312
|
+
3. Cross-reference: every acceptance criterion has at least one test
|
|
313
|
+
4. Create coverage matrix (spec item -> test cases)
|
|
314
|
+
5. Create test file stubs in tests/ directory
|
|
315
|
+
6. Update work log
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### Reads
|
|
319
|
+
| File | Why |
|
|
320
|
+
|------|-----|
|
|
321
|
+
| `phases/00-init/project-profile.md` | Test framework selection per domain |
|
|
322
|
+
| `phases/02-spec/spec.md` | Every user story and acceptance criterion |
|
|
323
|
+
| `phases/04-architecture/contracts.md` | Endpoint shapes for integration tests |
|
|
324
|
+
| `phases/04-architecture/schema.md` | Data integrity test targets |
|
|
325
|
+
| `phases/05-fe-scaffold/fe-lld.md` | Component test targets |
|
|
326
|
+
| `phases/06-be-scaffold/be-lld.md` | Service test targets |
|
|
327
|
+
|
|
328
|
+
### Writes
|
|
329
|
+
| File | Content |
|
|
330
|
+
|------|---------|
|
|
331
|
+
| `phases/07-test-plan/test-plan.md` | Coverage matrix, all test cases (TC-XXX) grouped by type (unit, integration, E2E, visual), test infrastructure details |
|
|
332
|
+
| `memory/qa/cold.md` | `[QA-PLAN] generated X unit, Y integration, Z e2e, W visual test cases -- all N user stories covered` |
|
|
333
|
+
| `memory/product-lead/cold.md` | `[PHASE] test plan complete -> X test cases` |
|
|
334
|
+
| `tests/**/*.test.*` | Test file stubs with describe/it blocks, assertions as TODO |
|
|
335
|
+
|
|
336
|
+
### Invokes Next (via Product Lead)
|
|
337
|
+
-> Product Lead breaks implementation work into tasks on task-board.md
|
|
338
|
+
-> **Phase 8a: FE Dev** + **Phase 8b: BE Dev** (IN PARALLEL)
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## Phase 8a: FE Dev
|
|
343
|
+
**Type**: Subagent (autonomous, invoked per task)
|
|
344
|
+
**Human**: No
|
|
345
|
+
|
|
346
|
+
### Workflow (per task)
|
|
347
|
+
```
|
|
348
|
+
1. Read task from operations/task-board.md
|
|
349
|
+
2. Read design card for the screen being built
|
|
350
|
+
3. Read relevant test cases from phases/07-test-plan/test-plan.md
|
|
351
|
+
4. Read API contracts for endpoints being called
|
|
352
|
+
5. Check existing components -- anything reusable?
|
|
353
|
+
6. Write/update tests FIRST
|
|
354
|
+
7. Implement component/page until tests pass
|
|
355
|
+
8. Compare output against design card visually
|
|
356
|
+
9. Add logging: user actions, API calls, errors -> logs/fe.log
|
|
357
|
+
10. Run linter + type checker
|
|
358
|
+
11. Run full FE test suite
|
|
359
|
+
12. Update work log
|
|
360
|
+
13. Mark task complete on task-board
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
### Reads
|
|
364
|
+
| File | Why |
|
|
365
|
+
|------|-----|
|
|
366
|
+
| `phases/02-spec/spec.md` | Relevant user story |
|
|
367
|
+
| `phases/03-design/design.md` | Relevant screen description |
|
|
368
|
+
| `phases/04-architecture/contracts.md` | API shapes being called |
|
|
369
|
+
| `phases/05-fe-scaffold/fe-lld.md` | Blueprint -- where to put files, conventions |
|
|
370
|
+
| `phases/07-test-plan/test-plan.md` | Test cases for this feature |
|
|
371
|
+
| `phases/03-design/cards/*.html` | Visual reference |
|
|
372
|
+
| `operations/task-board.md` | Current task details |
|
|
373
|
+
| `operations/issues.md` | Known issues in files being touched |
|
|
374
|
+
| `memory/fe-dev/hot.md` | Own history, gotchas |
|
|
375
|
+
|
|
376
|
+
### Writes
|
|
377
|
+
| File | Content |
|
|
378
|
+
|------|---------|
|
|
379
|
+
| Source files in `src/frontend/` | Components, pages, hooks, utils |
|
|
380
|
+
| Test files in `tests/unit/`, `tests/e2e/` | Unit tests for new code |
|
|
381
|
+
| `memory/fe-dev/cold.md` | `[FE-IMPL] TASK-XXX: LoginForm component -> src/frontend/components/LoginForm.tsx` |
|
|
382
|
+
| `memory/fe-dev/hot.md` | Rebuilt from cold log after task |
|
|
383
|
+
| `operations/task-board.md` | Mark task [x] complete |
|
|
384
|
+
| `operations/issues.md` | If bugs found in existing code (doesn't fix, just logs) |
|
|
385
|
+
| `operations/inconsistencies.md` | If design/spec doesn't match what's feasible |
|
|
386
|
+
|
|
387
|
+
### Invokes Next (via Product Lead)
|
|
388
|
+
-> After task complete -> Product Lead picks next FE task OR
|
|
389
|
+
-> If all FE+BE tasks done -> **Phase 9: Tech Lead Review**
|
|
390
|
+
|
|
391
|
+
---
|
|
392
|
+
|
|
393
|
+
## Phase 8b: BE Dev
|
|
394
|
+
**Type**: Subagent (autonomous, invoked per task)
|
|
395
|
+
**Human**: No
|
|
396
|
+
|
|
397
|
+
### Workflow (per task)
|
|
398
|
+
```
|
|
399
|
+
1. Read task from operations/task-board.md
|
|
400
|
+
2. Read contract for endpoints being implemented
|
|
401
|
+
3. Read relevant test cases from phases/07-test-plan/test-plan.md
|
|
402
|
+
4. Read schema for tables being queried
|
|
403
|
+
5. Check existing services -- anything reusable?
|
|
404
|
+
6. Write/update tests FIRST (unit + integration)
|
|
405
|
+
7. Implement service logic
|
|
406
|
+
8. Implement controller (thin -- delegates to service)
|
|
407
|
+
9. Add request validation (match contract input spec)
|
|
408
|
+
10. Add logging: requests, DB queries, errors -> logs/be.log
|
|
409
|
+
11. Run integration test -- does endpoint match contract?
|
|
410
|
+
12. Run linter + type checker
|
|
411
|
+
13. Run full BE test suite
|
|
412
|
+
14. Update work log
|
|
413
|
+
15. Mark task complete on task-board
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
### Reads
|
|
417
|
+
| File | Why |
|
|
418
|
+
|------|-----|
|
|
419
|
+
| `phases/02-spec/spec.md` | Relevant user story |
|
|
420
|
+
| `phases/04-architecture/contracts.md` | Endpoint contract (the source of truth) |
|
|
421
|
+
| `phases/04-architecture/schema.md` | Tables and relationships |
|
|
422
|
+
| `phases/06-be-scaffold/be-lld.md` | Blueprint -- where to put files, conventions |
|
|
423
|
+
| `phases/07-test-plan/test-plan.md` | Test cases for this feature |
|
|
424
|
+
| `operations/task-board.md` | Current task details |
|
|
425
|
+
| `operations/issues.md` | Known issues in files being touched |
|
|
426
|
+
| `memory/be-dev/hot.md` | Own history, gotchas |
|
|
427
|
+
|
|
428
|
+
### Writes
|
|
429
|
+
| File | Content |
|
|
430
|
+
|------|---------|
|
|
431
|
+
| Source files in `src/backend/` | Controllers, services, validators, middleware |
|
|
432
|
+
| Test files in `tests/unit/`, `tests/integration/` | Unit + integration tests |
|
|
433
|
+
| `memory/be-dev/cold.md` | `[BE-IMPL] TASK-XXX: POST /auth/login -> src/backend/routes/auth.ts, src/backend/services/auth.ts` |
|
|
434
|
+
| `memory/be-dev/hot.md` | Rebuilt from cold log after task |
|
|
435
|
+
| `operations/task-board.md` | Mark task [x] complete |
|
|
436
|
+
| `operations/issues.md` | If bugs found in existing code |
|
|
437
|
+
| `operations/inconsistencies.md` | If contract/schema doesn't match reality |
|
|
438
|
+
|
|
439
|
+
### Invokes Next (via Product Lead)
|
|
440
|
+
-> After task complete -> Product Lead picks next BE task OR
|
|
441
|
+
-> If all FE+BE tasks done -> **Phase 9: Tech Lead Review**
|
|
442
|
+
|
|
443
|
+
---
|
|
444
|
+
|
|
445
|
+
## Phase 9: Tech Lead Review
|
|
446
|
+
**Type**: Subagent (autonomous, invoked after implementation tasks)
|
|
447
|
+
**Agents**: FE Tech Lead (reviews FE code) + BE Tech Lead (reviews BE code)
|
|
448
|
+
**Human**: No
|
|
449
|
+
|
|
450
|
+
### Workflow
|
|
451
|
+
|
|
452
|
+
#### FE Tech Lead Review
|
|
453
|
+
```
|
|
454
|
+
1. Read ALL phase docs (full project context)
|
|
455
|
+
2. Read all FE source files in src/frontend/
|
|
456
|
+
3. Run review checklist:
|
|
457
|
+
a. Spec compliance -- acceptance criteria implemented? Edge cases handled?
|
|
458
|
+
b. Design compliance -- UI matches design cards? All states present?
|
|
459
|
+
c. Contract compliance -- API calls match phases/04-architecture/contracts.md?
|
|
460
|
+
d. Architecture compliance -- directory structure, state management, auth flow?
|
|
461
|
+
e. LLD compliance -- conventions from phases/05-fe-scaffold/fe-lld.md followed?
|
|
462
|
+
f. Code quality -- single responsibility, no duplication, logging present, no security vulns?
|
|
463
|
+
g. Test coverage -- tests exist, match test plan, actually test behavior?
|
|
464
|
+
4. If consistent -> log pass
|
|
465
|
+
5. If inconsistency -> write to inconsistencies.md with type and severity
|
|
466
|
+
6. Update work log
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
#### BE Tech Lead Review
|
|
470
|
+
```
|
|
471
|
+
1. Read ALL phase docs (full project context)
|
|
472
|
+
2. Read all BE source files in src/backend/
|
|
473
|
+
3. Run review checklist:
|
|
474
|
+
a. Contract compliance -- API responses match phases/04-architecture/contracts.md?
|
|
475
|
+
b. Schema compliance -- queries match phases/04-architecture/schema.md? Indexes used?
|
|
476
|
+
c. Spec compliance -- acceptance criteria implemented? Edge cases handled?
|
|
477
|
+
d. Architecture compliance -- middleware order, auth flow, error handling?
|
|
478
|
+
e. LLD compliance -- conventions from phases/06-be-scaffold/be-lld.md followed?
|
|
479
|
+
f. Code quality -- single responsibility, no duplication, logging present, no security vulns?
|
|
480
|
+
g. Test coverage -- tests exist, match test plan, actually test behavior?
|
|
481
|
+
4. If consistent -> log pass
|
|
482
|
+
5. If inconsistency -> write to inconsistencies.md with type and severity
|
|
483
|
+
6. Update work log
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
### Reads
|
|
487
|
+
| File | Why |
|
|
488
|
+
|------|-----|
|
|
489
|
+
| `phases/*` (ALL) | Full context -- comparing everything against everything |
|
|
490
|
+
| `phases/03-design/cards/*.html` | Visual reference for UI review (FE Tech Lead) |
|
|
491
|
+
| Source files in `src/frontend/`, `src/backend/` | The code itself |
|
|
492
|
+
| `operations/inconsistencies.md` | Don't re-report known issues |
|
|
493
|
+
| `memory/fe-tech-lead/hot.md` | Own history, recurring patterns (FE Tech Lead) |
|
|
494
|
+
| `memory/be-tech-lead/hot.md` | Own history, recurring patterns (BE Tech Lead) |
|
|
495
|
+
|
|
496
|
+
### Writes
|
|
497
|
+
| File | Content |
|
|
498
|
+
|------|---------|
|
|
499
|
+
| `operations/inconsistencies.md` | `INC-XXX: [type] -- [what doesn't match what] -- severity -- suggested action` |
|
|
500
|
+
| `memory/fe-tech-lead/cold.md` | `[REVIEW-FE] TASK-XXX: passed` or `[REVIEW-FE] TASK-XXX: 3 inconsistencies` |
|
|
501
|
+
| `memory/be-tech-lead/cold.md` | `[REVIEW-BE] TASK-XXX: passed` or `[REVIEW-BE] TASK-XXX: 3 inconsistencies` |
|
|
502
|
+
| `memory/product-lead/cold.md` | `[REVIEW] tech leads flagged X inconsistencies in TASK-XXX` |
|
|
503
|
+
|
|
504
|
+
### Invokes Next (via Product Lead)
|
|
505
|
+
-> If inconsistencies found with `suggested action: fix-code`:
|
|
506
|
+
-> Route to **FE Dev** or **BE Dev** (based on file type)
|
|
507
|
+
-> If inconsistencies found with `suggested action: escalate-to-human`:
|
|
508
|
+
-> Write to `operations/needs-human-review.md`
|
|
509
|
+
-> If all clean -> **Phase 10: QA Testing**
|
|
510
|
+
|
|
511
|
+
---
|
|
512
|
+
|
|
513
|
+
## Phase 10: QA Testing
|
|
514
|
+
**Type**: Subagent (autonomous)
|
|
515
|
+
**Agent**: QA
|
|
516
|
+
**Human**: No
|
|
517
|
+
|
|
518
|
+
### Workflow
|
|
519
|
+
```
|
|
520
|
+
1. Read spec (expected behavior) + test plan (test cases)
|
|
521
|
+
2. Run existing test suites:
|
|
522
|
+
a. Unit tests -> report pass/fail counts
|
|
523
|
+
b. Integration tests -> report pass/fail counts
|
|
524
|
+
c. E2E tests -> report pass/fail counts
|
|
525
|
+
3. Execute test plan cases (TC-XXX) one by one:
|
|
526
|
+
a. Set up preconditions
|
|
527
|
+
b. Execute steps
|
|
528
|
+
c. Verify expected results
|
|
529
|
+
d. Capture evidence (screenshots, response bodies)
|
|
530
|
+
4. Visual testing:
|
|
531
|
+
a. Playwright screenshot each screen
|
|
532
|
+
b. Compare against design cards (multimodal)
|
|
533
|
+
c. Check all states: default, empty, loading, error
|
|
534
|
+
5. Exploratory testing:
|
|
535
|
+
a. Rapid clicks, double submissions
|
|
536
|
+
b. Empty/max-length/special char inputs
|
|
537
|
+
c. Browser back/forward during flows
|
|
538
|
+
d. Permission boundary testing
|
|
539
|
+
6. For each failure -> write bug report
|
|
540
|
+
7. Update work log
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
### Reads
|
|
544
|
+
| File | Why |
|
|
545
|
+
|------|-----|
|
|
546
|
+
| `phases/02-spec/spec.md` | Expected behavior (source of truth) |
|
|
547
|
+
| `phases/07-test-plan/test-plan.md` | Test cases to execute |
|
|
548
|
+
| `phases/03-design/cards/*.html` | Visual comparison targets |
|
|
549
|
+
| `operations/bugs.md` | Don't re-report known bugs |
|
|
550
|
+
| `memory/qa/hot.md` | Own history |
|
|
551
|
+
|
|
552
|
+
### Writes
|
|
553
|
+
| File | Content |
|
|
554
|
+
|------|---------|
|
|
555
|
+
| `operations/bugs.md` | `BUG-XXX: [severity] [type] -- steps to reproduce, expected vs actual, evidence, status: open` |
|
|
556
|
+
| `memory/qa/cold.md` | `[QA-RUN] unit: 45/45 pass | integration: 12/15 pass | e2e: 8/10 pass` |
|
|
557
|
+
| `memory/qa/cold.md` | `[QA-BUG] BUG-XXX: high -- login returns 500 on special chars in email` |
|
|
558
|
+
| `memory/product-lead/cold.md` | `[BUG] QA found X bugs (Y critical, Z high)` |
|
|
559
|
+
| `operations/needs-human-review.md` | Subjective visual issues that can't be objectively judged |
|
|
560
|
+
|
|
561
|
+
### Invokes Next (via Product Lead)
|
|
562
|
+
-> If bugs found -> **Phase 11: Forensic** (for each bug)
|
|
563
|
+
-> If no bugs -> DONE (or next iteration cycle)
|
|
564
|
+
|
|
565
|
+
---
|
|
566
|
+
|
|
567
|
+
## Phase 11: Forensic
|
|
568
|
+
**Type**: Subagent (autonomous, invoked per bug)
|
|
569
|
+
**Human**: No
|
|
570
|
+
|
|
571
|
+
### Workflow (per bug)
|
|
572
|
+
```
|
|
573
|
+
1. Read the bug report from operations/bugs.md
|
|
574
|
+
2. Check operations/issues.md -- is this a known issue?
|
|
575
|
+
3. Check own work log -- seen this pattern before?
|
|
576
|
+
4. REPRODUCE the bug:
|
|
577
|
+
- API bugs: make the API call, check response
|
|
578
|
+
- UI bugs: Playwright navigate + interact
|
|
579
|
+
- Data bugs: query DB directly
|
|
580
|
+
5. LOCATE root cause:
|
|
581
|
+
- Read logs (logs/fe.log or logs/be.log)
|
|
582
|
+
- Trace flow from user action to bug
|
|
583
|
+
- Identify EXACT file:line where behavior diverges
|
|
584
|
+
6. VALIDATE:
|
|
585
|
+
- Does fixing this line resolve the bug?
|
|
586
|
+
- Does the fix break anything else?
|
|
587
|
+
- Is there a deeper underlying issue?
|
|
588
|
+
7. DOCUMENT the fix (don't apply it -- that's the dev's job)
|
|
589
|
+
8. Update bug status
|
|
590
|
+
9. If pattern detected (3+ similar bugs) -> log pattern
|
|
591
|
+
10. Update work log
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
### Reads
|
|
595
|
+
| File | Why |
|
|
596
|
+
|------|-----|
|
|
597
|
+
| `operations/bugs.md` | The specific bug being investigated |
|
|
598
|
+
| `operations/issues.md` | Known issues, maybe already documented |
|
|
599
|
+
| `memory/forensic/hot.md` | Own history, pattern recognition |
|
|
600
|
+
| `logs/fe.log` | FE runtime logs |
|
|
601
|
+
| `logs/be.log` | BE runtime logs |
|
|
602
|
+
| Source files in `src/frontend/`, `src/backend/` | The code where the bug lives |
|
|
603
|
+
|
|
604
|
+
### Writes
|
|
605
|
+
| File | Content |
|
|
606
|
+
|------|---------|
|
|
607
|
+
| `operations/bugs.md` | Update bug: status -> diagnosed, root cause, file:line, fix description, regression risk |
|
|
608
|
+
| `operations/issues.md` | New issue if pattern detected: `ISS-XXX: [pattern] -- affected files, fix strategy, related bugs` |
|
|
609
|
+
| `memory/forensic/cold.md` | `[FORENSIC] BUG-XXX: null ref in auth middleware -> missing token check at src/backend/middleware/auth.ts:34` |
|
|
610
|
+
| `memory/product-lead/cold.md` | `[RESOLVED] BUG-XXX -> root cause identified, fix documented` |
|
|
611
|
+
|
|
612
|
+
### Invokes Next (via Product Lead)
|
|
613
|
+
-> Route diagnosed bug to **FE Dev** or **BE Dev** (based on fix location)
|
|
614
|
+
-> Dev reads bug entry, applies fix, marks bug resolved
|
|
615
|
+
-> **QA** re-runs to verify fix
|
|
616
|
+
-> If fix introduces new bugs -> cycle back to Forensic
|
|
617
|
+
|
|
618
|
+
---
|
|
619
|
+
|
|
620
|
+
## Product Lead (continuous)
|
|
621
|
+
**Type**: Master conductor (runs throughout)
|
|
622
|
+
**Human**: Minimal -- escalations only
|
|
623
|
+
|
|
624
|
+
### Workflow
|
|
625
|
+
```
|
|
626
|
+
ALWAYS RUNNING:
|
|
627
|
+
1. Track current phase in operations/current-phase.md
|
|
628
|
+
2. Manage operations/task-board.md -- create tasks, assign agents, track completion
|
|
629
|
+
3. Gate phase transitions -- don't advance until phase is done
|
|
630
|
+
4. Route feedback loops:
|
|
631
|
+
- Tech Lead inconsistency -> right dev
|
|
632
|
+
- QA bug -> Forensic -> right dev -> re-test
|
|
633
|
+
- Human-reported bug -> Forensic
|
|
634
|
+
5. Monitor for escalations:
|
|
635
|
+
- Spec gaps -> operations/needs-human-review.md
|
|
636
|
+
- Subjective decisions -> operations/needs-human-review.md
|
|
637
|
+
- Agent stuck -> operations/needs-human-review.md
|
|
638
|
+
6. Log everything to product-lead work logs
|
|
639
|
+
```
|
|
640
|
+
|
|
641
|
+
### Reads
|
|
642
|
+
| File | Why |
|
|
643
|
+
|------|-----|
|
|
644
|
+
| `operations/current-phase.md` | Where are we? |
|
|
645
|
+
| `operations/task-board.md` | What's in progress, what's blocked? |
|
|
646
|
+
| `operations/bugs.md` | Any open bugs to route? |
|
|
647
|
+
| `operations/inconsistencies.md` | Any issues to route? |
|
|
648
|
+
| `operations/needs-human-review.md` | Anything pending human input? |
|
|
649
|
+
| `memory/product-lead/hot.md` | Own history |
|
|
650
|
+
|
|
651
|
+
### Writes
|
|
652
|
+
| File | Content |
|
|
653
|
+
|------|---------|
|
|
654
|
+
| `operations/current-phase.md` | Phase transitions |
|
|
655
|
+
| `operations/task-board.md` | Task creation, assignment, status updates |
|
|
656
|
+
| `memory/product-lead/cold.md` | Every event: phase changes, dispatches, bugs, resolutions, escalations |
|
|
657
|
+
| `memory/product-lead/hot.md` | Rebuilt from cold log after each action |
|
|
658
|
+
| `operations/needs-human-review.md` | Escalations that need human input |
|
|
659
|
+
|
|
660
|
+
### Invokes
|
|
661
|
+
-> Every other agent, based on phase and feedback routing
|
|
662
|
+
|
|
663
|
+
---
|
|
664
|
+
|
|
665
|
+
## Feedback Loop Diagram
|
|
666
|
+
|
|
667
|
+
```
|
|
668
|
+
+--------------------------------------------------+
|
|
669
|
+
| PRODUCT LEAD |
|
|
670
|
+
| (routes, gates, logs, escalates) |
|
|
671
|
+
+--+----+----+----+----+----+----+-----------------+
|
|
672
|
+
| | | | | | |
|
|
673
|
+
Phase 0-4 ---------+ | | | | | |
|
|
674
|
+
(skills, human in loop) | | | | | |
|
|
675
|
+
| | | | | |
|
|
676
|
+
+-------------+ | | | | |
|
|
677
|
+
v v | | | |
|
|
678
|
+
+--------------+ +--------------+ | | |
|
|
679
|
+
|FE Tech Lead | |BE Tech Lead | | | |
|
|
680
|
+
|(scaffold) | |(scaffold) | | | |
|
|
681
|
+
+----+---------+ +----+--------+ | | |
|
|
682
|
+
| | | | |
|
|
683
|
+
+-------+-------+ | | |
|
|
684
|
+
v | | |
|
|
685
|
+
+----------+ | | |
|
|
686
|
+
| QA | | | |
|
|
687
|
+
|(test plan)| | | |
|
|
688
|
+
+----+-----+ | | |
|
|
689
|
+
| | | |
|
|
690
|
+
+--------+--------+ | | |
|
|
691
|
+
v v | | |
|
|
692
|
+
+--------------+ +--------------+ | | |
|
|
693
|
+
| FE Dev | | BE Dev | | | |
|
|
694
|
+
+------+-------+ +------+-------+ | | |
|
|
695
|
+
| | | | |
|
|
696
|
+
+-------+-------+ | | |
|
|
697
|
+
v | | |
|
|
698
|
+
+--------------------+ | | |
|
|
699
|
+
|FE/BE Tech Leads |<--------+ | |
|
|
700
|
+
|(code review) | | |
|
|
701
|
+
+------+-------------+ | |
|
|
702
|
+
| | |
|
|
703
|
+
+--------+--- inconsistency ----------+ |
|
|
704
|
+
| v |
|
|
705
|
+
| +------------------+ |
|
|
706
|
+
| | QA |<--------------------+
|
|
707
|
+
| | (testing) |
|
|
708
|
+
| +------+-----------+
|
|
709
|
+
| |
|
|
710
|
+
| | bug found
|
|
711
|
+
| v
|
|
712
|
+
| +----------+
|
|
713
|
+
| | Forensic |
|
|
714
|
+
| +------+---+
|
|
715
|
+
| |
|
|
716
|
+
| | fix documented
|
|
717
|
+
| v
|
|
718
|
+
| Route to FE/BE Dev
|
|
719
|
+
| |
|
|
720
|
+
| | fix applied
|
|
721
|
+
| v
|
|
722
|
+
| Re-run QA -----------------------------------+
|
|
723
|
+
| |
|
|
724
|
+
+-- fix-code -> Route to FE/BE Dev -> re-review
|
|
725
|
+
```
|
|
726
|
+
|
|
727
|
+
---
|
|
728
|
+
|
|
729
|
+
## Summary: Who writes what
|
|
730
|
+
|
|
731
|
+
| File | Written by |
|
|
732
|
+
|------|-----------|
|
|
733
|
+
| `phases/00-init/project-profile.md` | Phase 0 (Init) |
|
|
734
|
+
| `phases/01-brainstorm/brainstorm.md` | Phase 1 (Brainstorm) |
|
|
735
|
+
| `phases/02-spec/spec.md` | Phase 2 (Spec) |
|
|
736
|
+
| `phases/03-design/design.md` | Phase 3 (Design) |
|
|
737
|
+
| `phases/03-design/cards/*.html` | Phase 3 (Design) |
|
|
738
|
+
| `phases/04-architecture/architecture.md` | Phase 4 (Architecture -- Product Lead + Tech Leads) |
|
|
739
|
+
| `phases/04-architecture/contracts.md` | Phase 4 (Architecture -- Product Lead, validated by Tech Leads) |
|
|
740
|
+
| `phases/04-architecture/schema.md` | Phase 4 (Architecture -- Product Lead, validated by BE Tech Lead) |
|
|
741
|
+
| `phases/04-architecture/flows.md` | Phase 4 (Architecture -- Product Lead) |
|
|
742
|
+
| `phases/04-architecture/fe/` | Phase 4 (FE Tech Lead validation notes) |
|
|
743
|
+
| `phases/04-architecture/be/` | Phase 4 (BE Tech Lead validation notes) |
|
|
744
|
+
| `phases/05-fe-scaffold/fe-lld.md` | Phase 5 (FE Tech Lead) |
|
|
745
|
+
| `phases/06-be-scaffold/be-lld.md` | Phase 6 (BE Tech Lead) |
|
|
746
|
+
| `phases/07-test-plan/test-plan.md` | Phase 7 (QA) |
|
|
747
|
+
| `operations/current-phase.md` | Product Lead |
|
|
748
|
+
| `operations/task-board.md` | Product Lead + all agents (mark complete) |
|
|
749
|
+
| `operations/bugs.md` | QA (create) + Forensic (update) |
|
|
750
|
+
| `operations/issues.md` | Forensic + Devs (when they find issues) |
|
|
751
|
+
| `operations/inconsistencies.md` | FE/BE Tech Leads + Devs |
|
|
752
|
+
| `operations/needs-human-review.md` | Any agent via Product Lead |
|
|
753
|
+
| `memory/product-lead/hot.md` | Product Lead (rebuilt after each action) |
|
|
754
|
+
| `memory/product-lead/cold.md` | Product Lead (every event, append-only) |
|
|
755
|
+
| `memory/product-lead/best-practices.md` | Product Lead (patterns, gotchas, arch decisions) |
|
|
756
|
+
| `memory/product-lead/issues.md` | Product Lead (personal issues log) |
|
|
757
|
+
| `memory/fe-tech-lead/hot.md` | FE Tech Lead (rebuilt after each task) |
|
|
758
|
+
| `memory/fe-tech-lead/cold.md` | FE Tech Lead (append-only) |
|
|
759
|
+
| `memory/fe-tech-lead/best-practices.md` | FE Tech Lead (patterns, gotchas) |
|
|
760
|
+
| `memory/fe-tech-lead/issues.md` | FE Tech Lead (personal issues log) |
|
|
761
|
+
| `memory/be-tech-lead/hot.md` | BE Tech Lead (rebuilt after each task) |
|
|
762
|
+
| `memory/be-tech-lead/cold.md` | BE Tech Lead (append-only) |
|
|
763
|
+
| `memory/be-tech-lead/best-practices.md` | BE Tech Lead (patterns, gotchas) |
|
|
764
|
+
| `memory/be-tech-lead/issues.md` | BE Tech Lead (personal issues log) |
|
|
765
|
+
| `memory/fe-dev/hot.md` | FE Dev (rebuilt after each task) |
|
|
766
|
+
| `memory/fe-dev/cold.md` | FE Dev (append-only) |
|
|
767
|
+
| `memory/fe-dev/best-practices.md` | FE Dev (patterns, gotchas) |
|
|
768
|
+
| `memory/fe-dev/issues.md` | FE Dev (personal issues log) |
|
|
769
|
+
| `memory/be-dev/hot.md` | BE Dev (rebuilt after each task) |
|
|
770
|
+
| `memory/be-dev/cold.md` | BE Dev (append-only) |
|
|
771
|
+
| `memory/be-dev/best-practices.md` | BE Dev (patterns, gotchas) |
|
|
772
|
+
| `memory/be-dev/issues.md` | BE Dev (personal issues log) |
|
|
773
|
+
| `memory/qa/hot.md` | QA (rebuilt after each task) |
|
|
774
|
+
| `memory/qa/cold.md` | QA (append-only) |
|
|
775
|
+
| `memory/qa/best-practices.md` | QA (patterns, gotchas) |
|
|
776
|
+
| `memory/qa/issues.md` | QA (personal issues log) |
|
|
777
|
+
| `memory/forensic/hot.md` | Forensic (rebuilt after each task) |
|
|
778
|
+
| `memory/forensic/cold.md` | Forensic (append-only) |
|
|
779
|
+
| `memory/forensic/best-practices.md` | Forensic (patterns, gotchas) |
|
|
780
|
+
| `memory/forensic/issues.md` | Forensic (personal issues log) |
|
|
781
|
+
| `logs/fe.log` | FE application (runtime) |
|
|
782
|
+
| `logs/be.log` | BE application (runtime) |
|
|
783
|
+
| Source code in `src/frontend/`, `src/backend/` | FE Tech Lead, BE Tech Lead, FE Dev, BE Dev |
|
|
784
|
+
| Test files in `tests/unit/`, `tests/integration/`, `tests/e2e/` | QA (stubs), FE Dev, BE Dev |
|