valent-pipeline 0.2.20 → 0.2.21

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 (110) hide show
  1. package/README.md +438 -0
  2. package/package.json +1 -1
  3. package/pipeline/agents-manifest.yaml +61 -1
  4. package/pipeline/docs/agent-reference.md +82 -23
  5. package/pipeline/docs/design/refactor-checklist.md +111 -0
  6. package/pipeline/docs/index.md +60 -0
  7. package/pipeline/docs/pipeline-overview.md +4 -0
  8. package/pipeline/prompts/bend.md +5 -11
  9. package/pipeline/prompts/critic.md +9 -0
  10. package/pipeline/prompts/data.md +59 -0
  11. package/pipeline/prompts/docgen.md +61 -0
  12. package/pipeline/prompts/fend.md +3 -10
  13. package/pipeline/prompts/iac.md +70 -0
  14. package/pipeline/prompts/lead.md +81 -3
  15. package/pipeline/prompts/libdev.md +61 -0
  16. package/pipeline/prompts/mcp-dev.md +59 -0
  17. package/pipeline/prompts/mobile.md +92 -0
  18. package/pipeline/prompts/qa-a.md +1 -1
  19. package/pipeline/prompts/qa-b.md +1 -1
  20. package/pipeline/prompts/reqs.md +5 -1
  21. package/pipeline/scripts/db-bootstrap.ts +1 -1
  22. package/pipeline/scripts/embed-sqlite.ts +5 -0
  23. package/pipeline/steps/common/quality-standards.md +19 -0
  24. package/pipeline/steps/critic/data-pipeline.md +28 -0
  25. package/pipeline/steps/critic/document-generation.md +21 -0
  26. package/pipeline/steps/critic/iac.md +29 -0
  27. package/pipeline/steps/critic/library.md +24 -0
  28. package/pipeline/steps/critic/mcp-server.md +24 -0
  29. package/pipeline/steps/critic/mobile-app.md +29 -0
  30. package/pipeline/steps/data/estimate.md +51 -0
  31. package/pipeline/steps/data/handoff.md +9 -0
  32. package/pipeline/steps/data/implement.md +16 -0
  33. package/pipeline/steps/data/read-inputs.md +13 -0
  34. package/pipeline/steps/data/write-tests.md +13 -0
  35. package/pipeline/steps/docgen/estimate.md +49 -0
  36. package/pipeline/steps/docgen/handoff.md +9 -0
  37. package/pipeline/steps/docgen/implement.md +19 -0
  38. package/pipeline/steps/docgen/read-inputs.md +13 -0
  39. package/pipeline/steps/docgen/write-tests.md +15 -0
  40. package/pipeline/steps/iac/estimate.md +50 -0
  41. package/pipeline/steps/iac/handoff.md +9 -0
  42. package/pipeline/steps/iac/implement.md +19 -0
  43. package/pipeline/steps/iac/read-inputs.md +13 -0
  44. package/pipeline/steps/iac/write-tests.md +20 -0
  45. package/pipeline/steps/judge/ship-decision.md +14 -1
  46. package/pipeline/steps/libdev/estimate.md +49 -0
  47. package/pipeline/steps/libdev/handoff.md +9 -0
  48. package/pipeline/steps/libdev/implement.md +19 -0
  49. package/pipeline/steps/libdev/read-inputs.md +13 -0
  50. package/pipeline/steps/libdev/write-tests.md +16 -0
  51. package/pipeline/steps/mcp-dev/estimate.md +49 -0
  52. package/pipeline/steps/mcp-dev/handoff.md +9 -0
  53. package/pipeline/steps/mcp-dev/implement.md +29 -0
  54. package/pipeline/steps/mcp-dev/read-inputs.md +13 -0
  55. package/pipeline/steps/mcp-dev/write-tests.md +19 -0
  56. package/pipeline/steps/mobile/emulator-lifecycle.md +67 -0
  57. package/pipeline/steps/mobile/estimate.md +51 -0
  58. package/pipeline/steps/mobile/flutter.md +30 -0
  59. package/pipeline/steps/mobile/handoff.md +18 -0
  60. package/pipeline/steps/mobile/implement.md +20 -0
  61. package/pipeline/steps/mobile/react-native.md +32 -0
  62. package/pipeline/steps/mobile/read-inputs.md +10 -0
  63. package/pipeline/steps/mobile/write-tests.md +59 -0
  64. package/pipeline/steps/orchestration/adopt-lead-and-create-team.md +1 -1
  65. package/pipeline/steps/orchestration/sprint-groom.md +4 -0
  66. package/pipeline/steps/orchestration/sprint-size.md +19 -12
  67. package/pipeline/steps/orchestration/validate-story-inputs.md +9 -0
  68. package/pipeline/steps/qa-a/data-pipeline.md +32 -0
  69. package/pipeline/steps/qa-a/document-generation.md +52 -0
  70. package/pipeline/steps/qa-a/iac.md +30 -0
  71. package/pipeline/steps/qa-a/library.md +42 -0
  72. package/pipeline/steps/qa-a/mcp-server.md +31 -0
  73. package/pipeline/steps/qa-a/mobile-app.md +59 -0
  74. package/pipeline/steps/qa-b/data-pipeline.md +48 -0
  75. package/pipeline/steps/qa-b/document-generation.md +47 -0
  76. package/pipeline/steps/qa-b/iac.md +44 -0
  77. package/pipeline/steps/qa-b/library.md +61 -0
  78. package/pipeline/steps/qa-b/mcp-server.md +40 -0
  79. package/pipeline/steps/qa-b/mobile-app.md +71 -0
  80. package/pipeline/steps/readiness/standalone-review.md +7 -2
  81. package/pipeline/steps/reqs/data-pipeline.md +56 -0
  82. package/pipeline/steps/reqs/document-generation.md +55 -0
  83. package/pipeline/steps/reqs/draft-brief.md +10 -0
  84. package/pipeline/steps/reqs/iac.md +63 -0
  85. package/pipeline/steps/reqs/library.md +56 -0
  86. package/pipeline/steps/reqs/mcp-server.md +48 -0
  87. package/pipeline/steps/reqs/mobile-app.md +54 -0
  88. package/pipeline/steps/reqs/self-review.md +5 -3
  89. package/pipeline/task-graphs/backend-api.yaml +19 -2
  90. package/pipeline/task-graphs/data-pipeline.yaml +29 -12
  91. package/pipeline/task-graphs/document-generation.yaml +29 -12
  92. package/pipeline/task-graphs/frontend-only.yaml +19 -2
  93. package/pipeline/task-graphs/fullstack-web.yaml +19 -2
  94. package/pipeline/task-graphs/library.yaml +29 -12
  95. package/pipeline/task-graphs/mcp-server.yaml +29 -12
  96. package/pipeline/task-graphs/mobile-app.yaml +171 -0
  97. package/pipeline/templates/bugs.template.md +1 -1
  98. package/pipeline/templates/critic-review.template.md +1 -1
  99. package/pipeline/templates/data-handoff.template.md +96 -0
  100. package/pipeline/templates/docgen-handoff.template.md +83 -0
  101. package/pipeline/templates/iac-handoff.template.md +83 -0
  102. package/pipeline/templates/judge-decision.template.md +11 -1
  103. package/pipeline/templates/libdev-handoff.template.md +82 -0
  104. package/pipeline/templates/mcp-dev-handoff.template.md +87 -0
  105. package/pipeline/templates/mobile-handoff.template.md +122 -0
  106. package/pipeline/templates/reqs-brief.template.md +60 -4
  107. package/skills/valent-run-deferred-tests/SKILL.md +109 -0
  108. package/src/commands/db-rebuild.js +5 -0
  109. package/src/lib/config-schema.js +1 -1
  110. package/src/lib/db.js +1 -1
