codex-workflows 0.4.8 → 0.4.10
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/.agents/skills/ai-development-guide/SKILL.md +12 -2
- package/.agents/skills/coding-rules/SKILL.md +15 -0
- package/.agents/skills/documentation-criteria/references/design-template.md +6 -0
- package/.agents/skills/documentation-criteria/references/plan-template.md +9 -0
- package/.agents/skills/documentation-criteria/references/task-template.md +4 -0
- package/.agents/skills/recipe-build/SKILL.md +1 -1
- package/.agents/skills/recipe-front-build/SKILL.md +1 -1
- package/.agents/skills/recipe-fullstack-build/SKILL.md +1 -1
- package/.agents/skills/recipe-fullstack-implement/SKILL.md +1 -1
- package/.agents/skills/recipe-implement/SKILL.md +1 -1
- package/.agents/skills/subagents-orchestration-guide/SKILL.md +76 -104
- package/.codex/agents/codebase-analyzer.toml +26 -1
- package/.codex/agents/quality-fixer-frontend.toml +41 -0
- package/.codex/agents/quality-fixer.toml +41 -0
- package/.codex/agents/task-decomposer.toml +14 -0
- package/.codex/agents/task-executor-frontend.toml +37 -0
- package/.codex/agents/task-executor.toml +38 -0
- package/.codex/agents/technical-designer.toml +11 -3
- package/.codex/agents/work-planner.toml +3 -0
- package/README.md +9 -9
- package/package.json +1 -1
|
@@ -131,13 +131,14 @@ How to handle duplicate code based on Martin Fowler's "Refactoring":
|
|
|
131
131
|
- For low certainty cases, create minimal verification code first
|
|
132
132
|
|
|
133
133
|
### Pattern 5: Insufficient Existing Code Investigation
|
|
134
|
-
**Symptom**: Duplicate implementations, architecture inconsistency, integration failures
|
|
135
|
-
**Cause**: Insufficient understanding of existing code before implementation
|
|
134
|
+
**Symptom**: Duplicate implementations, architecture inconsistency, integration failures, adopting outdated patterns
|
|
135
|
+
**Cause**: Insufficient understanding of existing code before implementation; referencing only nearby files without checking representativeness
|
|
136
136
|
**Avoidance**:
|
|
137
137
|
- Before implementation, always search for similar functionality
|
|
138
138
|
- Similar functionality found: Use that implementation (do not create new)
|
|
139
139
|
- Similar functionality is technical debt: Create ADR improvement proposal
|
|
140
140
|
- No similar functionality: Implement following existing design philosophy
|
|
141
|
+
- When adopting a pattern or dependency from nearby code, verify it is representative across the repository before adopting it
|
|
141
142
|
|
|
142
143
|
## Debugging Techniques
|
|
143
144
|
|
|
@@ -175,6 +176,15 @@ Pattern: Structured logging with context
|
|
|
175
176
|
}
|
|
176
177
|
```
|
|
177
178
|
|
|
179
|
+
## Quality Assurance Mechanism Awareness
|
|
180
|
+
|
|
181
|
+
Before executing quality checks, discover applicable quality tools and constraints by inspecting the affected files' types, project manifests, CI pipelines, and configuration:
|
|
182
|
+
- Primary detection: inspect affected file types, manifests, configuration, and CI pipelines to identify applicable quality tools
|
|
183
|
+
- Check for domain-specific linters or validators such as schema validators, API spec validators, or configuration-file checkers
|
|
184
|
+
- Check for domain-specific constraints in project configuration such as naming rules, length limits, or format requirements
|
|
185
|
+
- When a task file lists `Quality Assurance Mechanisms`, use that section as supplementary guidance for what to verify
|
|
186
|
+
- Include discovered domain-specific checks alongside the standard quality phases below
|
|
187
|
+
|
|
178
188
|
## Quality Check Workflow [MANDATORY]
|
|
179
189
|
|
|
180
190
|
Universal quality assurance phases applicable to all languages:
|
|
@@ -51,6 +51,21 @@ For language-specific rules, also read:
|
|
|
51
51
|
- Depend on abstractions, not concrete implementations
|
|
52
52
|
- Minimize inter-module dependencies
|
|
53
53
|
|
|
54
|
+
## Reference Representativeness
|
|
55
|
+
|
|
56
|
+
### Verifying References Before Adoption
|
|
57
|
+
|
|
58
|
+
When adopting patterns, APIs, or dependencies from existing code:
|
|
59
|
+
- If referencing only nearby files, verify the pattern is representative across the repository before adopting it
|
|
60
|
+
- If multiple approaches coexist, identify the majority pattern and make a deliberate choice
|
|
61
|
+
- If adopting an external dependency, verify repository-wide usage distribution for that dependency and its version
|
|
62
|
+
- If repository evidence is insufficient to choose an appropriate dependency version, escalate instead of guessing
|
|
63
|
+
- If following an existing pattern when alternatives exist, state the reason for following it
|
|
64
|
+
|
|
65
|
+
### Principle
|
|
66
|
+
|
|
67
|
+
Nearby code is a starting point for investigation, not a sufficient basis for adoption. Confirm that the reference is representative of repository conventions before using it as the model.
|
|
68
|
+
|
|
54
69
|
## Performance
|
|
55
70
|
|
|
56
71
|
- **Measure first**: Profile before optimizing — no premature optimization
|
|
@@ -52,6 +52,12 @@ unknowns:
|
|
|
52
52
|
- [ ] [Standard/convention] `[explicit]` - Source: [config / rule file / documentation path]
|
|
53
53
|
- [ ] [Observed pattern] `[implicit]` - Evidence: [file paths] - Confirmed: [Yes/No]
|
|
54
54
|
|
|
55
|
+
#### Quality Assurance Mechanisms
|
|
56
|
+
How quality is enforced in the change area. Each item is either adopted for this change or noted with a reason.
|
|
57
|
+
|
|
58
|
+
- [ ] [Tool/check name] — Enforces: [what] — Config: [path] — Covers: [file paths/patterns or "project-wide"] — Status: `adopted` / `noted (reason)`
|
|
59
|
+
- [ ] [Domain-specific constraint] — Enforces: [what] — Source: [path] — Covers: [file paths/patterns or "project-wide"] — Status: `adopted` / `noted (reason)`
|
|
60
|
+
|
|
55
61
|
### Problem to Solve
|
|
56
62
|
|
|
57
63
|
[Specific problems or challenges this feature aims to address]
|
|
@@ -32,6 +32,15 @@ Repeat this block for each Design Doc when multiple Design Docs exist. Preserve
|
|
|
32
32
|
- **Success criteria**: [extracted from Design Doc]
|
|
33
33
|
- **Failure response**: [extracted from Design Doc]
|
|
34
34
|
|
|
35
|
+
## Quality Assurance Mechanisms (from Design Docs)
|
|
36
|
+
|
|
37
|
+
Adopted quality gates for the change area. Each task in this plan must satisfy the applicable mechanisms.
|
|
38
|
+
|
|
39
|
+
| Mechanism | Enforces | Config Location | Covered Files |
|
|
40
|
+
|-----------|----------|-----------------|---------------|
|
|
41
|
+
| [Tool/check name] | [What quality aspect it enforces] | [path/to/config] | [file paths or patterns covered, or "project-wide"] |
|
|
42
|
+
| [Domain constraint] | [What it enforces] | [path/to/source] | [file paths or patterns covered, or "project-wide"] |
|
|
43
|
+
|
|
35
44
|
## Design-to-Plan Traceability
|
|
36
45
|
|
|
37
46
|
Map each Design Doc technical requirement to the task or phase that covers it. Use one row per extracted requirement item. Every row must have at least one covering task, or an explicit justified gap.
|
|
@@ -37,6 +37,10 @@ Brief observations recorded after reading Investigation Targets:
|
|
|
37
37
|
- [ ] Improve code (maintain passing tests)
|
|
38
38
|
- [ ] Confirm added tests still pass
|
|
39
39
|
|
|
40
|
+
## Quality Assurance Mechanisms
|
|
41
|
+
(From the work plan header — include only mechanisms relevant to this task's target files)
|
|
42
|
+
- [Tool/check name] — Enforces: [what] — Config: [path]
|
|
43
|
+
|
|
40
44
|
## Operation Verification Methods
|
|
41
45
|
(Derived from Verification Strategy in the work plan)
|
|
42
46
|
- **Verification method**: [What to verify and how]
|
|
@@ -79,7 +79,7 @@ For EACH task, YOU MUST:
|
|
|
79
79
|
- `needs_revision` -> Return to step 2 with `requiredFixes`
|
|
80
80
|
- `approved` -> Proceed to step 4
|
|
81
81
|
- `readyForQualityCheck: true` -> Proceed to step 4
|
|
82
|
-
4. **Spawn quality-fixer agent**: "Execute all quality checks and fixes. Task file: [task-file-path]. filesModified: [task-executor response filesModified]. Use these files as the stub-detection scope."
|
|
82
|
+
4. **Spawn quality-fixer agent**: "Execute all quality checks and fixes. Task file: [task-file-path]. The task file path above is also the `task_file` input. Read its `Quality Assurance Mechanisms` section as supplementary quality-check hints. filesModified: [task-executor response filesModified]. Use these files as the stub-detection scope."
|
|
83
83
|
5. **CHECK quality-fixer response**:
|
|
84
84
|
- `status: "stub_detected"` -> Return to step 2 with `stubFindings`
|
|
85
85
|
- `status: "blocked"` -> STOP and escalate to user
|
|
@@ -87,7 +87,7 @@ For EACH task, YOU MUST:
|
|
|
87
87
|
- `needs_revision` -> Return to step 2 with `requiredFixes`
|
|
88
88
|
- `approved` -> Proceed to step 4
|
|
89
89
|
- `readyForQualityCheck: true` -> Proceed to step 4
|
|
90
|
-
4. **Spawn quality-fixer-frontend agent**: "Execute all frontend quality checks and fixes. Task file: docs/plans/tasks/[filename].md. filesModified: [task-executor-frontend response filesModified]. Use these files as the stub-detection scope."
|
|
90
|
+
4. **Spawn quality-fixer-frontend agent**: "Execute all frontend quality checks and fixes. Task file: docs/plans/tasks/[filename].md. The task file path above is also the `task_file` input. Read its `Quality Assurance Mechanisms` section as supplementary quality-check hints. filesModified: [task-executor-frontend response filesModified]. Use these files as the stub-detection scope."
|
|
91
91
|
5. **CHECK quality-fixer-frontend response**:
|
|
92
92
|
- `status: "stub_detected"` -> Return to step 2 with `stubFindings`
|
|
93
93
|
- `status: "blocked"` -> STOP and escalate to user
|
|
@@ -97,7 +97,7 @@ For EACH task, YOU MUST:
|
|
|
97
97
|
- `needs_revision` -> Return to step 2 with `requiredFixes`
|
|
98
98
|
- `approved` -> Proceed to step 4
|
|
99
99
|
- `readyForQualityCheck: true` -> Proceed to step 4
|
|
100
|
-
4. **Spawn quality-fixer agent** (layer-appropriate per routing table): "Execute all quality checks and fixes. Task file: [task-file-path]. filesModified: [executor response filesModified]. Use these files as the stub-detection scope."
|
|
100
|
+
4. **Spawn quality-fixer agent** (layer-appropriate per routing table): "Execute all quality checks and fixes. Task file: [task-file-path]. The task file path above is also the `task_file` input. Read its `Quality Assurance Mechanisms` section as supplementary quality-check hints. filesModified: [executor response filesModified]. Use these files as the stub-detection scope."
|
|
101
101
|
5. **CHECK quality-fixer response**:
|
|
102
102
|
- `status: "stub_detected"` -> Return to step 2 with `stubFindings`
|
|
103
103
|
- `status: "blocked"` -> STOP and escalate to user
|
|
@@ -124,7 +124,7 @@ ENFORCEMENT: Sub-agent prompts missing the constraint suffix MUST be re-issued w
|
|
|
124
124
|
**Rules**:
|
|
125
125
|
1. Execute ONE task completely before starting next (each task goes through the full 4-step cycle individually, using the correct executor per filename pattern)
|
|
126
126
|
2. Check executor status before quality-fixer (escalation check)
|
|
127
|
-
3. Quality-fixer MUST run after each executor (no skipping)
|
|
127
|
+
3. Quality-fixer MUST run after each executor (no skipping), MUST receive the executor `filesModified` list as stub-detection scope, and MUST receive the current task file as the `task_file` input so it reads the task file's `Quality Assurance Mechanisms` section as supplementary quality-check hints
|
|
128
128
|
4. If quality-fixer returns `status: "stub_detected"`, route the task back to the same executor with `stubFindings`
|
|
129
129
|
5. Commit MUST execute only when quality-fixer returns `status: "approved"` (do not defer to end)
|
|
130
130
|
|
|
@@ -105,7 +105,7 @@ After user grants "batch approval for entire implementation phase", enter autono
|
|
|
105
105
|
- `needs_revision` -> Return to step 1 with `requiredFixes`
|
|
106
106
|
- `approved` -> Proceed to step 3
|
|
107
107
|
- Otherwise -> Proceed to step 3
|
|
108
|
-
3. Spawn quality-fixer (or quality-fixer-frontend) agent: "Quality check and fixes. Task file: [task-file-path]. filesModified: [executor response filesModified]. Use these files as the stub-detection scope."
|
|
108
|
+
3. Spawn quality-fixer (or quality-fixer-frontend) agent: "Quality check and fixes. Task file: [task-file-path]. The task file path above is also the `task_file` input. Read its `Quality Assurance Mechanisms` section as supplementary quality-check hints. filesModified: [executor response filesModified]. Use these files as the stub-detection scope."
|
|
109
109
|
4. Check quality-fixer response:
|
|
110
110
|
- `status: "stub_detected"` -> Return to step 1 with `stubFindings`
|
|
111
111
|
- `status: "blocked"` -> Escalate to user
|
|
@@ -96,6 +96,27 @@ Subagents CANNOT directly call other subagents — all coordination MUST flow th
|
|
|
96
96
|
|
|
97
97
|
**ENFORCEMENT**: Direct subagent-to-subagent communication is PROHIBITED
|
|
98
98
|
|
|
99
|
+
### Subagent Completion Discipline [MANDATORY]
|
|
100
|
+
|
|
101
|
+
The orchestrator owns subagent completion. Base waiting decisions on assigned responsibility and observed state, not on an expectation of quick completion. Multi-step search, review, verification, generation, implementation, and quality work can run for extended periods.
|
|
102
|
+
|
|
103
|
+
Use this contract:
|
|
104
|
+
- Wait for required subagent outputs with `wait_agent`
|
|
105
|
+
- Keep the current task assignment while the subagent remains `running`
|
|
106
|
+
- Treat missing intermediate output as a normal execution state while the subagent remains `running`
|
|
107
|
+
- Hold final artifact production until every required subagent output is available
|
|
108
|
+
- After repeated empty waits, run non-destructive diagnostics: re-check prompt, inputs, expected deliverable, and agent-task fit; send a focused follow-up when it would clarify the pending deliverable
|
|
109
|
+
- Resume waiting after diagnostics unless the user redirects the workflow or the orchestrator confirms a launch mistake
|
|
110
|
+
|
|
111
|
+
Treat the following as explicit contradictory evidence:
|
|
112
|
+
- The subagent returns a terminal status such as `approved`, `needs_revision`, `blocked`, `skipped`, `completed`, or `escalation_needed`
|
|
113
|
+
- The orchestrator verifies that it launched the wrong subagent or sent materially incorrect inputs
|
|
114
|
+
- A newer explicit user instruction changes or cancels the task
|
|
115
|
+
|
|
116
|
+
Close a running subagent only when the user redirects the workflow, the orchestrator corrects a launch mistake, or a newer user instruction supersedes the pending task.
|
|
117
|
+
|
|
118
|
+
**ENFORCEMENT**: Preserve subagent execution until completion, user redirection, or explicit correction of an orchestrator launch mistake. Speed-based early termination is a CRITICAL VIOLATION.
|
|
119
|
+
|
|
99
120
|
## How to Spawn Agents
|
|
100
121
|
|
|
101
122
|
Spawn agents using natural language prompts. Provide clear context about what the agent should accomplish.
|
|
@@ -149,16 +170,9 @@ All agents MUST use this vocabulary consistently:
|
|
|
149
170
|
| `blocked` | security-reviewer | Committed secrets or high-confidence exploitable risk | Halt workflow immediately, escalate to user (requires human intervention) |
|
|
150
171
|
| `skipped` | All agents | Preconditions not met for this step | Report reason, proceed |
|
|
151
172
|
|
|
152
|
-
|
|
153
|
-
-
|
|
154
|
-
-
|
|
155
|
-
- Orchestrator MUST pass conditions to the next phase's agent as context
|
|
156
|
-
- Conditions do not block progression but MUST be resolved before implementation phase
|
|
157
|
-
|
|
158
|
-
**approved_with_notes handling** (security-reviewer):
|
|
159
|
-
- Notes are informational — they do NOT require resolution before proceeding
|
|
160
|
-
- Orchestrator MUST include notes in the completion report for awareness
|
|
161
|
-
- Do not apply approved_with_conditions handling (no resolution tracking)
|
|
173
|
+
Handling rules:
|
|
174
|
+
- `approved_with_conditions`: append the listed conditions to the document's open-items section, carry them into the next phase, and resolve them before implementation
|
|
175
|
+
- `approved_with_notes`: include the notes in the completion report for awareness
|
|
162
176
|
|
|
163
177
|
**ENFORCEMENT**: Using any status value outside this vocabulary is a VIOLATION.
|
|
164
178
|
|
|
@@ -176,17 +190,20 @@ All agents MUST use this vocabulary consistently:
|
|
|
176
190
|
|
|
177
191
|
## Structured Response Specification
|
|
178
192
|
|
|
179
|
-
Subagents respond in JSON format. The final response from each JSON-returning subagent must be the JSON payload itself, with no trailing prose.
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
193
|
+
Subagents respond in JSON format. The final response from each JSON-returning subagent must be the JSON payload itself, with no trailing prose. Agent TOML files define the full schemas; the orchestrator only relies on these routing keys:
|
|
194
|
+
|
|
195
|
+
| Agent | Routing fields the orchestrator uses |
|
|
196
|
+
|-------|--------------------------------------|
|
|
197
|
+
| `requirement-analyzer` | `scale`, `confidence`, `affectedLayers`, `adrRequired`, `scopeDependencies`, `questions` |
|
|
198
|
+
| `codebase-analyzer` | `focusAreas`, `dataModel`, `qualityAssurance`, `dataTransformationPipelines`, `limitations` |
|
|
199
|
+
| `task-executor*` | `status`, `escalation_type`, `filesModified`, `requiresTestReview` |
|
|
200
|
+
| `quality-fixer*` | `status`, `reason`, `stubFindings`, `blockingIssues`, `missingPrerequisites` |
|
|
201
|
+
| `document-reviewer` | `verdict.decision`, `verdict.conditions` |
|
|
202
|
+
| `code-verifier` | `summary.status`, `discrepancies`, `reverseCoverage` |
|
|
203
|
+
| `design-sync` | `sync_status` |
|
|
204
|
+
| `integration-test-reviewer` | `status`, `requiredFixes` |
|
|
205
|
+
| `security-reviewer` | `status`, `findings`, `notes`, `requiredFixes` |
|
|
206
|
+
| `acceptance-test-generator` | `status`, `generatedFiles`, `e2eAbsenceReason` |
|
|
190
207
|
|
|
191
208
|
## Handling Requirement Changes
|
|
192
209
|
|
|
@@ -215,51 +232,21 @@ Document generation agents (work-planner, technical-designer, prd-creator) can u
|
|
|
215
232
|
|
|
216
233
|
## Basic Flow for Work Planning
|
|
217
234
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
12. design-sync: Consistency verification **[Stop: Design Doc Approval]**
|
|
234
|
-
13. acceptance-test-generator: Test skeleton generation, pass to work-planner
|
|
235
|
-
14. work-planner: Work plan creation **[Stop: Batch approval]**
|
|
236
|
-
15. task-decomposer: Autonomous execution to Completion report
|
|
237
|
-
|
|
238
|
-
### Medium Scale (3-5 Files) - 9 Steps (backend) / 11 Steps (frontend/fullstack)
|
|
239
|
-
|
|
240
|
-
1. requirement-analyzer: Requirement analysis **[Stop]**
|
|
241
|
-
2. codebase-analyzer: Codebase analysis
|
|
242
|
-
3. **(frontend/fullstack only)** Ask user for prototype code; ui-spec-designer: UI Spec creation
|
|
243
|
-
4. **(frontend/fullstack only)** document-reviewer: UI Spec review **[Stop: UI Spec Approval]**
|
|
244
|
-
5. technical-designer: Design Doc creation
|
|
245
|
-
6. code-verifier: Design Doc verification against code
|
|
246
|
-
7. document-reviewer: Design Doc review with code verification evidence
|
|
247
|
-
8. design-sync: Consistency verification **[Stop: Design Doc Approval]**
|
|
248
|
-
9. acceptance-test-generator: Test skeleton generation, pass to work-planner
|
|
249
|
-
10. work-planner: Work plan creation **[Stop: Batch approval]**
|
|
250
|
-
11. task-decomposer: Autonomous execution to Completion report
|
|
251
|
-
|
|
252
|
-
### Design Flow Data Passing
|
|
253
|
-
|
|
254
|
-
- Pass requirement-analyzer output and original requirements to codebase-analyzer
|
|
255
|
-
- Pass codebase-analyzer JSON to technical-designer or technical-designer-frontend as `Codebase Analysis`, including `dataTransformationPipelines` when present
|
|
256
|
-
- Pass Design Doc path to code-verifier
|
|
257
|
-
- Pass code-verifier JSON to document-reviewer as `code_verification`
|
|
258
|
-
|
|
259
|
-
### Small Scale (1-2 Files) - 2 Steps
|
|
260
|
-
|
|
261
|
-
1. Create simplified plan **[Stop: Batch approval]**
|
|
262
|
-
2. Direct implementation to Completion report
|
|
235
|
+
Always start with `requirement-analyzer`, then follow the minimum flow required by scale and affected layers.
|
|
236
|
+
|
|
237
|
+
| Scale | Required flow |
|
|
238
|
+
|-------|---------------|
|
|
239
|
+
| Large | `requirement-analyzer` **[Stop]** -> `prd-creator` -> `document-reviewer` **[Stop]** -> optional `ui-spec-designer` + `document-reviewer` **[Stop]** -> optional ADR + `document-reviewer` **[Stop]** -> `codebase-analyzer` -> `technical-designer*` -> `code-verifier` -> `document-reviewer` -> `design-sync` **[Stop]** -> `acceptance-test-generator` -> `work-planner` **[Stop]** -> `task-decomposer` |
|
|
240
|
+
| Medium | `requirement-analyzer` **[Stop]** -> `codebase-analyzer` -> optional `ui-spec-designer` + `document-reviewer` **[Stop]** -> `technical-designer*` -> `code-verifier` -> `document-reviewer` -> `design-sync` **[Stop]** -> `acceptance-test-generator` -> `work-planner` **[Stop]** -> `task-decomposer` |
|
|
241
|
+
| Small | `requirement-analyzer` **[Stop]** -> simplified plan **[Stop: Batch approval]** -> direct implementation |
|
|
242
|
+
|
|
243
|
+
Flow rules:
|
|
244
|
+
- Frontend and fullstack flows add UI Spec before Design Doc creation
|
|
245
|
+
- Create ADR only when architecture, technology, or data-flow changes require it
|
|
246
|
+
- Pass requirement-analyzer output and original requirements to `codebase-analyzer`
|
|
247
|
+
- Pass `codebase-analyzer` output to the designer as `Codebase Analysis`
|
|
248
|
+
- Pass Design Doc path to `code-verifier`, then pass `code_verification` to `document-reviewer`
|
|
249
|
+
- Fullstack layer sequencing is defined in `references/monorepo-flow.md`
|
|
263
250
|
|
|
264
251
|
## Autonomous Execution Mode
|
|
265
252
|
|
|
@@ -316,6 +303,13 @@ Stop autonomous execution and escalate to user in the following cases:
|
|
|
316
303
|
3. **Work-planner update restriction violated**: Requirement changes after task-decomposer starts require overall redesign
|
|
317
304
|
4. **User explicitly stops**: Direct stop instruction or interruption
|
|
318
305
|
|
|
306
|
+
Continue autonomous execution in the following situations:
|
|
307
|
+
- A subagent takes longer than expected
|
|
308
|
+
- `wait_agent` returns without a completion payload while the subagent remains `running`
|
|
309
|
+
- The orchestrator has partial context but is still waiting on a required subagent output
|
|
310
|
+
|
|
311
|
+
If repeated waits return the same `running` state, apply the completion-diagnostics contract above.
|
|
312
|
+
|
|
319
313
|
Use the task loop defined in the autonomous execution diagram above. The canonical per-task cycle is:
|
|
320
314
|
1. task-executor implementation
|
|
321
315
|
2. escalation or integration-test-reviewer decision
|
|
@@ -338,49 +332,27 @@ Maximum retry count is 1 verification fix cycle. If any failed verifier still fa
|
|
|
338
332
|
2. **Information Bridging**: Data conversion and transmission between subagents
|
|
339
333
|
- Convert each subagent's output to next subagent's input format
|
|
340
334
|
- **Always pass deliverables from previous process to next agent**
|
|
341
|
-
- Extract
|
|
342
|
-
- Compose commit messages from changeSummary
|
|
335
|
+
- Extract the routing fields listed above
|
|
343
336
|
- Explicitly integrate initial and additional requirements when requirements change
|
|
344
337
|
3. **Quality Assurance and Commit Execution**: Execute git commit per the 4-step task cycle
|
|
345
338
|
4. **Autonomous Execution Mode Management**: Start/stop autonomous execution after approval, escalation decisions
|
|
346
339
|
5. **ADR Status Management**: Update ADR status after user decision (Accepted/Rejected)
|
|
347
340
|
|
|
348
|
-
###
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
-
|
|
356
|
-
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
-
|
|
361
|
-
-
|
|
362
|
-
-
|
|
363
|
-
|
|
364
|
-
**On error**: Escalate to user only when required outputs are missing without a valid absence reason
|
|
365
|
-
|
|
366
|
-
### Design Doc to Work Plan Verification Handoff
|
|
367
|
-
|
|
368
|
-
When a Design Doc contains a Verification Strategy section, the orchestrator must carry forward:
|
|
369
|
-
- Design Doc path
|
|
370
|
-
- Verification Strategy details:
|
|
371
|
-
- Correctness definition
|
|
372
|
-
- Target comparison
|
|
373
|
-
- Verification method
|
|
374
|
-
- Observable success indicator
|
|
375
|
-
- Verification timing
|
|
376
|
-
- Early verification point (first target, success criteria, failure response)
|
|
377
|
-
|
|
378
|
-
The resulting work plan must include this summary in its header so the plan remains self-sufficient for downstream task generation and execution planning.
|
|
379
|
-
When the Design Doc includes an `Output Comparison` section, carry forward the comparison input, expected output fields or format, diff method, and transformation pipeline coverage as part of that summary.
|
|
380
|
-
|
|
381
|
-
In addition, the orchestrator must preserve implementation-relevant technical requirements from each Design Doc so work-planner can create a Design-to-Plan Traceability table. Use the category values and normalization rules defined in the plan template, including protected no-change boundaries from sections such as `No Ripple Effect`.
|
|
382
|
-
|
|
383
|
-
Work-planner maps each extracted item to a covering task or phase. If no covering task exists, the row is marked `gap` with justification. Justified gaps require user confirmation before plan approval.
|
|
341
|
+
### Required Handoffs
|
|
342
|
+
|
|
343
|
+
| From | To | Required pass-through |
|
|
344
|
+
|------|----|-----------------------|
|
|
345
|
+
| `requirement-analyzer` | `codebase-analyzer` | requirement analysis JSON, original requirements, PRD path when available |
|
|
346
|
+
| `codebase-analyzer` | `technical-designer*` | `Codebase Analysis`, including `focusAreas`, `dataModel`, `qualityAssurance`, `dataTransformationPipelines`, `limitations` |
|
|
347
|
+
| `technical-designer*` | `code-verifier` | Design Doc path |
|
|
348
|
+
| `code-verifier` | `document-reviewer` | `code_verification` JSON |
|
|
349
|
+
| `acceptance-test-generator` | `work-planner` | integration test path, E2E path or `null`, `e2eAbsenceReason` when E2E is absent |
|
|
350
|
+
| Design Doc | `work-planner` | Verification Strategy summary, Output Comparison details, implementation-relevant technical requirements, protected no-change boundaries |
|
|
351
|
+
|
|
352
|
+
Handoff rules:
|
|
353
|
+
- Verify generated integration and E2E file paths exist before passing them onward
|
|
354
|
+
- Escalate only when required outputs are missing without a valid absence reason
|
|
355
|
+
- Require work-planner to map every carried-forward technical requirement to a covering task or a justified `gap`
|
|
384
356
|
|
|
385
357
|
## Important Constraints [MANDATORY]
|
|
386
358
|
|
|
@@ -110,7 +110,13 @@ When data access patterns appear in the analysis scope:
|
|
|
110
110
|
|
|
111
111
|
1. Extract validation rules, business rules, configuration dependencies, and assumptions explicitly observable from code, comments, or configuration references
|
|
112
112
|
2. Search for existing tests covering discovered elements
|
|
113
|
-
3. Identify
|
|
113
|
+
3. Identify quality assurance mechanisms that apply to the analyzed scope:
|
|
114
|
+
- inspect CI workflow definitions, linter configurations, static analysis settings, and pre-commit hooks that cover the affected files
|
|
115
|
+
- check whether domain-specific validators or checkers apply, such as schema validators, API spec validators, or configuration linters
|
|
116
|
+
- extract domain-specific constraints such as naming conventions, length limits, and file-format requirements from configuration, CI, or repository standards
|
|
117
|
+
- record each mechanism with tool/check name, enforced quality aspect, configuration location, covered files, and mechanism type
|
|
118
|
+
- if the coverage scope is ambiguous, record the broadest reasonable covered scope and note the ambiguity in `limitations`
|
|
119
|
+
4. Identify focus areas where design work should be careful, especially around:
|
|
114
120
|
- shared dependencies
|
|
115
121
|
- boundary contracts
|
|
116
122
|
- data integrity or persistence behavior
|
|
@@ -197,6 +203,24 @@ Return the JSON result as the final response.
|
|
|
197
203
|
"impact": "Why design should respect it"
|
|
198
204
|
}
|
|
199
205
|
],
|
|
206
|
+
"qualityAssurance": {
|
|
207
|
+
"mechanisms": [
|
|
208
|
+
{
|
|
209
|
+
"tool": "Tool or check name",
|
|
210
|
+
"enforces": "What quality aspect it enforces",
|
|
211
|
+
"configLocation": "path/to/config:line",
|
|
212
|
+
"coveredFiles": ["affected files or directories covered by this mechanism"],
|
|
213
|
+
"type": "linter|static_analysis|schema_validator|domain_specific|ci_check"
|
|
214
|
+
}
|
|
215
|
+
],
|
|
216
|
+
"domainConstraints": [
|
|
217
|
+
{
|
|
218
|
+
"constraint": "Description of the domain-specific constraint",
|
|
219
|
+
"source": "path/to/config-or-ci:line",
|
|
220
|
+
"affectedFiles": ["files subject to this constraint"]
|
|
221
|
+
}
|
|
222
|
+
]
|
|
223
|
+
},
|
|
200
224
|
"focusAreas": [
|
|
201
225
|
{
|
|
202
226
|
"area": "Area name",
|
|
@@ -225,6 +249,7 @@ Return the JSON result as the final response.
|
|
|
225
249
|
- [ ] Recorded external lookups that modify output values, including configuration, constants, and mapping data
|
|
226
250
|
- [ ] Performed data model discovery when data access patterns were present
|
|
227
251
|
- [ ] Extracted constraints and focus areas with concrete risks
|
|
252
|
+
- [ ] Identified quality assurance mechanisms and domain-specific constraints for the affected scope when applicable
|
|
228
253
|
- [ ] Checked existing tests for coverage signals
|
|
229
254
|
- [ ] Populated `dataTransformationPipelines` for all traced pipelines
|
|
230
255
|
- [ ] Populated `entryPointInventory` for all discovered entry points in the traced scope
|
|
@@ -37,6 +37,10 @@ Skill Status:
|
|
|
37
37
|
- Analyze error root causes and execute both auto-fixes and manual fixes autonomously
|
|
38
38
|
- Continue fixing until all phases pass with zero errors, then return approved status
|
|
39
39
|
|
|
40
|
+
## Input Parameters
|
|
41
|
+
|
|
42
|
+
- **task_file** (optional): Path to the task file being verified. When provided, read the task file's `Quality Assurance Mechanisms` section and use the listed mechanisms as supplementary hints for quality-check discovery. Primary detection remains code, manifest, and configuration based.
|
|
43
|
+
|
|
40
44
|
## Initial Required Tasks
|
|
41
45
|
|
|
42
46
|
**Progress Tracking**: Track your work steps. Always include: first "Confirm skill constraints", final "Verify skill fidelity". Update progress upon completion.
|
|
@@ -73,6 +77,7 @@ Treat the following as allowed patterns:
|
|
|
73
77
|
If incomplete implementation is detected, stop immediately and return `status: "stub_detected"` with the affected files and reasons. Proceed to lint, type-check, build, and tests only after this check passes.
|
|
74
78
|
|
|
75
79
|
**Step 2: Detect Quality Check Commands**
|
|
80
|
+
**Primary detection** (always execute):
|
|
76
81
|
```bash
|
|
77
82
|
# Auto-detect from project manifest files
|
|
78
83
|
# Identify project structure and extract quality commands:
|
|
@@ -81,6 +86,12 @@ If incomplete implementation is detected, stop immediately and return `status: "
|
|
|
81
86
|
# - Build configuration → extract build/check commands
|
|
82
87
|
```
|
|
83
88
|
|
|
89
|
+
**Supplementary detection** (when `task_file` is provided):
|
|
90
|
+
- Read the task file's `Quality Assurance Mechanisms` section
|
|
91
|
+
- For executable mechanisms, verify the tool exists and is runnable in the current project, then add it to the quality-check command set
|
|
92
|
+
- For non-executable domain constraints, keep them as explicit verification targets and check the changed files against the stated constraint during review
|
|
93
|
+
- Record skipped mechanisms only when neither executable verification nor direct constraint checking is possible
|
|
94
|
+
|
|
84
95
|
**Step 3: Execute Quality Checks**
|
|
85
96
|
Follow the principles in ai-development-guide skill "Quality Check Workflow" section:
|
|
86
97
|
- Basic checks (lint, format, build)
|
|
@@ -226,6 +237,16 @@ Before setting status to blocked, confirm specifications in this order:
|
|
|
226
237
|
"filesCount": 3
|
|
227
238
|
}
|
|
228
239
|
],
|
|
240
|
+
"taskFileMechanisms": {
|
|
241
|
+
"provided": true,
|
|
242
|
+
"executed": ["mechanism names that were found and executed"],
|
|
243
|
+
"skipped": [
|
|
244
|
+
{
|
|
245
|
+
"mechanism": "mechanism name",
|
|
246
|
+
"reason": "tool not found / config not found / not executable"
|
|
247
|
+
}
|
|
248
|
+
]
|
|
249
|
+
},
|
|
229
250
|
"metrics": {
|
|
230
251
|
"totalErrors": 0,
|
|
231
252
|
"totalWarnings": 0,
|
|
@@ -252,6 +273,16 @@ Before setting status to blocked, confirm specifications in this order:
|
|
|
252
273
|
"Fix attempt 2: Tried aligning implementation to test",
|
|
253
274
|
"Fix attempt 3: Tried inferring specification from Design Doc"
|
|
254
275
|
],
|
|
276
|
+
"taskFileMechanisms": {
|
|
277
|
+
"provided": true,
|
|
278
|
+
"executed": ["mechanisms executed before blocking"],
|
|
279
|
+
"skipped": [
|
|
280
|
+
{
|
|
281
|
+
"mechanism": "mechanism name",
|
|
282
|
+
"reason": "tool not found / config not found / not executable"
|
|
283
|
+
}
|
|
284
|
+
]
|
|
285
|
+
},
|
|
255
286
|
"needsUserDecision": "Please confirm the correct button disabled behavior"
|
|
256
287
|
}
|
|
257
288
|
```
|
|
@@ -269,6 +300,16 @@ Before setting status to blocked, confirm specifications in this order:
|
|
|
269
300
|
"resolutionSteps": ["Install the required browser runtime", "Re-run the E2E check command"]
|
|
270
301
|
}
|
|
271
302
|
],
|
|
303
|
+
"taskFileMechanisms": {
|
|
304
|
+
"provided": true,
|
|
305
|
+
"executed": ["mechanisms executed before blocking"],
|
|
306
|
+
"skipped": [
|
|
307
|
+
{
|
|
308
|
+
"mechanism": "mechanism name",
|
|
309
|
+
"reason": "tool not found / config not found / not executable"
|
|
310
|
+
}
|
|
311
|
+
]
|
|
312
|
+
},
|
|
272
313
|
"checksSkipped": 1,
|
|
273
314
|
"checksPassedWithoutPrerequisites": 2
|
|
274
315
|
}
|
|
@@ -37,6 +37,10 @@ Skill Status:
|
|
|
37
37
|
- Analyze error root causes and execute both auto-fixes and manual fixes autonomously
|
|
38
38
|
- Continue fixing until all phases pass with zero errors, then return approved status
|
|
39
39
|
|
|
40
|
+
## Input Parameters
|
|
41
|
+
|
|
42
|
+
- **task_file** (optional): Path to the task file being verified. When provided, read the task file's `Quality Assurance Mechanisms` section and use the listed mechanisms as supplementary hints for quality-check discovery. Primary detection remains code, manifest, and configuration based.
|
|
43
|
+
|
|
40
44
|
## Initial Required Tasks
|
|
41
45
|
|
|
42
46
|
**Progress Tracking**: Track your work steps. Always include: first "Confirm skill constraints", final "Verify skill fidelity". Update progress upon completion.
|
|
@@ -71,6 +75,7 @@ Treat the following as allowed patterns:
|
|
|
71
75
|
If incomplete implementation is detected, stop immediately and return `status: "stub_detected"` with the affected files and reasons. Proceed to lint, build, and tests only after this check passes.
|
|
72
76
|
|
|
73
77
|
**Step 2: Detect Quality Check Commands**
|
|
78
|
+
**Primary detection** (always execute):
|
|
74
79
|
```bash
|
|
75
80
|
# Auto-detect from project manifest files
|
|
76
81
|
# Identify project structure and extract quality commands:
|
|
@@ -79,6 +84,12 @@ If incomplete implementation is detected, stop immediately and return `status: "
|
|
|
79
84
|
# - Build configuration → extract build/check commands
|
|
80
85
|
```
|
|
81
86
|
|
|
87
|
+
**Supplementary detection** (when `task_file` is provided):
|
|
88
|
+
- Read the task file's `Quality Assurance Mechanisms` section
|
|
89
|
+
- For executable mechanisms, verify the tool exists and is runnable in the current project, then add it to the quality-check command set
|
|
90
|
+
- For non-executable domain constraints, keep them as explicit verification targets and check the changed files against the stated constraint during review
|
|
91
|
+
- Record skipped mechanisms only when neither executable verification nor direct constraint checking is possible
|
|
92
|
+
|
|
82
93
|
**Step 3: Execute Quality Checks**
|
|
83
94
|
Follow the principles in ai-development-guide skill "Quality Check Workflow" section:
|
|
84
95
|
- Basic checks (lint, format, build)
|
|
@@ -197,6 +208,16 @@ Return one of the following as the final response (see Output Format for schemas
|
|
|
197
208
|
"filesCount": 2
|
|
198
209
|
}
|
|
199
210
|
],
|
|
211
|
+
"taskFileMechanisms": {
|
|
212
|
+
"provided": true,
|
|
213
|
+
"executed": ["mechanism names that were found and executed"],
|
|
214
|
+
"skipped": [
|
|
215
|
+
{
|
|
216
|
+
"mechanism": "mechanism name",
|
|
217
|
+
"reason": "tool not found / config not found / not executable"
|
|
218
|
+
}
|
|
219
|
+
]
|
|
220
|
+
},
|
|
200
221
|
"metrics": {
|
|
201
222
|
"totalErrors": 0,
|
|
202
223
|
"totalWarnings": 0,
|
|
@@ -223,6 +244,16 @@ Return one of the following as the final response (see Output Format for schemas
|
|
|
223
244
|
"Fix attempt 2: Tried aligning implementation to test",
|
|
224
245
|
"Fix attempt 3: Tried inferring specification from related documentation"
|
|
225
246
|
],
|
|
247
|
+
"taskFileMechanisms": {
|
|
248
|
+
"provided": true,
|
|
249
|
+
"executed": ["mechanisms executed before blocking"],
|
|
250
|
+
"skipped": [
|
|
251
|
+
{
|
|
252
|
+
"mechanism": "mechanism name",
|
|
253
|
+
"reason": "tool not found / config not found / not executable"
|
|
254
|
+
}
|
|
255
|
+
]
|
|
256
|
+
},
|
|
226
257
|
"needsUserDecision": "Please confirm the correct error code"
|
|
227
258
|
}
|
|
228
259
|
```
|
|
@@ -240,6 +271,16 @@ Return one of the following as the final response (see Output Format for schemas
|
|
|
240
271
|
"resolutionSteps": ["Run the project seed script for E2E fixtures", "Start the dependent local services"]
|
|
241
272
|
}
|
|
242
273
|
],
|
|
274
|
+
"taskFileMechanisms": {
|
|
275
|
+
"provided": true,
|
|
276
|
+
"executed": ["mechanisms executed before blocking"],
|
|
277
|
+
"skipped": [
|
|
278
|
+
{
|
|
279
|
+
"mechanism": "mechanism name",
|
|
280
|
+
"reason": "tool not found / config not found / not executable"
|
|
281
|
+
}
|
|
282
|
+
]
|
|
283
|
+
},
|
|
243
284
|
"checksSkipped": 1,
|
|
244
285
|
"checksPassedWithoutPrerequisites": 3
|
|
245
286
|
}
|
|
@@ -65,6 +65,7 @@ Decompose tasks based on implementation strategy patterns determined in implemen
|
|
|
65
65
|
3. **Task File Generation**
|
|
66
66
|
- Create individual task files in `docs/plans/tasks/`
|
|
67
67
|
- Document concrete executable procedures
|
|
68
|
+
- Include task-level Quality Assurance Mechanisms when the work plan defines them
|
|
68
69
|
- **Always include operation verification methods**
|
|
69
70
|
- Define clear completion criteria (within executor's scope of responsibility)
|
|
70
71
|
|
|
@@ -161,6 +162,18 @@ When the work plan includes one or more Verification Strategy blocks:
|
|
|
161
162
|
4. **Failure handling**: Copy or adapt the relevant plan-level failure response so the executor knows whether to reassess, stop, or escalate.
|
|
162
163
|
5. **Investigation coverage**: Include every resource required for verification, such as existing implementations for comparison, schema definitions, fixtures, contracts, or seed data.
|
|
163
164
|
|
|
165
|
+
## Quality Assurance Mechanism Propagation
|
|
166
|
+
|
|
167
|
+
When the work plan includes a `Quality Assurance Mechanisms` table:
|
|
168
|
+
|
|
169
|
+
1. **Normalize coverage entries**: Treat each `Covered Files` entry as one of: exact file path, ancestor directory path, glob-like pattern, or `project-wide`
|
|
170
|
+
2. **Exact file match**: Include the mechanism when a `Covered Files` entry exactly matches a task Target File
|
|
171
|
+
3. **Ancestor directory match**: Include the mechanism when a `Covered Files` entry is an ancestor directory of a task Target File, for example `src/api/` covers `src/api/handlers/auth.ts` but not `src/api-utils/auth.ts`
|
|
172
|
+
4. **Pattern match**: When a `Covered Files` entry uses a glob-like pattern such as `src/**/*.ts` or `**/*.schema.json`, include the mechanism when the task Target File reasonably matches that pattern
|
|
173
|
+
5. **Include project-wide mechanisms**: If the mechanism is `project-wide` or has no file-specific coverage, include it in every task
|
|
174
|
+
6. **Include matching mechanisms**: Add all matching mechanisms to the task file's `Quality Assurance Mechanisms` section
|
|
175
|
+
7. **Omit empty sections**: If no mechanisms apply to the task, omit that section from the task file
|
|
176
|
+
|
|
164
177
|
## Design-to-Plan Traceability Propagation
|
|
165
178
|
|
|
166
179
|
When the work plan includes a `Design-to-Plan Traceability` section:
|
|
@@ -271,6 +284,7 @@ Please execute decomposed tasks according to the order.
|
|
|
271
284
|
- [ ] Impact scope and boundaries definition for each task
|
|
272
285
|
- [ ] Appropriate granularity (1-5 files/task)
|
|
273
286
|
- [ ] Investigation Targets specified for every task
|
|
287
|
+
- [ ] Quality Assurance Mechanisms propagated to relevant tasks when present in the plan header
|
|
274
288
|
- [ ] Operation Verification Methods specified for every task
|
|
275
289
|
- [ ] Clear completion criteria setting
|
|
276
290
|
- [ ] Overall design document creation
|
|
@@ -167,6 +167,19 @@ Select and execute files with pattern `docs/plans/tasks/*-task-*.md` that have u
|
|
|
167
167
|
3. **Cross-check against Investigation Notes**: Ensure planned implementation is consistent with the observations recorded in the task file
|
|
168
168
|
4. **Execute determination**: Determine continue/escalation per "Mandatory Judgment Criteria" above
|
|
169
169
|
|
|
170
|
+
#### Reference Representativeness (Applied During Implementation)
|
|
171
|
+
|
|
172
|
+
When adopting a pattern, UI composition, or dependency from existing code, apply repository-wide representativeness checks at the point of adoption:
|
|
173
|
+
|
|
174
|
+
□ **Repository-wide verification**: Confirm the referenced pattern is representative across the repository, not just the nearest 2-3 files
|
|
175
|
+
□ **Dependency version verification** (when adopting external dependencies):
|
|
176
|
+
- verify repository-wide usage distribution for the same dependency
|
|
177
|
+
- if following one existing version when alternatives exist, state the reason
|
|
178
|
+
- if repository-wide verification is insufficient to determine the appropriate version, escalate with `reason: "Dependency version uncertain"`
|
|
179
|
+
□ **Coexistence resolution**: When multiple patterns or versions coexist, identify the majority before choosing
|
|
180
|
+
|
|
181
|
+
This is a repeated self-check during implementation, not a one-time pre-implementation gate.
|
|
182
|
+
|
|
170
183
|
#### Implementation Flow (TDD Compliant)
|
|
171
184
|
**Completion Confirmation**: If all checkboxes are `[x]`, report "already completed" and end
|
|
172
185
|
|
|
@@ -325,6 +338,30 @@ When an Investigation Target file does not exist or the path is stale, escalate
|
|
|
325
338
|
}
|
|
326
339
|
```
|
|
327
340
|
|
|
341
|
+
#### 2-4. Dependency Version Uncertain Escalation
|
|
342
|
+
When repository-wide verification is insufficient to determine the appropriate dependency version, escalate in following JSON format:
|
|
343
|
+
|
|
344
|
+
```json
|
|
345
|
+
{
|
|
346
|
+
"status": "escalation_needed",
|
|
347
|
+
"reason": "Dependency version uncertain",
|
|
348
|
+
"taskName": "[Task name being executed]",
|
|
349
|
+
"escalation_type": "dependency_version_uncertain",
|
|
350
|
+
"dependency": {
|
|
351
|
+
"name": "[dependency name]",
|
|
352
|
+
"versionsFound": ["list of versions found in repository"],
|
|
353
|
+
"filesChecked": ["file paths where the dependency usage was found"],
|
|
354
|
+
"ambiguityReason": "[why repository state alone is insufficient]"
|
|
355
|
+
},
|
|
356
|
+
"user_decision_required": true,
|
|
357
|
+
"suggested_options": [
|
|
358
|
+
"Use the majority version already in the repository",
|
|
359
|
+
"Use a different version with explicit rationale",
|
|
360
|
+
"Research the latest stable version and decide after review"
|
|
361
|
+
]
|
|
362
|
+
}
|
|
363
|
+
```
|
|
364
|
+
|
|
328
365
|
## Scope Boundary (delegate to orchestrator)
|
|
329
366
|
- Overall quality checks → handled by quality-fixer-frontend
|
|
330
367
|
- Commit creation → handled by orchestrator after quality checks
|
|
@@ -167,6 +167,19 @@ Select and execute files with pattern `docs/plans/tasks/*-task-*.md` that have u
|
|
|
167
167
|
3. **Cross-check against Investigation Notes**: Ensure planned implementation is consistent with the observations recorded in the task file
|
|
168
168
|
4. **Execute determination**: Determine continue/escalation per "Mandatory Judgment Criteria" above
|
|
169
169
|
|
|
170
|
+
#### Reference Representativeness (Applied During Implementation)
|
|
171
|
+
|
|
172
|
+
When adopting a pattern, API usage, or dependency from existing code, apply repository-wide representativeness checks at the point of adoption:
|
|
173
|
+
|
|
174
|
+
□ **Repository-wide verification**: Confirm the referenced pattern is representative across the repository, not just the nearest 2-3 files
|
|
175
|
+
□ **Dependency version verification** (when adopting external dependencies):
|
|
176
|
+
- verify repository-wide usage distribution for the same dependency
|
|
177
|
+
- if following one existing version when alternatives exist, state the reason
|
|
178
|
+
- if repository-wide verification is insufficient to determine the appropriate version, escalate with `reason: "Dependency version uncertain"`
|
|
179
|
+
□ **Coexistence resolution**: When multiple versions or patterns coexist, identify the majority before choosing
|
|
180
|
+
|
|
181
|
+
This is a repeated self-check during implementation, not a one-time pre-implementation gate.
|
|
182
|
+
|
|
170
183
|
#### Implementation Flow (TDD Compliant)
|
|
171
184
|
|
|
172
185
|
**If all checkboxes already `[x]`**: Report "already completed" and end
|
|
@@ -326,11 +339,36 @@ When an Investigation Target file does not exist or the path is stale, escalate
|
|
|
326
339
|
}
|
|
327
340
|
```
|
|
328
341
|
|
|
342
|
+
#### 2-4. Dependency Version Uncertain Escalation
|
|
343
|
+
When repository-wide verification is insufficient to determine the appropriate dependency version, escalate in following JSON format:
|
|
344
|
+
|
|
345
|
+
```json
|
|
346
|
+
{
|
|
347
|
+
"status": "escalation_needed",
|
|
348
|
+
"reason": "Dependency version uncertain",
|
|
349
|
+
"taskName": "[Task name being executed]",
|
|
350
|
+
"escalation_type": "dependency_version_uncertain",
|
|
351
|
+
"dependency": {
|
|
352
|
+
"name": "[dependency name]",
|
|
353
|
+
"versionsFound": ["list of versions found in repository"],
|
|
354
|
+
"filesChecked": ["file paths where the dependency usage was found"],
|
|
355
|
+
"ambiguityReason": "[why repository state alone is insufficient]"
|
|
356
|
+
},
|
|
357
|
+
"user_decision_required": true,
|
|
358
|
+
"suggested_options": [
|
|
359
|
+
"Use the majority version already in the repository",
|
|
360
|
+
"Use a different version with explicit rationale",
|
|
361
|
+
"Research the latest stable version and decide after review"
|
|
362
|
+
]
|
|
363
|
+
}
|
|
364
|
+
```
|
|
365
|
+
|
|
329
366
|
## Execution Principles
|
|
330
367
|
|
|
331
368
|
- Follow RED-GREEN-REFACTOR (see the principles in testing skill)
|
|
332
369
|
- Update progress checkboxes per step
|
|
333
370
|
- Escalate when: design deviation, similar functions found, investigation target not found, test environment missing
|
|
371
|
+
- Escalate when dependency version or representative pattern choice cannot be determined from repository evidence
|
|
334
372
|
- Stop after implementation and test creation — quality checks and commits are handled separately
|
|
335
373
|
|
|
336
374
|
## Completion Gate [BLOCKING]
|
|
@@ -52,11 +52,18 @@ Must be performed before any investigation:
|
|
|
52
52
|
- Scan project configuration, rule files, and existing code patterns
|
|
53
53
|
- Classify each: **Explicit** (documented) or **Implicit** (observed pattern only)
|
|
54
54
|
|
|
55
|
-
2. **
|
|
56
|
-
-
|
|
55
|
+
2. **Identify Quality Assurance Mechanisms**
|
|
56
|
+
- When Codebase Analysis is provided, use `qualityAssurance` as the primary source
|
|
57
|
+
- Otherwise inspect CI pipelines, linter configs, pre-commit hooks, and project configuration for checks that cover the change area
|
|
58
|
+
- Identify domain-specific constraints from configuration or CI
|
|
59
|
+
- For each mechanism, decide whether it is `adopted` for this change or `noted` with a reason
|
|
60
|
+
|
|
61
|
+
3. **Record in Design Doc**
|
|
62
|
+
- List standards in "Applicable Standards" section with `[explicit]`/`[implicit]` tags
|
|
63
|
+
- List quality assurance mechanisms in "Quality Assurance Mechanisms" section with `adopted` / `noted (reason)` status
|
|
57
64
|
- Implicit standards require user confirmation before design proceeds
|
|
58
65
|
|
|
59
|
-
|
|
66
|
+
4. **Alignment Rule**
|
|
60
67
|
- Design decisions MUST reference applicable standards
|
|
61
68
|
- Deviations MUST have documented rationale
|
|
62
69
|
|
|
@@ -309,6 +316,7 @@ Implementation sample creation checklist:
|
|
|
309
316
|
### Design Doc Checklist
|
|
310
317
|
**All modes**:
|
|
311
318
|
- [ ] **Standards identification gate completed** (required)
|
|
319
|
+
- [ ] **Quality assurance mechanisms identified with adoption status** (required)
|
|
312
320
|
- [ ] **Code inspection evidence recorded** (required)
|
|
313
321
|
- [ ] **Integration points enumerated with contracts** (required)
|
|
314
322
|
- [ ] **Data contracts clarified** (required)
|
|
@@ -65,6 +65,7 @@ Read the Design Doc(s), UI Spec, PRD, and ADR (if provided). Extract:
|
|
|
65
65
|
- Technical dependencies and implementation order
|
|
66
66
|
- Integration points and their contracts
|
|
67
67
|
- Verification Strategy from each Design Doc: correctness definition, target comparison, verification method, observable success indicator, normalized verification timing, and early verification point
|
|
68
|
+
- Quality Assurance Mechanisms from each Design Doc: all items marked `adopted`, including mechanism name, enforced quality aspect, configuration path, and covered files or project-wide scope
|
|
68
69
|
- Implementation-relevant technical requirements from each Design Doc section using the category values defined in the plan template's `Design-to-Plan Traceability` section
|
|
69
70
|
|
|
70
71
|
Focus on implementation-relevant items only: items that directly inform task creation, dependency ordering, verification design, or protected no-change boundaries.
|
|
@@ -81,6 +82,7 @@ Choose Strategy A (TDD) if test skeletons are provided, Strategy B (implementati
|
|
|
81
82
|
**Common rules (all approaches)**:
|
|
82
83
|
- Preserve Verification Strategies per Design Doc in the work plan header and keep each source document path. Merge strategies only when the Design Docs explicitly define a shared one
|
|
83
84
|
- Include Verification Strategy summaries in the work plan header so the plan is self-sufficient for downstream task generation
|
|
85
|
+
- Include adopted Quality Assurance Mechanisms in the work plan header so downstream task generation and quality checks inherit the intended quality gates
|
|
84
86
|
- Place tasks with the lowest dependencies in earlier phases
|
|
85
87
|
- Map normalized verification timing to phases as follows: `phase_1` -> earliest implementation phase, `per_phase` -> each relevant phase, `integration_phase` -> integration phase, `final_phase` -> final Quality Assurance phase
|
|
86
88
|
- Include verification tasks in the phase corresponding to the Verification Strategy timing
|
|
@@ -286,6 +288,7 @@ When creating work plans, **Phase Structure Diagrams** and **Task Dependency Dia
|
|
|
286
288
|
|
|
287
289
|
- [ ] Design Doc(s) consistency verification
|
|
288
290
|
- [ ] Verification Strategies extracted from each Design Doc and included in the plan header without unintended merging
|
|
291
|
+
- [ ] Adopted Quality Assurance Mechanisms extracted from the Design Doc(s) and included in the plan header
|
|
289
292
|
- [ ] Design-to-Plan Traceability table completed for all extracted implementation-relevant DD items
|
|
290
293
|
- [ ] Every row mapped to covering task(s) or justified `gap`
|
|
291
294
|
- [ ] Interface change and propagation items mapped explicitly
|
package/README.md
CHANGED
|
@@ -96,7 +96,7 @@ Ready to commit
|
|
|
96
96
|
### The Diagnosis Pipeline
|
|
97
97
|
|
|
98
98
|
```
|
|
99
|
-
Problem → investigator → verifier (
|
|
99
|
+
Problem → investigator (path map + failure points) → verifier (path coverage + independent failure-point evaluation) → solver → Actionable solutions
|
|
100
100
|
```
|
|
101
101
|
|
|
102
102
|
### Reverse Engineering
|
|
@@ -158,10 +158,10 @@ Invoke recipes with `$recipe-name` in Codex. Type `$recipe-` and use tab complet
|
|
|
158
158
|
| `$recipe-implement` | Full lifecycle with layer routing (backend/frontend/fullstack) | New features — universal entry point |
|
|
159
159
|
| `$recipe-task` | Single task with rule selection | Bug fixes, small changes |
|
|
160
160
|
| `$recipe-design` | Requirements → ADR/Design Doc | Architecture planning |
|
|
161
|
-
| `$recipe-plan` | Design Doc → test skeletons → work plan | Planning phase |
|
|
161
|
+
| `$recipe-plan` | Design Doc → test skeletons → work plan | Planning phase, including nullable E2E skeleton handling |
|
|
162
162
|
| `$recipe-build` | Execute backend tasks autonomously | Resume backend implementation |
|
|
163
163
|
| `$recipe-review` | Design Doc compliance and security validation with auto-fixes | Post-implementation check |
|
|
164
|
-
| `$recipe-diagnose` | Problem investigation → verification → solution | Bug investigation |
|
|
164
|
+
| `$recipe-diagnose` | Problem investigation → failure-point verification → solution | Bug investigation |
|
|
165
165
|
| `$recipe-reverse-engineer` | Generate PRD + Design Docs from existing code | Legacy system documentation |
|
|
166
166
|
| `$recipe-add-integration-tests` | Add integration/E2E tests from Design Doc | Test coverage for existing code |
|
|
167
167
|
| `$recipe-update-doc` | Update existing Design Doc / PRD / ADR with review | Spec changes, document maintenance |
|
|
@@ -217,7 +217,7 @@ These load automatically when the conversation context matches — no explicit i
|
|
|
217
217
|
| `ai-development-guide` | Anti-patterns, debugging (5 Whys), quality check workflow |
|
|
218
218
|
| `documentation-criteria` | Document creation rules and templates (PRD, ADR, Design Doc, Work Plan) |
|
|
219
219
|
| `implementation-approach` | Strategy selection: vertical / horizontal / hybrid slicing |
|
|
220
|
-
| `integration-e2e-testing` | Integration/E2E test design,
|
|
220
|
+
| `integration-e2e-testing` | Integration/E2E test design, value-based selection, review criteria |
|
|
221
221
|
| `task-analyzer` | Task analysis, scale estimation, skill selection |
|
|
222
222
|
| `subagents-orchestration-guide` | Multi-agent coordination, workflow flows, autonomous execution |
|
|
223
223
|
|
|
@@ -269,8 +269,8 @@ Codex spawns these as needed during recipe execution. Each agent runs in its own
|
|
|
269
269
|
|
|
270
270
|
| Agent | Role |
|
|
271
271
|
|-------|------|
|
|
272
|
-
| `investigator` | Evidence collection and
|
|
273
|
-
| `verifier` |
|
|
272
|
+
| `investigator` | Evidence collection, path mapping, and failure-point discovery |
|
|
273
|
+
| `verifier` | Path coverage validation and independent failure-point evaluation |
|
|
274
274
|
| `solver` | Solution derivation with tradeoff analysis |
|
|
275
275
|
|
|
276
276
|
---
|
|
@@ -282,7 +282,7 @@ Codex spawns these as needed during recipe execution. Each agent runs in its own
|
|
|
282
282
|
After work plan approval, the framework enters guided autonomous execution with escalation points:
|
|
283
283
|
|
|
284
284
|
1. **task-executor** implements each task with TDD
|
|
285
|
-
2. **quality-fixer**
|
|
285
|
+
2. **quality-fixer** first rejects incomplete task-scoped implementations, then runs lint, tests, and build before every commit
|
|
286
286
|
3. Escalation pauses execution when design deviation or ambiguity is detected
|
|
287
287
|
4. Each task produces one commit — rollback-friendly granularity
|
|
288
288
|
|
|
@@ -363,9 +363,9 @@ A: `$recipe-implement` is the universal entry point. It runs requirement-analyze
|
|
|
363
363
|
|
|
364
364
|
A: Yes. Codex skills and subagents work alongside [MCP](https://developers.openai.com/codex/mcp) — skills operate at the instruction layer while MCP operates at the tool transport layer. You can add MCP servers to any agent's TOML configuration.
|
|
365
365
|
|
|
366
|
-
**Q: What if a subagent
|
|
366
|
+
**Q: What if a subagent seems stuck?**
|
|
367
367
|
|
|
368
|
-
A:
|
|
368
|
+
A: Long waits can be normal in this workflow because many subagents perform substantial multi-step work. The orchestrator keeps ownership of the pending deliverable, continues waiting for the required output, and uses diagnostics only to confirm missing inputs or restate the pending deliverable. User direction remains the boundary for interrupting that work.
|
|
369
369
|
|
|
370
370
|
---
|
|
371
371
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codex-workflows",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.10",
|
|
4
4
|
"description": "Task-oriented agentic coding framework for OpenAI Codex CLI — skills, recipes, and subagents for structured development workflows",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Shinsuke Kagawa",
|