create-harness-vibe-coding 0.6.2 → 0.6.4

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.
Files changed (57) hide show
  1. package/package.json +1 -1
  2. package/src/generator.js +466 -466
  3. package/src/index.js +355 -355
  4. package/templates/common/.claude/agents/architect.md +31 -35
  5. package/templates/common/.claude/agents/context-master.md +0 -1
  6. package/templates/common/.claude/agents/debugger.md +0 -1
  7. package/templates/common/.claude/agents/docs-researcher.md +41 -43
  8. package/templates/common/.claude/agents/implementer.md +0 -1
  9. package/templates/common/.claude/agents/memory-master.md +0 -1
  10. package/templates/common/.claude/agents/planner.md +0 -1
  11. package/templates/common/.claude/agents/researcher.md +0 -1
  12. package/templates/common/.claude/agents/reviewer.md +34 -35
  13. package/templates/common/.claude/agents/test-writer.md +0 -1
  14. package/templates/common/.claude/agents/verifier.md +0 -1
  15. package/templates/common/.claude/commands/wf-max.md +7 -0
  16. package/templates/common/.claude/commands/{update.md → wf-update.md} +4 -0
  17. package/templates/common/.claude/commands/wf.md +10 -3
  18. package/templates/common/.claude/skills/subagent-orchestrator/SKILL.md +2 -1
  19. package/templates/common/.claude/skills/wf-max/SKILL.md +29 -70
  20. package/templates/common/.claude/skills/{readme-optimizer → wf-readme}/SKILL.md +1 -1
  21. package/templates/common/.claude/skills/wf-review/SKILL.md +50 -50
  22. package/templates/common/.claude/skills/wf-update/SKILL.md +58 -58
  23. package/templates/common/CLAUDE.md +77 -76
  24. package/templates/common/MEMORY.md +73 -76
  25. package/templates/common/README.md +1 -1
  26. package/templates/common/SETUP.md +273 -341
  27. package/templates/common/docs/README.md +131 -145
  28. package/templates/common/docs/harness/WF.md +13 -1
  29. package/templates/common/docs/harness/agent-workflow.md +94 -94
  30. package/templates/common/docs/harness/architecture.md +1 -1
  31. package/templates/common/docs/harness/context-loading.md +104 -108
  32. package/templates/common/docs/harness/extension.md +70 -79
  33. package/templates/common/docs/harness/lifecycle.md +33 -33
  34. package/templates/common/docs/harness/subagents.md +1 -1
  35. package/templates/common/docs/research/PRD.md +65 -65
  36. package/templates/common/docs/research/README.md +169 -169
  37. package/templates/common/scripts/validate-harness.mjs +439 -460
  38. package/templates/optional/skills/browser-e2e/.claude/commands/wf-browser.md +25 -0
  39. package/templates/optional/skills/browser-e2e/.claude/skills/browser-e2e/SKILL.md +42 -42
  40. package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +194 -0
  41. package/templates/optional/skills/browser-e2e/docs/workflows/browser-e2e.md +55 -34
  42. package/templates/optional/skills/github-pr-review/.claude/skills/github-pr-review/SKILL.md +40 -40
  43. package/templates/optional/skills/python-backend/.claude/skills/python-backend/SKILL.md +40 -40
  44. package/templates/optional/skills/ts-react-frontend/.claude/skills/ts-react-frontend/SKILL.md +43 -43
  45. package/templates/optional/skills/ui-ux-review/.claude/skills/ui-ux-review/SKILL.md +40 -40
  46. package/templates/common/.claude/skills/harness-build-loop/SKILL.md +0 -23
  47. package/templates/common/.claude/skills/harness-context/SKILL.md +0 -26
  48. package/templates/common/.claude/skills/harness-lifecycle/SKILL.md +0 -20
  49. package/templates/common/.claude/skills/harness-research/SKILL.md +0 -30
  50. package/templates/common/.claude/skills/harness-router/SKILL.md +0 -16
  51. package/templates/common/.claude/skills/wf-mode/SKILL.md +0 -55
  52. package/templates/common/docs/domain/ports.md +0 -76
  53. package/templates/common/docs/features/_template.md +0 -177
  54. package/templates/common/docs/harness/PLAN.md +0 -52
  55. package/templates/common/docs/harness/data-flow.md +0 -59
  56. package/templates/common/docs/harness/state-machines.md +0 -58
  57. /package/templates/common/.claude/commands/{learn.md → wf-learn.md} +0 -0