@@ -30,19 +30,27 @@ tasks:
30
30
  activeForm: "READINESS reviewing pre-dev artifacts"
31
31
  blockedBy: [qa_a]
32
32
 
33
- - ref: bend
34
- agent: BEND
35
- subject: "BEND: Implement data pipeline production code and tests"
36
- description: "Read reqs-brief.md and qa-test-spec.md, implement data pipeline, produce bend-handoff.md."
37
- activeForm: "BEND implementing data pipeline"
33
+ - ref: data
34
+ agent: DATA
35
+ subject: "DATA: Implement data pipeline production code and tests"
36
+ description: "Read reqs-brief.md and qa-test-spec.md, implement data pipeline, produce data-handoff.md."
37
+ activeForm: "DATA implementing data pipeline"
38
38
  blockedBy: [readiness]
39
39
 
40
+ - ref: iac
41
+ agent: IAC
42
+ subject: "IAC: Implement infrastructure definitions and tests"
43
+ description: "Read reqs-brief.md and qa-test-spec.md, implement infrastructure code, produce iac-handoff.md."
44
+ activeForm: "IAC implementing infrastructure"
45
+ blockedBy: [readiness]
46
+ conditional: "testing_profiles includes iac"
47
+
40
48
  - ref: critic
41
49
  agent: CRITIC
42
50
  subject: "CRITIC: Adversarial code review"
43
51
  description: "Read git-diff, reqs-brief.md, qa-test-spec.md. Run blind-hunt, edge-case-hunt, acceptance-audit, triage passes. Produce critic-review.md."
44
52
  activeForm: "CRITIC reviewing code"
45
- blockedBy: [bend]
53
+ blockedBy: [data, iac]
46
54
 
47
55
  - ref: qa_b
48
56
  agent: QA-B
@@ -89,25 +97,34 @@ agents:
89
97
  wave: 1
