valent-pipeline 0.2.19 → 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.
- package/README.md +438 -0
- package/package.json +1 -1
- package/pipeline/agents-manifest.yaml +61 -1
- package/pipeline/docs/agent-reference.md +82 -23
- package/pipeline/docs/design/refactor-checklist.md +111 -0
- package/pipeline/docs/index.md +60 -0
- package/pipeline/docs/lead-lifecycle.md +1 -1
- package/pipeline/docs/pipeline-overview.md +4 -0
- package/pipeline/prompts/bend.md +5 -11
- package/pipeline/prompts/critic.md +9 -0
- package/pipeline/prompts/data.md +59 -0
- package/pipeline/prompts/docgen.md +61 -0
- package/pipeline/prompts/fend.md +3 -10
- package/pipeline/prompts/iac.md +70 -0
- package/pipeline/prompts/knowledge.md +2 -0
- package/pipeline/prompts/lead.md +97 -6
- package/pipeline/prompts/libdev.md +61 -0
- package/pipeline/prompts/mcp-dev.md +59 -0
- package/pipeline/prompts/mobile.md +92 -0
- package/pipeline/prompts/qa-a.md +1 -1
- package/pipeline/prompts/qa-b.md +1 -1
- package/pipeline/prompts/reqs.md +5 -1
- package/pipeline/scripts/db-bootstrap.ts +1 -1
- package/pipeline/scripts/embed-sqlite.ts +5 -0
- package/pipeline/steps/common/quality-standards.md +19 -0
- package/pipeline/steps/critic/data-pipeline.md +28 -0
- package/pipeline/steps/critic/document-generation.md +21 -0
- package/pipeline/steps/critic/iac.md +29 -0
- package/pipeline/steps/critic/library.md +24 -0
- package/pipeline/steps/critic/mcp-server.md +24 -0
- package/pipeline/steps/critic/mobile-app.md +29 -0
- package/pipeline/steps/data/estimate.md +51 -0
- package/pipeline/steps/data/handoff.md +9 -0
- package/pipeline/steps/data/implement.md +16 -0
- package/pipeline/steps/data/read-inputs.md +13 -0
- package/pipeline/steps/data/write-tests.md +13 -0
- package/pipeline/steps/docgen/estimate.md +49 -0
- package/pipeline/steps/docgen/handoff.md +9 -0
- package/pipeline/steps/docgen/implement.md +19 -0
- package/pipeline/steps/docgen/read-inputs.md +13 -0
- package/pipeline/steps/docgen/write-tests.md +15 -0
- package/pipeline/steps/iac/estimate.md +50 -0
- package/pipeline/steps/iac/handoff.md +9 -0
- package/pipeline/steps/iac/implement.md +19 -0
- package/pipeline/steps/iac/read-inputs.md +13 -0
- package/pipeline/steps/iac/write-tests.md +20 -0
- package/pipeline/steps/judge/ship-decision.md +14 -1
- package/pipeline/steps/libdev/estimate.md +49 -0
- package/pipeline/steps/libdev/handoff.md +9 -0
- package/pipeline/steps/libdev/implement.md +19 -0
- package/pipeline/steps/libdev/read-inputs.md +13 -0
- package/pipeline/steps/libdev/write-tests.md +16 -0
- package/pipeline/steps/mcp-dev/estimate.md +49 -0
- package/pipeline/steps/mcp-dev/handoff.md +9 -0
- package/pipeline/steps/mcp-dev/implement.md +29 -0
- package/pipeline/steps/mcp-dev/read-inputs.md +13 -0
- package/pipeline/steps/mcp-dev/write-tests.md +19 -0
- package/pipeline/steps/mobile/emulator-lifecycle.md +67 -0
- package/pipeline/steps/mobile/estimate.md +51 -0
- package/pipeline/steps/mobile/flutter.md +30 -0
- package/pipeline/steps/mobile/handoff.md +18 -0
- package/pipeline/steps/mobile/implement.md +20 -0
- package/pipeline/steps/mobile/react-native.md +32 -0
- package/pipeline/steps/mobile/read-inputs.md +10 -0
- package/pipeline/steps/mobile/write-tests.md +59 -0
- package/pipeline/steps/orchestration/adopt-lead-and-create-team.md +1 -1
- package/pipeline/steps/orchestration/sprint-execute.md +3 -2
- package/pipeline/steps/orchestration/sprint-groom.md +4 -0
- package/pipeline/steps/orchestration/sprint-size.md +26 -16
- package/pipeline/steps/orchestration/validate-story-inputs.md +9 -0
- package/pipeline/steps/qa-a/data-pipeline.md +32 -0
- package/pipeline/steps/qa-a/document-generation.md +52 -0
- package/pipeline/steps/qa-a/iac.md +30 -0
- package/pipeline/steps/qa-a/library.md +42 -0
- package/pipeline/steps/qa-a/mcp-server.md +31 -0
- package/pipeline/steps/qa-a/mobile-app.md +59 -0
- package/pipeline/steps/qa-b/data-pipeline.md +48 -0
- package/pipeline/steps/qa-b/document-generation.md +47 -0
- package/pipeline/steps/qa-b/iac.md +44 -0
- package/pipeline/steps/qa-b/library.md +61 -0
- package/pipeline/steps/qa-b/mcp-server.md +40 -0
- package/pipeline/steps/qa-b/mobile-app.md +71 -0
- package/pipeline/steps/readiness/standalone-review.md +7 -2
- package/pipeline/steps/reqs/data-pipeline.md +56 -0
- package/pipeline/steps/reqs/document-generation.md +55 -0
- package/pipeline/steps/reqs/draft-brief.md +10 -0
- package/pipeline/steps/reqs/iac.md +63 -0
- package/pipeline/steps/reqs/library.md +56 -0
- package/pipeline/steps/reqs/mcp-server.md +48 -0
- package/pipeline/steps/reqs/mobile-app.md +54 -0
- package/pipeline/steps/reqs/self-review.md +5 -3
- package/pipeline/task-graphs/backend-api.yaml +19 -2
- package/pipeline/task-graphs/data-pipeline.yaml +29 -12
- package/pipeline/task-graphs/document-generation.yaml +29 -12
- package/pipeline/task-graphs/frontend-only.yaml +19 -2
- package/pipeline/task-graphs/fullstack-web.yaml +19 -2
- package/pipeline/task-graphs/library.yaml +29 -12
- package/pipeline/task-graphs/mcp-server.yaml +29 -12
- package/pipeline/task-graphs/mobile-app.yaml +171 -0
- package/pipeline/templates/bugs.template.md +1 -1
- package/pipeline/templates/critic-review.template.md +1 -1
- package/pipeline/templates/data-handoff.template.md +96 -0
- package/pipeline/templates/docgen-handoff.template.md +83 -0
- package/pipeline/templates/iac-handoff.template.md +83 -0
- package/pipeline/templates/judge-decision.template.md +11 -1
- package/pipeline/templates/libdev-handoff.template.md +82 -0
- package/pipeline/templates/mcp-dev-handoff.template.md +87 -0
- package/pipeline/templates/mobile-handoff.template.md +122 -0
- package/pipeline/templates/reqs-brief.template.md +60 -4
- package/skills/valent-run-deferred-tests/SKILL.md +109 -0
- package/skills/valent-run-epic/SKILL.md +1 -1
- package/skills/valent-run-project/SKILL.md +1 -1
- package/src/commands/db-rebuild.js +5 -0
- package/src/lib/config-schema.js +1 -1
- package/src/lib/db.js +1 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# REQS Step: Library Requirements
|
|
2
|
+
|
|
3
|
+
## Step 4b: Library-Specific Requirement Extraction
|
|
4
|
+
|
|
5
|
+
For stories with `library` in `testing_profiles`, extract additional requirements:
|
|
6
|
+
|
|
7
|
+
### Public API Surface
|
|
8
|
+
- Exported symbols (functions, classes, constants, types)
|
|
9
|
+
- Function signatures with parameter types and return types
|
|
10
|
+
- Overload variants (if applicable)
|
|
11
|
+
- Re-export paths (subpath exports via package.json `exports` map)
|
|
12
|
+
|
|
13
|
+
### Semver Policy
|
|
14
|
+
- What constitutes a breaking change (removed export, changed signature, changed behavior)
|
|
15
|
+
- What constitutes a minor change (new export, new optional parameter)
|
|
16
|
+
- What constitutes a patch change (bug fix, internal refactor, docs)
|
|
17
|
+
- Current version and expected version after this story ships
|
|
18
|
+
|
|
19
|
+
### Backwards Compatibility Constraints
|
|
20
|
+
- Previously published API surface that must remain stable
|
|
21
|
+
- Deprecated symbols and their migration path
|
|
22
|
+
- Minimum supported runtime versions (Node.js, browser targets)
|
|
23
|
+
- Compatibility with existing consumer code patterns
|
|
24
|
+
|
|
25
|
+
### Module System Requirements
|
|
26
|
+
- Package format: CJS, ESM, or dual
|
|
27
|
+
- Entry points: `main`, `module`, `exports` map configuration
|
|
28
|
+
- Conditional exports (node, import, require, default)
|
|
29
|
+
- Build output structure and file extensions (.js, .mjs, .cjs)
|
|
30
|
+
|
|
31
|
+
### Type Declaration Requirements
|
|
32
|
+
- Type declaration strategy: `.d.ts` files, inline TypeScript, JSDoc
|
|
33
|
+
- Generic type parameters and constraints
|
|
34
|
+
- Strict mode compatibility (noImplicitAny, strictNullChecks)
|
|
35
|
+
- Type export completeness (every public symbol has a corresponding type)
|
|
36
|
+
|
|
37
|
+
### Peer Dependency Contract
|
|
38
|
+
- Required peer dependencies with version ranges
|
|
39
|
+
- Optional peer dependencies and behavior when absent
|
|
40
|
+
- Conflict resolution for overlapping dependency ranges
|
|
41
|
+
- Runtime detection of missing peers (clear error messages)
|
|
42
|
+
|
|
43
|
+
### Tree-Shaking Requirements
|
|
44
|
+
- `sideEffects` field value (false, or list of side-effectful files)
|
|
45
|
+
- Barrel re-export avoidance (no index files that re-export everything)
|
|
46
|
+
- Per-export isolation (importing one symbol must not pull in unrelated code)
|
|
47
|
+
- Bundle size expectations for selective imports
|
|
48
|
+
|
|
49
|
+
## Quality Gate Additions
|
|
50
|
+
|
|
51
|
+
- [ ] Every exported symbol has defined behavior and type
|
|
52
|
+
- [ ] Semver impact classified (breaking, minor, or patch)
|
|
53
|
+
- [ ] Module system entry points specified (CJS, ESM, or dual)
|
|
54
|
+
- [ ] Type declarations defined for every public export
|
|
55
|
+
- [ ] Peer dependency contract documented with version ranges
|
|
56
|
+
- [ ] Tree-shaking requirements specified if sideEffects: false is declared
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# REQS Step: MCP Server Requirements
|
|
2
|
+
|
|
3
|
+
## Step 4b: MCP-Server-Specific Requirement Extraction
|
|
4
|
+
|
|
5
|
+
For stories with `mcp-server` in `testing_profiles`, extract additional requirements:
|
|
6
|
+
|
|
7
|
+
### Tool Definitions
|
|
8
|
+
- Tool name, human-readable description, and purpose
|
|
9
|
+
- Which tools the server exposes at `tools/list`
|
|
10
|
+
- Tool grouping or categorization (if server exposes many tools)
|
|
11
|
+
|
|
12
|
+
### Input Schemas per Tool
|
|
13
|
+
- Required and optional parameters with types
|
|
14
|
+
- Parameter constraints (min/max, regex, enum values, string length)
|
|
15
|
+
- Nested object schemas and array item types
|
|
16
|
+
- Default values for optional parameters
|
|
17
|
+
|
|
18
|
+
### Output Content Types per Tool
|
|
19
|
+
- Content type per tool response (text, image, audio, resource)
|
|
20
|
+
- Response shape: key fields, MIME types, encoding
|
|
21
|
+
- Multi-content responses (tools returning mixed content types)
|
|
22
|
+
- Resource URIs and their resolution behavior
|
|
23
|
+
|
|
24
|
+
### Capability Declarations
|
|
25
|
+
- What the server advertises in `initialize` response (tools, resources, prompts)
|
|
26
|
+
- Server info (name, version)
|
|
27
|
+
- Protocol version compatibility
|
|
28
|
+
- Resource subscription support (if applicable)
|
|
29
|
+
|
|
30
|
+
### Transport Requirements
|
|
31
|
+
- Supported transport(s): stdio, SSE, streamable HTTP
|
|
32
|
+
- Connection lifecycle (startup, shutdown, reconnect behavior)
|
|
33
|
+
- Concurrency model (serial tool calls vs parallel)
|
|
34
|
+
- Timeout behavior per tool (long-running operations, cancellation)
|
|
35
|
+
|
|
36
|
+
### Error Model per Tool
|
|
37
|
+
- JSON-RPC error codes for protocol-level failures (-32700, -32600, -32601, -32602, -32603)
|
|
38
|
+
- `isError: true` content responses for tool-level failures (business logic errors)
|
|
39
|
+
- Specific error scenarios per tool (invalid input, resource not found, permission denied, rate limited)
|
|
40
|
+
- Error message format and detail level
|
|
41
|
+
|
|
42
|
+
## Quality Gate Additions
|
|
43
|
+
|
|
44
|
+
- [ ] Every tool has explicit error behavior defined (both JSON-RPC codes and isError:true scenarios)
|
|
45
|
+
- [ ] Every tool has an input schema with required/optional params and types
|
|
46
|
+
- [ ] Every tool has output content type(s) specified
|
|
47
|
+
- [ ] Capability declarations documented for initialize handshake
|
|
48
|
+
- [ ] Transport requirements specified
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# REQS Step: Mobile App Requirements
|
|
2
|
+
|
|
3
|
+
## Step 4b: Mobile-App-Specific Requirement Extraction
|
|
4
|
+
|
|
5
|
+
For stories with `mobile-app` in `testing_profiles`, extract additional requirements:
|
|
6
|
+
|
|
7
|
+
### Screen Inventory
|
|
8
|
+
- Screen names and navigation hierarchy (stack, tab, drawer, modal)
|
|
9
|
+
- Deep link URI patterns per screen (e.g., `myapp://settings/profile`)
|
|
10
|
+
- Back button / gesture behavior per screen (Android hardware back, iOS swipe-to-go-back)
|
|
11
|
+
- Screen transition animations (if specified in UX)
|
|
12
|
+
|
|
13
|
+
### Platform-Specific Behavior
|
|
14
|
+
- Android-only vs iOS-only vs shared behavior per AC
|
|
15
|
+
- Permission requirements per platform (camera, location, notifications, storage, contacts, biometrics)
|
|
16
|
+
- Minimum OS version targets (Android API level, iOS version)
|
|
17
|
+
- Platform-specific UI patterns (Material Design vs Human Interface Guidelines)
|
|
18
|
+
|
|
19
|
+
### Offline and Connectivity Requirements
|
|
20
|
+
- Offline-capable features and sync behavior (queue-and-retry, optimistic UI, conflict resolution)
|
|
21
|
+
- Network error handling per screen (retry, fallback, offline banner)
|
|
22
|
+
- Local storage / caching strategy (AsyncStorage, MMKV, SQLite, Hive)
|
|
23
|
+
- Background sync requirements
|
|
24
|
+
|
|
25
|
+
### Device Form Factor
|
|
26
|
+
- Phone vs tablet layout requirements
|
|
27
|
+
- Orientation support (portrait, landscape, both) per screen
|
|
28
|
+
- Safe area / notch / dynamic island handling
|
|
29
|
+
- Keyboard avoidance behavior for input screens
|
|
30
|
+
|
|
31
|
+
### Push Notification Requirements
|
|
32
|
+
- Notification types and payload structure
|
|
33
|
+
- Foreground vs background handling behavior
|
|
34
|
+
- Deep link from notification tap (target screen, parameters)
|
|
35
|
+
- Silent / data-only notification handling
|
|
36
|
+
|
|
37
|
+
### App Lifecycle Requirements
|
|
38
|
+
- Background → foreground behavior (refresh data, re-authenticate)
|
|
39
|
+
- App termination recovery (restore navigation state, pending form data)
|
|
40
|
+
- Multi-window / split-screen behavior (if applicable)
|
|
41
|
+
|
|
42
|
+
### Native Module Dependencies
|
|
43
|
+
- Camera, biometrics, file system, Bluetooth, NFC, etc.
|
|
44
|
+
- Third-party SDK requirements (maps, analytics, crash reporting)
|
|
45
|
+
- Platform-specific native module availability
|
|
46
|
+
|
|
47
|
+
## Quality Gate Additions
|
|
48
|
+
|
|
49
|
+
- [ ] Every screen has navigation path and deep link documented
|
|
50
|
+
- [ ] Platform-specific behavior explicit for each AC (or explicitly marked "identical on both platforms")
|
|
51
|
+
- [ ] Permission requirements listed per platform
|
|
52
|
+
- [ ] Offline behavior specified (or explicitly marked as online-only)
|
|
53
|
+
- [ ] Push notification handling defined (or explicitly marked as no-push)
|
|
54
|
+
- [ ] App lifecycle edge cases addressed (background/foreground, termination recovery)
|
|
@@ -10,13 +10,15 @@ Verify completeness:
|
|
|
10
10
|
- [ ] Every AC has a priority classification (P0-P3)
|
|
11
11
|
- [ ] All ambiguities are documented with resolution and rationale
|
|
12
12
|
- [ ] Business rules cover all ACs with edge case notes
|
|
13
|
-
- [ ]
|
|
14
|
-
- [ ] API endpoints are specified (or explicitly marked "none" with rationale)
|
|
15
|
-
- [ ]
|
|
13
|
+
- [ ] If api or data-pipeline in testing_profiles: database changes are specified (or explicitly marked "none" with rationale)
|
|
14
|
+
- [ ] If api in testing_profiles: API endpoints are specified (or explicitly marked "none" with rationale)
|
|
15
|
+
- [ ] If api or ui in testing_profiles: auth requirements are defined
|
|
16
16
|
- [ ] Cross-cutting concerns are addressed
|
|
17
17
|
- [ ] NFR targets are set
|
|
18
18
|
- [ ] Pre-mortem has at least 3 findings
|
|
19
19
|
- [ ] All pre-mortem `folded-in` findings are reflected in the brief
|
|
20
20
|
- [ ] Cross-references section points to all consumed inputs
|
|
21
|
+
- [ ] All quality gate additions from loaded domain step files (Step 4b) are satisfied
|
|
22
|
+
- [ ] Domain-specific conditional sections from template are populated for each active profile
|
|
21
23
|
|
|
22
24
|
If any check fails, go back and fix it before proceeding.
|
|
@@ -37,12 +37,20 @@ tasks:
|
|
|
37
37
|
activeForm: "BEND implementing backend"
|
|
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: [bend, iac]
|
|
46
54
|
|
|
47
55
|
- ref: qa_b
|
|
48
56
|
agent: QA-B
|
|
@@ -102,12 +110,21 @@ agents:
|
|
|
102
110
|
completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
|
|
103
111
|
cd_targets: [bend]
|
|
104
112
|
|
|
113
|
+
- name: IAC
|
|
114
|
+
ref: iac
|
|
115
|
+
wave: 2
|
|
116
|
+
spawn_trigger: "qa_a completed"
|
|
117
|
+
prompt: .valent-pipeline/prompts/iac.md
|
|
118
|
+
trigger: "Begin immediately — you were spawned because QA-A completed. Wait for READINESS approval before starting implementation."
|
|
119
|
+
completion: "Send [HANDOFF] to Lead and CRITIC. Mark task completed."
|
|
120
|
+
cd_targets: [iac]
|
|
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
|
|
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:
|
|
34
|
-
agent:
|
|
35
|
-
subject: "
|
|
36
|
-
description: "Read reqs-brief.md and qa-test-spec.md, implement data pipeline, produce
|
|
37
|
-
activeForm: "
|
|
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: [
|
|
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
|
|
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:
|
|
97
|
-
ref:
|
|
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/
|
|
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: [
|
|
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
|
|
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:
|
|
34
|
-
agent:
|
|
35
|
-
subject: "
|
|
36
|
-
description: "Read reqs-brief.md and qa-test-spec.md, implement document generation templates and content pipeline, produce
|
|
37
|
-
activeForm: "
|
|
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: [
|
|
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
|
|
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:
|
|
97
|
-
ref:
|
|
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/
|
|
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: [
|
|
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
|
|
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
|
|
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
|
|
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:
|
|
34
|
-
agent:
|
|
35
|
-
subject: "
|
|
36
|
-
description: "Read reqs-brief.md and qa-test-spec.md, implement library public API and module, produce
|
|
37
|
-
activeForm: "
|
|
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: [
|
|
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
|
|
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:
|
|
97
|
-
ref:
|
|
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/
|
|
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: [
|
|
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
|
|
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:
|
|
34
|
-
agent:
|
|
35
|
-
subject: "
|
|
36
|
-
description: "Read reqs-brief.md and qa-test-spec.md, implement MCP server tools and handlers, produce
|
|
37
|
-
activeForm: "
|
|
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: [
|
|
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
|
|
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:
|
|
97
|
-
ref:
|
|
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/
|
|
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: [
|
|
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
|
|
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
|
|