@@ -1,108 +1,104 @@
1
- # Context Loading Protocol
2
-
3
- Use when context is growing, subagents are needed, or an agent is unsure which harness doc applies.
4
-
5
- ## Routing Authority
6
-
7
- `Harness/README.md` is the primary router. This file is a secondary context-splitting protocol for subagents and long tasks.
8
-
9
- If this file and `Harness/README.md` disagree, follow `Harness/README.md`, record the assumption in `Harness/tasks/<task-id>/PROGRESS.md`, and update this file later.
10
-
11
- project files are the only durable communication channel; chat/subagent transcript state is non-authoritative. Important assumptions, decisions, blockers, evidence, and handoffs must be written to `Harness/tasks/<task-id>/PROGRESS.md` and `Harness/tasks/<task-id>/PLAN.md`, the current feature doc, `Harness/MEMORY.md`, or `Harness/memory/*` as appropriate.
12
-
13
- ## Main Context
14
-
15
- Always keep:
16
-
17
- - `CLAUDE.md`
18
- - `Harness/MEMORY.md`
19
- - `Harness/README.md`
20
- - `Harness/PROGRESS.md` when active
21
- - `Harness/tasks/<task-id>/PROGRESS.md` when active
22
- - `Harness/tasks/<task-id>/PLAN.md` when active
23
- - current feature doc when active
24
-
25
- Load other docs only by trigger.
26
-
27
- ## Trigger Matrix
28
-
29
- | Trigger | Load |
30
- | --- | --- |
31
- | idea, scope, MVP | `Harness/lifecycle.md`, `Harness/research/PRD.md` |
32
- | research, competitors, stack choice | `Harness/research/README.md`, `Harness/research/research-results.md` |
33
- | official docs, API, SDK, version, limits | `Harness/research/README.md`, `Harness/architecture.md`, `Harness/domain/ports.md` as needed |
34
- | layer, dependency, module boundary | `Harness/architecture.md`, `Harness/domain/ports.md` |
35
- | task split, owner, write set | `Harness/tasks/<task-id>/PROGRESS.md`, `Harness/tasks/<task-id>/PLAN.md`, `Harness/agent-workflow.md` |
36
- | parallel agents, dispatch, worktree decision | `Harness/subagents.md`, `Harness/dispatch.md`, `Harness/tasks/<task-id>/PLAN.md` |
37
- | memory, repeated tool failure, repeated user correction, reusable lesson | `Harness/MEMORY.md`, the relevant `Harness/memory/*.md` file |
38
- | event, retry, failure path | `Harness/data-flow.md` |
39
- | status, transition, resume | `Harness/state-machines.md` |
40
- | subagent spawn | `Harness/subagents.md`, this file plus the role pack below |
41
-
42
- ## Subagent Packs
43
-
44
- Explorer Pass:
45
- - inject: question, read boundary, relevant docs
46
- - forbid: writes
47
- - return: files found, facts, risks, suggested tests
48
-
49
- Planner:
50
- - inject: user goal, lifecycle phase, PRD or PLAN section, dispatch constraints
51
- - forbid: production code
52
- - return: tasks, dependencies, read/write sets, dispatch table, gates, open questions
53
-
54
- Researcher:
55
- - inject: question, decision needed, source boundaries, tool options
56
- - forbid: production code
57
- - return: sources, adopted/rejected/watch decisions, risks, research-results.md patch
58
-
59
- Docs Researcher:
60
- - inject: library/API/config, implementation question, version/date constraints
61
- - forbid: production code
62
- - return: official links, constraints, errors, examples, affected docs
63
-
64
- Architect:
65
- - inject: PRD, current architecture, ports
66
- - forbid: implementation
67
- - return: boundary decision, affected docs, risks
68
-
69
- Test Writer:
70
- - inject: acceptance criteria, feature doc, test write set
71
- - forbid: production code
72
- - return: failing tests and test intent
73
-
74
- Implementer:
75
- - inject: task, tests, allowed write set, forbidden scope
76
- - forbid: unrelated refactor and test loosening
77
- - return: changed files and implementation notes
78
-
79
- Reviewer:
80
- - inject: diff, acceptance criteria, architecture docs
81
- - forbid: writes
82
- - return: findings by severity, missing tests, boundary issues
83
-
84
- Debugger:
85
- - inject: failing command, error output, related files
86
- - forbid: broad rewrites
87
- - return: root cause, fix, proof
88
-
89
- Verifier:
90
- - inject: verification commands and acceptance criteria
91
- - forbid: code changes
92
- - return: commands run, results, residual risk
93
-
94
- Memory Master:
95
- - inject: trigger reason, current failure/user-correction/closeout context, task PROGRESS.md section
96
- - forbid: source code, unrelated Harness docs
97
- - return: memory action summary, files written, cross-project flag
98
-
99
- Context Master:
100
- - inject: trigger reason (threshold % or closeout), current task PROGRESS.md, task phase
101
- - forbid: source code, memory files, MEMORY.md writes
102
- - return: context usage %, stale blocks, compressible blocks, durable knowledge candidates, compression suggestion
103
-
104
- ## Handoff Rule
105
-
106
- Only the subagent summary enters main context. If details are needed, load the named files directly instead of replaying the subagent conversation.
107
-
108
- Use the handoff format in [dispatch.md](dispatch.md) for every dispatched agent.
1
+ # Context Loading Protocol
2
+
3
+ Use when context is growing, subagents are needed, or an agent is unsure which harness doc applies.
4
+
5
+ ## Routing Authority
6
+
7
+ `Harness/README.md` is the primary router. This file is a secondary context-splitting protocol for subagents and long tasks.
8
+
9
+ If this file and `Harness/README.md` disagree, follow `Harness/README.md`, record the assumption in `Harness/tasks/<task-id>/PROGRESS.md`, and update this file later.
10
+
11
+ project files are the only durable communication channel; chat/subagent transcript state is non-authoritative. Important assumptions, decisions, blockers, evidence, and handoffs must be written to `Harness/tasks/<task-id>/PROGRESS.md` and `Harness/tasks/<task-id>/PLAN.md`, the current feature doc, `Harness/MEMORY.md`, or `Harness/memory/*` as appropriate.
12
+
13
+ ## Main Context
14
+
15
+ Always keep:
16
+
17
+ - `CLAUDE.md`
18
+ - `Harness/MEMORY.md`
19
+ - `Harness/README.md`
20
+ - `Harness/PROGRESS.md` when active
21
+ - `Harness/tasks/<task-id>/PROGRESS.md` when active
22
+ - `Harness/tasks/<task-id>/PLAN.md` when active
23
+ - current feature doc when active
24
+
25
+ Load other docs only by trigger.
26
+
27
+ ## Trigger Matrix
28
+
29
+ | Trigger | Load |
30
+ | --- | --- |
31
+ | idea, scope, MVP | `Harness/lifecycle.md`, `Harness/research/PRD.md` |
32
+ | research, competitors, stack choice | `Harness/research/README.md`, `Harness/research/research-results.md` |
33
+ | task split, owner, write set | `Harness/tasks/<task-id>/PROGRESS.md`, `Harness/tasks/<task-id>/PLAN.md`, `Harness/agent-workflow.md` |
34
+ | parallel agents, dispatch, worktree decision | `Harness/subagents.md`, `Harness/dispatch.md`, `Harness/tasks/<task-id>/PLAN.md` |
35
+ | memory, repeated tool failure, repeated user correction, reusable lesson | `Harness/MEMORY.md`, the relevant `Harness/memory/*.md` file |
36
+ | subagent spawn | `Harness/subagents.md`, this file plus the role pack below |
37
+
38
+ ## Subagent Packs
39
+
40
+ Explorer Pass:
41
+ - inject: question, read boundary, relevant docs
42
+ - forbid: writes
43
+ - return: files found, facts, risks, suggested tests
44
+
45
+ Planner:
46
+ - inject: user goal, lifecycle phase, PRD or PLAN section, dispatch constraints
47
+ - forbid: production code
48
+ - return: tasks, dependencies, read/write sets, dispatch table, gates, open questions
49
+
50
+ Researcher:
51
+ - inject: question, decision needed, source boundaries, tool options
52
+ - forbid: production code
53
+ - return: sources, adopted/rejected/watch decisions, risks, research-results.md patch
54
+
55
+ Docs Researcher:
56
+ - inject: library/API/config, implementation question, version/date constraints
57
+ - forbid: production code
58
+ - return: official links, constraints, errors, examples, affected docs
59
+
60
+ Architect:
61
+ - inject: PRD, current architecture, ports
62
+ - forbid: implementation
63
+ - return: boundary decision, affected docs, risks
64
+
65
+ Test Writer:
66
+ - inject: acceptance criteria, feature doc, test write set
67
+ - forbid: production code
68
+ - return: failing tests and test intent
69
+
70
+ Implementer:
71
+ - inject: task, tests, allowed write set, forbidden scope
72
+ - forbid: unrelated refactor and test loosening
73
+ - return: changed files and implementation notes
74
+
75
+ Reviewer:
76
+ - inject: diff, acceptance criteria, architecture docs
77
+ - forbid: writes
78
+ - return: findings by severity, missing tests, boundary issues
79
+
80
+ Debugger:
81
+ - inject: failing command, error output, related files
82
+ - forbid: broad rewrites
83
+ - return: root cause, fix, proof
84
+
85
+ Verifier:
86
+ - inject: verification commands and acceptance criteria
87
+ - forbid: code changes
88
+ - return: commands run, results, residual risk
89
+
90
+ Memory Master:
91
+ - inject: trigger reason, current failure/user-correction/closeout context, task PROGRESS.md section
92
+ - forbid: source code, unrelated Harness docs
93
+ - return: memory action summary, files written, cross-project flag
94
+
95
+ Context Master:
96
+ - inject: trigger reason (threshold % or closeout), current task PROGRESS.md, task phase
97
+ - forbid: source code, memory files, MEMORY.md writes
98
+ - return: context usage %, stale blocks, compressible blocks, durable knowledge candidates, compression suggestion
99
+
100
+ ## Handoff Rule
101
+
102
+ Only the subagent summary enters main context. If details are needed, load the named files directly instead of replaying the subagent conversation.
103
+
104
+ Use the handoff format in [dispatch.md](dispatch.md) for every dispatched agent.
@@ -1,79 +1,70 @@
1
- # Extension Contract
2
-
3
- Purpose: keep stack-specific agents, skills, rules, and hooks compatible with this harness.
4
-
5
- Use during setup whenever adding assets from ECC, SuperClaude, toolboxes, or local project conventions.
6
-
7
- ## Non-Invasive Extension Rules
8
-
9
- Extensions must preserve project and harness ownership boundaries.
10
-
11
- - Preserve existing `.claude/`, `CLAUDE.md`, `AGENTS.md`, `.gitignore`, `Harness/README.md`, `Harness/workflows/*.md`, settings, hooks, and local rules unless the user explicitly requests an overwrite.
12
- - Treat existing project config as project fact. Read it before adding assets, then adapt new assets to the project instead of replacing the project.
13
- - Register added agents, skills, workflows, rules, and hooks in `Harness/MEMORY.md` and this docs router where applicable.
14
- - Added assets may extend `.claude/skills/`, `.claude/agents/`, `.claude/rules/`, or `Harness/workflows/`, but they must not replace core harness docs.
15
- - Core harness docs are `Harness/README.md`, `Harness/PROGRESS.md`, `Harness/subagents.md`, `Harness/context-loading.md`, `Harness/dispatch.md`, `Harness/agent-workflow.md`, and this file.
16
- - If an optional workflow needs a new command or tool, document the command and fallback in `Harness/workflows/<name>.md` instead of changing core harness behavior.
17
-
18
- ## Agent Contract
19
-
20
- Every added agent must have frontmatter:
21
-
22
- ```yaml
23
- ---
24
- name: stack-agent-name
25
- description: Use when ...
26
- tools: Read, Grep, Glob
27
- model: sonnet
28
- skills: harness-context
29
- ---
30
- ```
31
-
32
- Choose one harness skill:
33
-
34
- | Agent Type | Skill |
35
- | --- | --- |
36
- | research, docs, API lookup | `harness-research` |
37
- | planning, architecture, context split | `harness-context` |
38
- | tests, implementation, debugging, review, verification | `harness-build-loop` |
39
-
40
- Agent body must state:
41
-
42
- - load first
43
- - inputs required
44
- - allowed write set or read-only
45
- - forbidden scope
46
- - verification or evidence
47
- - return format from [subagents.md](subagents.md) and [dispatch.md](dispatch.md)
48
-
49
- ## Skill Contract
50
-
51
- Every added skill must state:
52
-
53
- - when to use
54
- - docs to load
55
- - required inputs
56
- - allowed writes
57
- - output format
58
- - whether to update `Harness/PROGRESS.md` and task files
59
- - whether to use [subagents.md](subagents.md) and [dispatch.md](dispatch.md)
60
-
61
- Skills should extend the harness. They should not replace `Harness/README.md`, `Harness/PROGRESS.md`, `subagents.md`, `context-loading.md`, `dispatch.md`, or `agent-workflow.md`.
62
-
63
- ## Rules
64
-
65
- - Do not add broad agents that can write anywhere.
66
- - Do not add agents whose role overlaps an existing common agent without naming the difference.
67
- - Do not add tools that bypass project permissions or user approval.
68
- - Do not run stack-specific writing agents in parallel unless write sets are disjoint.
69
- - If an added asset conflicts with this harness, adapt the asset instead of changing the core contract.
70
-
71
- ## Registration
72
-
73
- After adding assets:
74
-
75
- - list agents in `Harness/MEMORY.md#Agents`
76
- - list skills in `Harness/MEMORY.md#Skills`
77
- - list workflows by path in `Harness/MEMORY.md` or `Harness/README.md`
78
- - update `Harness/PROGRESS.md` and `Harness/tasks/<task-id>/PROGRESS.md` when the asset affects current work
79
- - run `node Harness/scripts/validate-harness.mjs`
1
+ # Extension Contract
2
+
3
+ Purpose: keep stack-specific agents, skills, rules, and hooks compatible with this harness.
4
+
5
+ Use during setup whenever adding assets from ECC, SuperClaude, toolboxes, or local project conventions.
6
+
7
+ ## Non-Invasive Extension Rules
8
+
9
+ Extensions must preserve project and harness ownership boundaries.
10
+
11
+ - Preserve existing `.claude/`, `CLAUDE.md`, `AGENTS.md`, `.gitignore`, `Harness/README.md`, `Harness/workflows/*.md`, settings, hooks, and local rules unless the user explicitly requests an overwrite.
12
+ - Treat existing project config as project fact. Read it before adding assets, then adapt new assets to the project instead of replacing the project.
13
+ - Register added agents, skills, workflows, rules, and hooks in `Harness/MEMORY.md` and this docs router where applicable.
14
+ - Added assets may extend `.claude/skills/`, `.claude/agents/`, `.claude/rules/`, or `Harness/workflows/`, but they must not replace core harness docs.
15
+ - Core harness docs are `Harness/README.md`, `Harness/PROGRESS.md`, `Harness/subagents.md`, `Harness/context-loading.md`, `Harness/dispatch.md`, `Harness/agent-workflow.md`, and this file.
16
+ - If an optional workflow needs a new command or tool, document the command and fallback in `Harness/workflows/<name>.md` instead of changing core harness behavior.
17
+
18
+ ## Agent Contract
19
+
20
+ Every added agent must have frontmatter:
21
+
22
+ ```yaml
23
+ ---
24
+ name: stack-agent-name
25
+ description: Use when ...
26
+ tools: Read, Grep, Glob
27
+ model: sonnet
28
+ ---
29
+ ```
30
+
31
+ Agent body must state:
32
+
33
+ - load first
34
+ - inputs required
35
+ - allowed write set or read-only
36
+ - forbidden scope
37
+ - verification or evidence
38
+ - return format from [subagents.md](subagents.md) and [dispatch.md](dispatch.md)
39
+
40
+ ## Skill Contract
41
+
42
+ Every added skill must state:
43
+
44
+ - when to use
45
+ - docs to load
46
+ - required inputs
47
+ - allowed writes
48
+ - output format
49
+ - whether to update `Harness/PROGRESS.md` and task files
50
+ - whether to use [subagents.md](subagents.md) and [dispatch.md](dispatch.md)
51
+
52
+ Skills should extend the harness. They should not replace `Harness/README.md`, `Harness/PROGRESS.md`, `subagents.md`, `context-loading.md`, `dispatch.md`, or `agent-workflow.md`.
53
+
54
+ ## Rules
55
+
56
+ - Do not add broad agents that can write anywhere.
57
+ - Do not add agents whose role overlaps an existing common agent without naming the difference.
58
+ - Do not add tools that bypass project permissions or user approval.
59
+ - Do not run stack-specific writing agents in parallel unless write sets are disjoint.
60
+ - If an added asset conflicts with this harness, adapt the asset instead of changing the core contract.
61
+
62
+ ## Registration
63
+
64
+ After adding assets:
65
+
66
+ - list agents in `Harness/MEMORY.md#Agents`
67
+ - list skills in `Harness/MEMORY.md#Skills`
68
+ - list workflows by path in `Harness/MEMORY.md` or `Harness/README.md`
69
+ - update `Harness/PROGRESS.md` and `Harness/tasks/<task-id>/PROGRESS.md` when the asset affects current work
70
+ - run `node Harness/scripts/validate-harness.mjs`
@@ -1,33 +1,33 @@
1
- # 0-1 Product Lifecycle
2
-
3
- Use when starting a new product, clarifying a vague idea, or deciding the next phase.
4
-
5
- ## Phase Contract
6
-
7
- | Phase | Input | Output | Gate |
8
- | --- | --- | --- | --- |
9
- | Idea | user intent | problem, target user, non-goals | unclear points asked or assumptions recorded |
10
- | Research | problem and constraints | `research/research-results.md` | `research/README.md` followed; at least 3 references or explicit reason not possible |
11
- | PRD | research decision | `research/PRD.md` | MVP, non-goals, acceptance criteria are verifiable |
12
- | Architecture | PRD | `Harness/architecture.md`, `Harness/domain/ports.md` | boundaries and first ports are defined |
13
- | Plan | PRD and architecture | `Harness/PROGRESS.md`, `Harness/tasks/<task-id>/PLAN.md`, optional `Harness/dispatch.md`, one `Harness/features/<name>.md` per PRD scope item | tasks have owners, write sets, verification |
14
- | Build | plan and tests | minimal vertical slice | tests or manual checks prove behavior |
15
- | Verify | implementation | review findings, test evidence | no unresolved critical/high findings |
16
- | Feedback | verified slice | next iteration or release decision | learnings recorded in PRD, `Harness/tasks/<task-id>/PROGRESS.md`, or MEMORY |
17
-
18
- ## Operating Rules
19
-
20
- - Move one phase at a time unless the user explicitly asks for a fast lane.
21
- - Start coding only after PRD and minimum architecture gates pass.
22
- - Prefer one thin vertical slice over broad scaffolding.
23
- - If feedback changes scope, update PRD before implementation.
24
- - If implementation reveals a boundary problem, update architecture or ports before continuing.
25
-
26
- ## Fast Lane
27
-
28
- Small edits may skip full lifecycle when all are true:
29
-
30
- - user intent is clear
31
- - one file or one narrow behavior
32
- - no architecture, port, data-flow, state, permission, or public API change
33
- - one verification command or one manual check is enough
1
+ # 0-1 Product Lifecycle
2
+
3
+ Use when starting a new product, clarifying a vague idea, or deciding the next phase.
4
+
5
+ ## Phase Contract
6
+
7
+ | Phase | Input | Output | Gate |
8
+ | --- | --- | --- | --- |
9
+ | Idea | user intent | problem, target user, non-goals | unclear points asked or assumptions recorded |
10
+ | Research | problem and constraints | `research/research-results.md` | `research/README.md` followed; at least 3 references or explicit reason not possible |
11
+ | PRD | research decision | `research/PRD.md` | MVP, non-goals, acceptance criteria are verifiable |
12
+ | Architecture | PRD | `Harness/architecture.md` | boundaries and first ports are defined |
13
+ | Plan | PRD and architecture | `Harness/tasks/<task-id>/PLAN.md`, optional `Harness/dispatch.md` | tasks have owners, write sets, verification |
14
+ | Build | plan and tests | minimal vertical slice | tests or manual checks prove behavior |
15
+ | Verify | implementation | review findings, test evidence | no unresolved critical/high findings |
16
+ | Feedback | verified slice | next iteration or release decision | learnings recorded in PRD, PLAN, or MEMORY |
17
+
18
+ ## Operating Rules
19
+
20
+ - Move one phase at a time unless the user explicitly asks for a fast lane.
21
+ - Start coding only after PRD and minimum architecture gates pass.
22
+ - Prefer one thin vertical slice over broad scaffolding.
23
+ - If feedback changes scope, update PRD before implementation.
24
+ - If implementation reveals a boundary problem, update architecture or ports before continuing.
25
+
26
+ ## Fast Lane
27
+
28
+ Small edits may skip full lifecycle when all are true:
29
+
30
+ - user intent is clear
31
+ - one file or one narrow behavior
32
+ - no architecture, permission, or public API change
33
+ - one verification command or one manual check is enough
@@ -72,7 +72,7 @@ Then add phase-specific agents:
72
72
  - `context-master` before closeout for knowledge extraction