90
98
  prompt: .valent-pipeline/prompts/readiness.md
91
99
  trigger: "Wait for [HANDOFF] from QA-A. Begin when task is unblocked."
92
- completion: "Send [READINESS-APPROVAL] to BEND, or [READINESS-REJECTION] to responsible agent. Mark task completed on approval."
100
+ completion: "Send [READINESS-APPROVAL] to DATA, or [READINESS-REJECTION] to responsible agent. Mark task completed on approval."
93
101
  cd_targets: [readiness]
94
102
 
95
103
  # Wave 2: Spawn when QA-A completes (spin up while READINESS reviews)
96
- - name: BEND
97
- ref: bend
104
+ - name: DATA
105
+ ref: data
106
+ wave: 2
107
+ spawn_trigger: "qa_a completed"
108
+ prompt: .valent-pipeline/prompts/data.md
109
+ trigger: "Begin immediately — you were spawned because QA-A completed. Wait for READINESS approval before starting implementation."
110
+ completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
111
+ cd_targets: [data]
112
+
113
+ - name: IAC
114
+ ref: iac
98
115
  wave: 2
99
116
  spawn_trigger: "qa_a completed"
100
- prompt: .valent-pipeline/prompts/bend.md
117
+ prompt: .valent-pipeline/prompts/iac.md
101
118
  trigger: "Begin immediately — you were spawned because QA-A completed. Wait for READINESS approval before starting implementation."
102
119
  completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
103
- cd_targets: [bend]
120
+ cd_targets: [iac]
104
121
 
105
122
  - name: CRITIC
106
123
  ref: critic
107
124
  wave: 2
108
125
  spawn_trigger: "qa_a completed"
109
126
  prompt: .valent-pipeline/prompts/critic.md
110
- trigger: "Begin immediately — you were spawned because QA-A completed. Wait for [HANDOFF] from BEND before starting review."
127
+ trigger: "Begin immediately — you were spawned because QA-A completed. Wait for [HANDOFF] from all active dev agents before starting review."
111
128
  completion: "Send [HANDOFF] to Lead and QA-B. Mark task completed."
112
129
  cd_targets: [critic]
113
130
 
@@ -30,19 +30,27 @@ tasks:
30
30
  activeForm: "READINESS reviewing pre-dev artifacts"
31
31
  blockedBy: [qa_a]
32
32
 
33
- - ref: bend
34
- agent: BEND
35
- subject: "BEND: Implement template and content pipeline production code and tests"
36
- description: "Read reqs-brief.md and qa-test-spec.md, implement document generation templates and content pipeline, produce bend-handoff.md."
37
- activeForm: "BEND implementing document generation"
33
+ - ref: docgen
34
+ agent: DOCGEN
35
+ subject: "DOCGEN: Implement template and content pipeline production code and tests"
36
+ description: "Read reqs-brief.md and qa-test-spec.md, implement document generation templates and content pipeline, produce docgen-handoff.md."
37
+ activeForm: "DOCGEN implementing document generation"
38
38
  blockedBy: [readiness]
39
39
 
40
+ - ref: iac
41
+ agent: IAC
42
+ subject: "IAC: Implement infrastructure definitions and tests"
43
+ description: "Read reqs-brief.md and qa-test-spec.md, implement infrastructure code, produce iac-handoff.md."
44
+ activeForm: "IAC implementing infrastructure"
45
+ blockedBy: [readiness]
46
+ conditional: "testing_profiles includes iac"
47
+
40
48
  - ref: critic
41
49
  agent: CRITIC
42
50
  subject: "CRITIC: Adversarial code review"
43
51
  description: "Read git-diff, reqs-brief.md, qa-test-spec.md. Run blind-hunt, edge-case-hunt, acceptance-audit, triage passes. Produce critic-review.md."
44
52
  activeForm: "CRITIC reviewing code"
45
- blockedBy: [bend]
53
+ blockedBy: [docgen, iac]
46
54
 
47
55
  - ref: qa_b
48
56
  agent: QA-B
@@ -89,25 +97,34 @@ agents:
89
97
  wave: 1
90
98
  prompt: .valent-pipeline/prompts/readiness.md
91
99
  trigger: "Wait for [HANDOFF] from QA-A. Begin when task is unblocked."
92
- completion: "Send [READINESS-APPROVAL] to BEND, or [READINESS-REJECTION] to responsible agent. Mark task completed on approval."
100
+ completion: "Send [READINESS-APPROVAL] to DOCGEN, or [READINESS-REJECTION] to responsible agent. Mark task completed on approval."
93
101
  cd_targets: [readiness]
94
102
 
95
103
  # Wave 2: Spawn when QA-A completes (spin up while READINESS reviews)
