Skip to content

Commit ac12713

Browse files
committed
docs: align agent workflow with MVP planning
Update the live agent workflow to use the MVP implementation backlog and clarify how agents should handle MVP-scoped work. - add MVP planning references to AGENTS.md - expand docs/agent-workflow.md with task classification, scope control, docs-only validation, open-question corroboration, and multi-agent coordination guidance - add plans/mvp-gap-analysis.md as the current-state assessment companion to the MVP scope and backlog
1 parent 31f1d28 commit ac12713

3 files changed

Lines changed: 382 additions & 4 deletions

File tree

AGENTS.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,15 @@ if err != nil {
8989
- Do not make insecure transport the default for code paths that may later be used outside local/demo workflows.
9090
- If plaintext or insecure TLS behavior is needed for local development, gate it behind explicit configuration and keep production-oriented defaults secure.
9191

92+
## MVP Planning References
93+
94+
For MVP-scoped work:
95+
96+
- Use `docs/mvp-scope.md` as the target-state definition.
97+
- Use `plans/mvp-gap-analysis.md` for current-state assessment.
98+
- Use `plans/mvp-implementation-backlog.md` as the active execution backlog.
99+
- Treat `plans/implementation-backlog.md` as historical context unless explicitly requested.
100+
92101
## Notes
93102

94103
- All builds must pass before committing

docs/agent-workflow.md

Lines changed: 95 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,79 @@
33
This repo contains two complementary process documents:
44

55
- `AGENTS.md`: repo-specific rules (commands, Go conventions, CLI flag validation patterns).
6-
- `plans/implementation-backlog.md`: the task list with per-task **Done when** + **Verify** criteria and a status table.
6+
- `plans/mvp-implementation-backlog.md`: the active MVP task list with per-task **Done when** + **Verify** criteria and a status table.
77

88
This document defines the **step-by-step workflow** to implement backlog tasks consistently (human or LLM).
99

10+
Note on the backlog switch:
11+
12+
- `plans/mvp-implementation-backlog.md` is now the active implementation backlog for MVP-scoped work.
13+
- `plans/implementation-backlog.md` remains useful historical context, but agents should not treat it as the primary task source for current MVP execution.
14+
15+
## Scope of This Workflow
16+
17+
This workflow defines the default execution behavior for MVP-scoped work.
18+
19+
Authoritative planning documents for MVP work:
20+
21+
- `docs/mvp-scope.md`: target-state definition
22+
- `plans/mvp-gap-analysis.md`: current-state assessment
23+
- `plans/mvp-implementation-backlog.md`: active execution backlog
24+
25+
Historical context only:
26+
27+
- `plans/implementation-backlog.md`
28+
29+
Agents should treat `plans/mvp-implementation-backlog.md` as the primary task source unless the user explicitly asks for historical or pre-MVP planning context.
30+
1031
---
1132

1233
## 1) Pick a Task
1334

14-
- Choose an `SDS-###` item from `plans/implementation-backlog.md`.
35+
- Choose an `MVP-###` item from `plans/mvp-implementation-backlog.md`.
1536
- Read its **Context**, **Done when**, and **Verify** sections.
1637
- If the task requires cross-repo coordination, confirm owners and dependencies first.
1738

1839
---
1940

41+
## 1.5) Classify the Task Before Acting
42+
43+
Before making changes, determine which kind of backlog item you are working on:
44+
45+
- **Implementation task**:
46+
- goal is code and behavior change
47+
- complete the smallest change that satisfies **Done when**
48+
- **Open-question task**:
49+
- goal is a documented decision, narrowed contract, or explicit recorded deferral
50+
- do not silently choose an implementation-specific interpretation in code
51+
- **Validation/review task**:
52+
- goal is to verify, review, or corroborate behavior against the backlog and current code
53+
- do not broaden into implementation unless explicitly asked
54+
55+
For every task, first extract and restate:
56+
57+
- task ID
58+
- dependencies
59+
- assumptions
60+
- **Done when**
61+
- **Verify**
62+
- relevant MVP scenarios
63+
64+
Keep this restatement brief and execution-oriented. It should be a short working summary, not a long analysis section.
65+
66+
If a dependency is still unresolved and the current task cannot be completed safely without inventing semantics, mark the task `blocked` instead of coding around it.
67+
68+
When an `open_question` task needs information beyond the repo:
69+
70+
- use repo context first
71+
- when external research is available, prefer primary sources
72+
- record whether the result is a final decision, a narrowed contract, or a recommendation awaiting confirmation
73+
74+
---
75+
2076
## 2) Update Status First
2177

22-
In `plans/implementation-backlog.md`:
78+
In `plans/mvp-implementation-backlog.md`:
2379

2480
- Set the chosen task `Status` to `in_progress` in the Status Tracker table.
2581
- If you cannot proceed, set `blocked` and add a short reason in the task’s section.
@@ -32,6 +88,15 @@ In `plans/implementation-backlog.md`:
3288
- Prefer fixing root causes over adding workarounds.
3389
- Keep changes narrowly scoped to the selected task (avoid drive-by refactors).
3490

91+
### Scope Control Rules
92+
93+
- Prefer one `MVP-###` task per implementation pass unless the backlog already makes a tightly-coupled dependency unavoidable.
94+
- Small supporting edits are acceptable when they are strictly necessary to satisfy the selected task’s **Done when** or **Verify** criteria.
95+
- Do not solve adjacent backlog items unless they are strictly required to satisfy the selected task’s **Done when** criteria.
96+
- Do not absorb a second meaningful backlog item just because it touches the same files or component.
97+
- Do not introduce new abstractions, helpers, configuration, or refactors unless they are necessary for the selected task.
98+
- If you discover a missing prerequisite or unresolved contract, stop, document it, and update the backlog/task state instead of embedding an implicit decision in code.
99+
35100
Before writing code, run these quick checks:
36101

37102
- **Domain type check**: is there already a repo-level type/helper for this domain (`sds.GRT`, address/signature helpers, etc.)?
@@ -67,6 +132,11 @@ Follow `AGENTS.md` guidance:
67132
- `go test ./...`
68133
- `go vet ./...`
69134

135+
For docs-only, planning-only, or other non-code tasks:
136+
137+
- run the task-specific verification that actually applies
138+
- do not treat `gofmt`, `go test ./...`, or `go vet ./...` as mandatory unless code changed
139+
70140
If validation fails:
71141

72142
- Fix the failure if it’s caused by your changes.
@@ -80,11 +150,18 @@ If validation fails:
80150
- Confirm the expected outcomes (return codes, error codes, logs, state changes).
81151
- If “Verify” is missing or insufficient, update the backlog entry to make it reproducible.
82152

153+
If the task is an `open_question` item, corroboration should include the concrete output artifact:
154+
155+
- updated docs or contract text
156+
- narrowed decision record
157+
- explicit deferral recorded in the backlog or docs
158+
- downstream task references updated to point at that output when needed
159+
83160
---
84161

85162
## 7) Mark Done
86163

87-
In `plans/implementation-backlog.md`:
164+
In `plans/mvp-implementation-backlog.md`:
88165

89166
- Set `Status` to `done` in the Status Tracker table.
90167
- Tick the task checkbox in its detailed section.
@@ -99,6 +176,20 @@ In `plans/implementation-backlog.md`:
99176

100177
---
101178

179+
## 8.5) Multi-Agent Coordination
180+
181+
When using multiple agents in parallel:
182+
183+
- assign one primary `MVP-###` task per agent
184+
- use separate git worktrees when parallel agents may edit code concurrently
185+
- avoid overlapping file ownership unless one agent is review-only
186+
- assign one owner for updates to shared planning/status documents when multiple agents are active
187+
- only the assigned document owner should update shared status tables unless explicitly coordinated otherwise
188+
- prefer splitting by dependency boundary or component boundary, not by arbitrary file count
189+
- if a task changes shared contracts or protobufs, finish and merge that work before starting dependent implementation tasks
190+
191+
---
192+
102193
## 9) Incorporate Review Learnings
103194

104195
If you are implementing or revisiting code after reviewer feedback:

0 commit comments

Comments
 (0)