73
73
  - `memory-master` after repeated failures and during closeout for consolidation
74
74
 
75
- The default decision ratio is a 7:3 collaboration bias: choose multi-agent collaboration for substantial or uncertain work about 70% of the time; choose solo mode only for clearly local, low-risk work that is not explicitly in WF/WK mode.
75
+ Collaboration mode is determined by concrete conditions, not a fixed ratio. See `Harness/WF.md#Multi-Subagent Requirement` for the full decision tree. Summary: explicit WF/WK mode always multi-agent. 3+ files or cross-layer multi-agent. 1-2 local files, well-understood, not in WF mode → solo acceptable. Repeated failure → stop solo, switch to multi-agent.
76
76
 
77
77
  ## Efficiency Ladder
78
78
 
@@ -1,65 +1,65 @@
1
- # PRD: {{projectName}}
2
-
3
- > **Audience**: AI + future you. Not for PM approval — for implementation and review.
4
- > **Principle**: One page max. Use checkboxes, not prose. Negative definitions > positive definitions.
5
- >
6
- > Philosophy source: Miqdad Jaffer (OpenAI)'s lean PRD template for the AI era.
7
-
8
- ---
9
-
10
- ## 1. Why
11
-
12
- {{WHY_THIS_PROJECT_EXISTS}}
13
-
14
- ## 2. MVP Scope
15
-
16
- ### v0.1 Must Be Able To
17
-
18
- > Each item below must be split into a separate `Harness/features/<name>.md` created from `Harness/features/_template.md` before implementation begins. One feature = one doc = one implementation unit.
19
-
20
- - [ ] {{MUST_1}}
21
- - [ ] {{MUST_2}}
22
- - [ ] {{MUST_3}}
23
-
24
- ### Explicitly Out of Scope
25
-
26
- - {{NON_GOAL_1}}
27
- - {{NON_GOAL_2}}
28
- - {{NON_GOAL_3}}
29
-
30
- ## 3. Decision Priorities
31
-
32
- 1. **Security Boundary** — No bypassing permissions, security gates, or audit.
33
- 2. **Architecture Boundary** — Domain must not depend on harness/infrastructure/interfaces, and harness must not make domain judgments.
34
- 3. **Verifiability** — New behavior must have tests or explicit manual verification records.
35
- 4. **Correctness** — Behavior must match design docs, port contracts, data flows, and state machines.
36
- 5. **Simplicity** — Minimum code to solve the current MVP. No abstractions pre-built for future scenarios.
37
-
38
- ## 4. Users & Usage Scenarios
39
-
40
- | User Role | Core Scenario | Frequency | Pain Point |
41
- | --- | --- | --- | --- |
42
- | {{USER_ROLE_1}} | {{SCENARIO}} | {{FREQUENCY}} | {{PAIN}} |
43
- | {{USER_ROLE_2}} | {{SCENARIO}} | {{FREQUENCY}} | {{PAIN}} |
44
-
45
- ## 5. Acceptance Criteria
46
-
47
- - [ ] {{ACCEPTANCE_1}}
48
- - [ ] {{ACCEPTANCE_2}}
49
- - [ ] {{ACCEPTANCE_3}}
50
-
51
- ## 6. Non-Functional Requirements
52
-
53
- | Dimension | Target | Measurement |
54
- | --- | --- | --- |
55
- | {{DIMENSION_1}} | {{TARGET}} | {{MEASUREMENT}} |
56
- | {{DIMENSION_2}} | {{TARGET}} | {{MEASUREMENT}} |
57
-
58
- ---
59
-
60
- ## Fill Completion Standard
61
-
62
- - [ ] MVP and Non-goals are project facts; no `{{...}}` placeholders remain.
63
- - [ ] Decision priorities guide tradeoffs, not generic platitudes.
64
- - [ ] Every acceptance criterion is verifiable by test, command, or manual step.
65
- - [ ] If implementation diverges from the PRD, update this file before changing code.
1
+ # PRD: {{projectName}}
2
+
3
+ > **Audience**: AI + future you. Not for PM approval — for implementation and review.
4
+ > **Principle**: One page max. Use checkboxes, not prose. Negative definitions > positive definitions.
5
+ >
6
+ > Philosophy source: Miqdad Jaffer (OpenAI)'s lean PRD template for the AI era.
7
+
8
+ ---
9
+
10
+ ## 1. Why
11
+
12
+ {{WHY_THIS_PROJECT_EXISTS}}
13
+
14
+ ## 2. MVP Scope
15
+
16
+ ### v0.1 Must Be Able To
17
+
18
+ > Each item below should have a task capsule created from `Harness/tasks/_template/` with its own `PROGRESS.md` and `PLAN.md`.
19
+
20
+ - [ ] {{MUST_1}}
21
+ - [ ] {{MUST_2}}
22
+ - [ ] {{MUST_3}}
23
+
24
+ ### Explicitly Out of Scope
25
+
26
+ - {{NON_GOAL_1}}
27
+ - {{NON_GOAL_2}}
28
+ - {{NON_GOAL_3}}
29
+
30
+ ## 3. Decision Priorities
31
+
32
+ 1. **Security Boundary** — No bypassing permissions, security gates, or audit.
33
+ 2. **Architecture Boundary** — Domain must not depend on harness/infrastructure/interfaces, and harness must not make domain judgments.
34
+ 3. **Verifiability** — New behavior must have tests or explicit manual verification records.
35
+ 4. **Correctness** — Behavior must match design docs, port contracts, data flows, and state machines.
36
+ 5. **Simplicity** — Minimum code to solve the current MVP. No abstractions pre-built for future scenarios.
37
+
38
+ ## 4. Users & Usage Scenarios
39
+
40
+ | User Role | Core Scenario | Frequency | Pain Point |
41
+ | --- | --- | --- | --- |
42
+ | {{USER_ROLE_1}} | {{SCENARIO}} | {{FREQUENCY}} | {{PAIN}} |
43
+ | {{USER_ROLE_2}} | {{SCENARIO}} | {{FREQUENCY}} | {{PAIN}} |
44
+
45
+ ## 5. Acceptance Criteria
46
+
47
+ - [ ] {{ACCEPTANCE_1}}
48
+ - [ ] {{ACCEPTANCE_2}}
49
+ - [ ] {{ACCEPTANCE_3}}
50
+
51
+ ## 6. Non-Functional Requirements
52
+
53
+ | Dimension | Target | Measurement |
54
+ | --- | --- | --- |
55
+ | {{DIMENSION_1}} | {{TARGET}} | {{MEASUREMENT}} |
56
+ | {{DIMENSION_2}} | {{TARGET}} | {{MEASUREMENT}} |
57
+
58
+ ---
59
+
60
+ ## Fill Completion Standard
61
+
62
+ - [ ] MVP and Non-goals are project facts; no `{{...}}` placeholders remain.
63
+ - [ ] Decision priorities guide tradeoffs, not generic platitudes.
64
+ - [ ] Every acceptance criterion is verifiable by test, command, or manual step.
65
+ - [ ] If implementation diverges from the PRD, update this file before changing code.