96
- - name: BEND
97
- ref: bend
104
+ - name: DOCGEN
105
+ ref: docgen
106
+ wave: 2
107
+ spawn_trigger: "qa_a completed"
108
+ prompt: .valent-pipeline/prompts/docgen.md
109
+ trigger: "Begin immediately — you were spawned because QA-A completed. Wait for READINESS approval before starting implementation."
110
+ completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
111
+ cd_targets: [docgen]
112
+
113
+ - name: IAC
114
+ ref: iac
98
115
  wave: 2
99
116
  spawn_trigger: "qa_a completed"
100
- prompt: .valent-pipeline/prompts/bend.md
117
+ prompt: .valent-pipeline/prompts/iac.md
101
118
  trigger: "Begin immediately — you were spawned because QA-A completed. Wait for READINESS approval before starting implementation."
102
119
  completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
103
- cd_targets: [bend]
120
+ cd_targets: [iac]
104
121
 
105
122
  - name: CRITIC
106
123
  ref: critic
107
124
  wave: 2
108
125
  spawn_trigger: "qa_a completed"
109
126
  prompt: .valent-pipeline/prompts/critic.md
110
- trigger: "Begin immediately — you were spawned because QA-A completed. Wait for [HANDOFF] from BEND before starting review."
127
+ trigger: "Begin immediately — you were spawned because QA-A completed. Wait for [HANDOFF] from all active dev agents before starting review."
111
128
  completion: "Send [HANDOFF] to Lead and QA-B. Mark task completed."
112
129
  cd_targets: [critic]
113
130
 
@@ -51,12 +51,20 @@ tasks:
51
51
  activeForm: "FEND implementing frontend"
52
52
  blockedBy: [readiness]
53
53
 
54
+ - ref: iac
55
+ agent: IAC
56
+ subject: "IAC: Implement infrastructure definitions and tests"
57
+ description: "Read reqs-brief.md and qa-test-spec.md, implement infrastructure code, produce iac-handoff.md."
58
+ activeForm: "IAC implementing infrastructure"
59
+ blockedBy: [readiness]
60
+ conditional: "testing_profiles includes iac"
61
+
54
62
  - ref: critic
55
63
  agent: CRITIC
56
64
  subject: "CRITIC: Adversarial code review"
57
65
  description: "Read git-diff, reqs-brief.md, qa-test-spec.md. Run blind-hunt, edge-case-hunt, acceptance-audit, triage passes. Produce critic-review.md."
58
66
  activeForm: "CRITIC reviewing code"
59
- blockedBy: [fend]
67
+ blockedBy: [fend, iac]
60
68
 
61
69
  - ref: qa_b
62
70
  agent: QA-B
@@ -132,12 +140,21 @@ agents:
132
140
  completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
133
141
  cd_targets: [fend]
134
142
 
143
+ - name: IAC
144
+ ref: iac
145
+ wave: 2
146
+ spawn_trigger: "qa_a completed"
147
+ prompt: .valent-pipeline/prompts/iac.md
148
+ trigger: "Begin immediately — you were spawned because QA-A completed. Wait for READINESS approval before starting implementation."
149
+ completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
150
+ cd_targets: [iac]
151
+
135
152
  - name: CRITIC
136
153
  ref: critic
137
154
  wave: 2
138
155
  spawn_trigger: "qa_a completed"
139
156
  prompt: .valent-pipeline/prompts/critic.md
140
- trigger: "Begin immediately — you were spawned because QA-A completed. Wait for [HANDOFF] from FEND before starting review."
157
+ trigger: "Begin immediately — you were spawned because QA-A completed. Wait for [HANDOFF] from all active dev agents before starting review."
141
158
  completion: "Send [HANDOFF] to Lead and QA-B. Mark task completed."
142
159
  cd_targets: [critic]
143
160
 
@@ -59,12 +59,20 @@ tasks:
59
59
  blockedBy: [readiness]
60
60
  skip_when: "testing_profiles excludes ui"
61
61
 
62
+ - ref: iac
63
+ agent: IAC
64
+ subject: "IAC: Implement infrastructure definitions and tests"
65
+ description: "Read reqs-brief.md and qa-test-spec.md, implement infrastructure code, produce iac-handoff.md."
66
+ activeForm: "IAC implementing infrastructure"
67
+ blockedBy: [readiness]
68
+ conditional: "testing_profiles includes iac"
69
+
62
70
  - ref: critic
63
71
  agent: CRITIC
64
72
  subject: "CRITIC: Adversarial code review"
65
73
  description: "Read git-diff, reqs-brief.md, qa-test-spec.md. Run blind-hunt, edge-case-hunt, acceptance-audit, triage passes. Produce critic-review.md."
66
74
  activeForm: "CRITIC reviewing code"
67
- blockedBy: [bend, fend]
75
+ blockedBy: [bend, fend, iac]
68
76
 
69
77
  - ref: qa_b
70
78
  agent: QA-B
@@ -149,12 +157,21 @@ agents:
149
157
  completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
150
158
  cd_targets: [fend]
151
159
 
160
+ - name: IAC
161
+ ref: iac
162
+ wave: 2
163
+ spawn_trigger: "qa_a completed"
164
+ prompt: .valent-pipeline/prompts/iac.md
165
+ trigger: "Begin immediately — you were spawned because QA-A completed. Wait for READINESS approval before starting implementation."
166
+ completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
167
+ cd_targets: [iac]
168
+
152
169
  - name: CRITIC
153
170
  ref: critic
154
171
  wave: 2
155
172
  spawn_trigger: "qa_a completed"
156
173
  prompt: .valent-pipeline/prompts/critic.md
157
- trigger: "Begin immediately — you were spawned because QA-A completed. Wait for [HANDOFF] from both BEND and FEND before starting review."
174
+ trigger: "Begin immediately — you were spawned because QA-A completed. Wait for [HANDOFF] from all active dev agents before starting review."
158
175
  completion: "Send [HANDOFF] to Lead and QA-B. Mark task completed."
159
176
  cd_targets: [critic]
160
177
 
@@ -30,19 +30,27 @@ tasks:
30
30
  activeForm: "READINESS reviewing pre-dev artifacts"
31
31
  blockedBy: [qa_a]
32
32
 
33
- - ref: bend
34
- agent: BEND
35
- subject: "BEND: Implement public API and module production code and tests"
36
- description: "Read reqs-brief.md and qa-test-spec.md, implement library public API and module, produce bend-handoff.md."
37
- activeForm: "BEND implementing library"
33
+ - ref: libdev
34
+ agent: LIBDEV
35
+ subject: "LIBDEV: Implement public API and module production code and tests"
36
+ description: "Read reqs-brief.md and qa-test-spec.md, implement library public API and module, produce libdev-handoff.md."
37
+ activeForm: "LIBDEV implementing library"
38
38
  blockedBy: [readiness]
39
39
 
40
+ - ref: iac
41
+ agent: IAC
42
+ subject: "IAC: Implement infrastructure definitions and tests"
43
+ description: "Read reqs-brief.md and qa-test-spec.md, implement infrastructure code, produce iac-handoff.md."
44
+ activeForm: "IAC implementing infrastructure"
45
+ blockedBy: [readiness]
46
+ conditional: "testing_profiles includes iac"
47
+
40
48
  - ref: critic
41
49
  agent: CRITIC
42
50
  subject: "CRITIC: Adversarial code review"
43
51
  description: "Read git-diff, reqs-brief.md, qa-test-spec.md. Run blind-hunt, edge-case-hunt, acceptance-audit, triage passes. Produce critic-review.md."
44
52
  activeForm: "CRITIC reviewing code"
45
- blockedBy: [bend]
53
+ blockedBy: [libdev, iac]
46
54
 
47
55
  - ref: qa_b
48
56
  agent: QA-B
@@ -89,25 +97,34 @@ agents:
89
97
  wave: 1
90
98
  prompt: .valent-pipeline/prompts/readiness.md
91
99
  trigger: "Wait for [HANDOFF] from QA-A. Begin when task is unblocked."
92
- completion: "Send [READINESS-APPROVAL] to BEND, or [READINESS-REJECTION] to responsible agent. Mark task completed on approval."
100
+ completion: "Send [READINESS-APPROVAL] to LIBDEV, or [READINESS-REJECTION] to responsible agent. Mark task completed on approval."
93
101
  cd_targets: [readiness]
94
102
 
95
103
  # Wave 2: Spawn when QA-A completes (spin up while READINESS reviews)
96
- - name: BEND
97
- ref: bend
104
+ - name: LIBDEV
105
+ ref: libdev
106
+ wave: 2
107
+ spawn_trigger: "qa_a completed"
108
+ prompt: .valent-pipeline/prompts/libdev.md
109
+ trigger: "Begin immediately — you were spawned because QA-A completed. Wait for READINESS approval before starting implementation."
110
+ completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
111
+ cd_targets: [libdev]
112
+
113
+ - name: IAC
114
+ ref: iac
98
115
  wave: 2
99
116
  spawn_trigger: "qa_a completed"
100
- prompt: .valent-pipeline/prompts/bend.md
117
+ prompt: .valent-pipeline/prompts/iac.md
101
118
  trigger: "Begin immediately — you were spawned because QA-A completed. Wait for READINESS approval before starting implementation."
102
119
  completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
103
- cd_targets: [bend]
120
+ cd_targets: [iac]
104
121
 
105
122
  - name: CRITIC
106
123
  ref: critic
107
124
  wave: 2
108
125
  spawn_trigger: "qa_a completed"
109
126
  prompt: .valent-pipeline/prompts/critic.md
110
- trigger: "Begin immediately — you were spawned because QA-A completed. Wait for [HANDOFF] from BEND before starting review."
127
+ trigger: "Begin immediately — you were spawned because QA-A completed. Wait for [HANDOFF] from all active dev agents before starting review."
111
128
  completion: "Send [HANDOFF] to Lead and QA-B. Mark task completed."
112
129
  cd_targets: [critic]
113
130
 
@@ -30,19 +30,27 @@ tasks:
30
30
  activeForm: "READINESS reviewing pre-dev artifacts"
31
31
  blockedBy: [qa_a]
32
32
 
33
- - ref: bend
34
- agent: BEND
35
- subject: "BEND: Implement MCP tool production code and tests"
36
- description: "Read reqs-brief.md and qa-test-spec.md, implement MCP server tools and handlers, produce bend-handoff.md."
37
- activeForm: "BEND implementing MCP server"
33
+ - ref: mcp_dev
34
+ agent: MCP-DEV
35
+ subject: "MCP-DEV: Implement MCP tool production code and tests"
36
+ description: "Read reqs-brief.md and qa-test-spec.md, implement MCP server tools and handlers, produce mcp-dev-handoff.md."
37
+ activeForm: "MCP-DEV implementing MCP server"
38
38
  blockedBy: [readiness]
39
39
 
40
+ - ref: iac
41
+ agent: IAC
42
+ subject: "IAC: Implement infrastructure definitions and tests"
43
+ description: "Read reqs-brief.md and qa-test-spec.md, implement infrastructure code, produce iac-handoff.md."
44
+ activeForm: "IAC implementing infrastructure"
45
+ blockedBy: [readiness]
46
+ conditional: "testing_profiles includes iac"
47
+
40
48
  - ref: critic
41
49
  agent: CRITIC
42
50
  subject: "CRITIC: Adversarial code review"
43
51
  description: "Read git-diff, reqs-brief.md, qa-test-spec.md. Run blind-hunt, edge-case-hunt, acceptance-audit, triage passes. Produce critic-review.md."
44
52
  activeForm: "CRITIC reviewing code"
45
- blockedBy: [bend]
53
+ blockedBy: [mcp_dev, iac]
46
54
 
47
55
  - ref: qa_b
48
56
  agent: QA-B
@@ -89,25 +97,34 @@ agents:
89
97
  wave: 1
90
98
  prompt: .valent-pipeline/prompts/readiness.md
91
99
  trigger: "Wait for [HANDOFF] from QA-A. Begin when task is unblocked."
92
- completion: "Send [READINESS-APPROVAL] to BEND, or [READINESS-REJECTION] to responsible agent. Mark task completed on approval."
100
+ completion: "Send [READINESS-APPROVAL] to MCP-DEV, or [READINESS-REJECTION] to responsible agent. Mark task completed on approval."
93
101
  cd_targets: [readiness]
94
102
 
95
103
  # Wave 2: Spawn when QA-A completes (spin up while READINESS reviews)
96
- - name: BEND
97
- ref: bend
104
+ - name: MCP-DEV
105
+ ref: mcp_dev
106
+ wave: 2
107
+ spawn_trigger: "qa_a completed"
108
+ prompt: .valent-pipeline/prompts/mcp-dev.md
109
+ trigger: "Begin immediately — you were spawned because QA-A completed. Wait for READINESS approval before starting implementation."
110
+ completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
111
+ cd_targets: [mcp-dev]
112
+
113
+ - name: IAC
114
+ ref: iac
98
115
  wave: 2
99
116
  spawn_trigger: "qa_a completed"
100
- prompt: .valent-pipeline/prompts/bend.md
117
+ prompt: .valent-pipeline/prompts/iac.md
101
118
  trigger: "Begin immediately — you were spawned because QA-A completed. Wait for READINESS approval before starting implementation."
102
119
  completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
103
- cd_targets: [bend]
120
+ cd_targets: [iac]
104
121
 
105
122
  - name: CRITIC
106
123
  ref: critic
107
124
  wave: 2
108
125
  spawn_trigger: "qa_a completed"
109
126
  prompt: .valent-pipeline/prompts/critic.md
110
- trigger: "Begin immediately — you were spawned because QA-A completed. Wait for [HANDOFF] from BEND before starting review."
127
+ trigger: "Begin immediately — you were spawned because QA-A completed. Wait for [HANDOFF] from all active dev agents before starting review."
111
128
  completion: "Send [HANDOFF] to Lead and QA-B. Mark task completed."
112
129
  cd_targets: [critic]
113
130
 
@@ -0,0 +1,171 @@
1
+ # Task graph template for mobile-app projects
2
+ # Read by the Lead at kick-off to create tasks and wire dependencies.
3
+ #
4
+ # Variables resolved at runtime:
5
+ # {{story_id}} — current story identifier
6
+ # {{story_output_dir}} — resolved story output directory
7
+ # {{degraded_note}} — note about degraded inputs (UXA only)
8
+ #
9
+ # Conditional tasks:
10
+ # Tasks with `conditional` are only created when the condition is met.
11
+ # Tasks with `skip_when` are removed when the condition IS met.
12
+ # When a conditional/skipped task is removed, the Lead removes its ref from
13
+ # other tasks' blockedBy lists.
14
+
15
+ project_type: "mobile-app"
16
+
17
+ tasks:
18
+ - ref: reqs
19
+ agent: REQS
20
+ subject: "REQS: Analyze story and produce implementation brief"
21
+ description: "Read {{story_id}} story inputs, translate ACs into structured implementation brief (reqs-brief.md)."
22
+ activeForm: "REQS analyzing requirements"
23
+ blockedBy: []
24
+
25
+ - ref: uxa
26
+ agent: UXA
27
+ subject: "UXA: Translate requirements into screen/component specs"
28
+ description: "Read reqs-brief.md, produce uxa-spec.md with mobile screen and component specifications. {{degraded_note}}"
29
+ activeForm: "UXA writing component specs"
30
+ blockedBy: [reqs]
31
+ skip_when: "testing_profiles excludes ui"
32
+
33
+ - ref: qa_a
34
+ agent: QA-A
35
+ subject: "QA-A: Produce behavioral test specifications and Maestro flow specs"
36
+ description: "Read reqs-brief.md and uxa-spec.md, produce qa-test-spec.md with Maestro flow specifications."
37
+ activeForm: "QA-A writing test specifications"
38
+ blockedBy: [uxa]
39
+
40
+ - ref: readiness
41
+ agent: READINESS
42
+ subject: "READINESS: Validate specs are implementation-ready"
43
+ description: "Review reqs-brief.md, uxa-spec.md, qa-test-spec.md sequentially. Reject first failure or approve all. Route rejections to responsible agent."
44
+ activeForm: "READINESS reviewing pre-dev artifacts"
45
+ blockedBy: [qa_a]
46
+
47
+ - ref: bend
48
+ agent: BEND
49
+ subject: "BEND: Implement backend production code and tests"
50
+ description: "Read reqs-brief.md and qa-test-spec.md, implement backend, produce bend-handoff.md."
51
+ activeForm: "BEND implementing backend"
52
+ blockedBy: [readiness]
53
+ conditional: "testing_profiles includes api"
54
+
55
+ - ref: mobile
56
+ agent: MOBILE
57
+ subject: "MOBILE: Implement mobile screens, components, and Maestro flows"
58
+ description: "Read reqs-brief.md, uxa-spec.md, qa-test-spec.md, implement mobile app, run Maestro flows, produce mobile-handoff.md."
59
+ activeForm: "MOBILE implementing mobile app"
60
+ blockedBy: [readiness]
61
+
62
+ - ref: critic
63
+ agent: CRITIC
64
+ subject: "CRITIC: Adversarial code review"
65
+ description: "Read git-diff, reqs-brief.md, qa-test-spec.md. Run blind-hunt, edge-case-hunt, acceptance-audit, triage passes. Produce critic-review.md."
66
+ activeForm: "CRITIC reviewing code"
67
+ blockedBy: [bend, mobile]
68
+
69
+ - ref: qa_b
70
+ agent: QA-B
71
+ subject: "QA-B: Execute tests and file bugs"
72
+ description: "Read qa-test-spec.md, critic-review.md, reqs-brief.md. Run tests, produce execution-report.md, bugs.md, traceability-matrix.md."
73
+ activeForm: "QA-B executing tests"
74
+ blockedBy: [critic]
75
+
76
+ - ref: judge
77
+ agent: JUDGE
78
+ subject: "JUDGE: Bug review and ship decision"
79
+ description: "Review bugs.md for priority accuracy, then review execution-report.md, traceability-matrix.md, qa-test-spec.md. Approve (SHIP/SHIP-PARTIAL) or reject (REJECT)."
80
+ activeForm: "JUDGE reviewing evidence and making ship decision"
81
+ blockedBy: [qa_b]
82
+
83
+ agents:
84
+ - name: Knowledge
85
+ ref: knowledge
86
+ wave: 1
87
+ prompt: .valent-pipeline/prompts/knowledge.md
88
+ trigger: "Begin startup immediately. No upstream dependency."
89
+ completion: "Send ready message to Lead. Then wait for [KNOWLEDGE-QUERY] messages."
90
+ cd_targets: []
91
+
92
+ # Wave 1: Spawn at kick-off (spec agents + first gate)
93
+ - name: REQS
94
+ ref: reqs
95
+ wave: 1
96
+ prompt: .valent-pipeline/prompts/reqs.md
97
+ trigger: "Begin immediately — no upstream dependency."
98
+ completion: "Send [HANDOFF] to Lead and UXA. Mark task completed."
99
+ cd_targets: [reqs]
100
+
101
+ - name: UXA
102
+ ref: uxa
103
+ wave: 1
104
+ prompt: .valent-pipeline/prompts/uxa.md
105
+ trigger: "Wait for [HANDOFF] from REQS. Begin when task is unblocked."
106
+ completion: "Send [HANDOFF] to Lead and QA-A. Mark task completed."
107
+ cd_targets: [uxa]
108
+
109
+ - name: QA-A
110
+ ref: qa_a
111
+ wave: 1
112
+ prompt: .valent-pipeline/prompts/qa-a.md
113
+ trigger: "Wait for [HANDOFF] from UXA. Begin when task is unblocked."
114
+ completion: "Send [HANDOFF] to Lead and READINESS. Mark task completed."
115
+ cd_targets: [qa-a]
116
+
117
+ - name: READINESS
118
+ ref: readiness
119
+ wave: 1
120
+ prompt: .valent-pipeline/prompts/readiness.md
121
+ trigger: "Wait for [HANDOFF] from QA-A. Begin when task is unblocked."
122
+ completion: "Send [READINESS-APPROVAL] to BEND and MOBILE, or [READINESS-REJECTION] to responsible agent. Mark task completed on approval."
123
+ cd_targets: [readiness]
124
+
125
+ # Wave 2: Spawn when QA-A completes (spin up while READINESS reviews)
126
+ - name: BEND
127
+ ref: bend
128
+ wave: 2
129
+ spawn_trigger: "qa_a completed"
130
+ prompt: .valent-pipeline/prompts/bend.md
131
+ trigger: "Begin immediately — you were spawned because QA-A completed. Wait for READINESS approval before starting implementation."
132
+ completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
133
+ cd_targets: [bend]
134
+
135
+ - name: MOBILE
136
+ ref: mobile
137
+ wave: 2
138
+ spawn_trigger: "qa_a completed"
139
+ prompt: .valent-pipeline/prompts/mobile.md
140
+ trigger: "Begin immediately — you were spawned because QA-A completed. Wait for READINESS approval before starting implementation. Coordinate with BEND on shared files if BEND is active."
141
+ completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
142
+ cd_targets: [mobile]
143
+
144
+ - name: CRITIC
145
+ ref: critic
146
+ wave: 2
147
+ spawn_trigger: "qa_a completed"
148
+ prompt: .valent-pipeline/prompts/critic.md
149
+ trigger: "Begin immediately — you were spawned because QA-A completed. Wait for [HANDOFF] from all active dev agents before starting review."
150
+ completion: "Send [HANDOFF] to Lead and QA-B. Mark task completed."
151
+ cd_targets: [critic]
152
+
153
+ # Wave 3: Spawn when CRITIC starts (spin up while CRITIC reviews)
154
+ - name: QA-B
155
+ ref: qa_b
156
+ wave: 3
157
+ spawn_trigger: "critic in_progress"
158
+ prompt: .valent-pipeline/prompts/qa-b.md
159
+ trigger: "Begin immediately — you were spawned because CRITIC started reviewing. Wait for CRITIC to complete before executing tests."
160
+ completion: "Send [HANDOFF] to Lead and JUDGE. Mark task completed."
161
+ cd_targets: [qa-b, judge]
162
+
163
+ # Wave 3: Also spawn JUDGE when CRITIC starts (alongside QA-B)
164
+ - name: JUDGE
165
+ ref: judge
166
+ wave: 3
167
+ spawn_trigger: "critic in_progress"
168
+ prompt: .valent-pipeline/prompts/judge.md
169
+ trigger: "Begin immediately — you were spawned because CRITIC started reviewing. Wait for QA-B to complete before starting bug review."
170
+ completion: "Send [JUDGE-SHIP], [JUDGE-SHIP-PARTIAL], or [JUDGE-REJECT] to Lead. Mark task completed."
171
+ cd_targets: [judge]
@@ -1,5 +1,5 @@
1
1
  # bugs
2
- <!-- Template version: 1.0 | Used by: QA-B | Read by: BEND, FEND, JUDGE (Pass 2) -->
2
+ <!-- Template version: 1.0 | Used by: QA-B | Read by: BEND, FEND, DATA, MCP-DEV, LIBDEV, DOCGEN, IAC, JUDGE (Pass 2) -->
3
3
 
4
4
  ---
5
5
  agent: qa-b
@@ -1,5 +1,5 @@
1
1
  # critic-review
2
- <!-- Template version: 1.0 | Used by: CRITIC | Read by: BEND, FEND, QA-B -->
2
+ <!-- Template version: 1.0 | Used by: CRITIC | Read by: BEND, FEND, DATA, MCP-DEV, LIBDEV, DOCGEN, IAC, QA-B -->
3
3
 
4
4
  ---
5
5
  agent: critic