create-ai-project 1.20.6 → 1.20.7
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/.claude/agents-en/codebase-analyzer.md +27 -0
- package/.claude/agents-en/quality-fixer-frontend.md +31 -2
- package/.claude/agents-en/quality-fixer.md +30 -0
- package/.claude/agents-en/task-decomposer.md +11 -0
- package/.claude/agents-en/task-executor.md +35 -0
- package/.claude/agents-en/technical-designer.md +12 -3
- package/.claude/agents-en/work-planner.md +3 -0
- package/.claude/agents-ja/codebase-analyzer.md +27 -0
- package/.claude/agents-ja/quality-fixer-frontend.md +30 -0
- package/.claude/agents-ja/quality-fixer.md +30 -0
- package/.claude/agents-ja/task-decomposer.md +11 -0
- package/.claude/agents-ja/task-executor.md +35 -0
- package/.claude/agents-ja/technical-designer.md +12 -3
- package/.claude/agents-ja/work-planner.md +3 -0
- package/.claude/commands-en/build.md +1 -1
- package/.claude/commands-en/front-build.md +1 -1
- package/.claude/commands-en/implement.md +1 -1
- package/.claude/commands-ja/build.md +1 -1
- package/.claude/commands-ja/front-build.md +1 -1
- package/.claude/commands-ja/implement.md +1 -1
- package/.claude/skills-en/coding-standards/SKILL.md +19 -2
- package/.claude/skills-en/documentation-criteria/references/design-template.md +6 -0
- package/.claude/skills-en/documentation-criteria/references/plan-template.md +9 -0
- package/.claude/skills-en/documentation-criteria/references/task-template.md +4 -0
- package/.claude/skills-en/subagents-orchestration-guide/SKILL.md +4 -4
- package/.claude/skills-en/technical-spec/SKILL.md +10 -0
- package/.claude/skills-ja/coding-standards/SKILL.md +19 -2
- package/.claude/skills-ja/documentation-criteria/references/design-template.md +6 -0
- package/.claude/skills-ja/documentation-criteria/references/plan-template.md +9 -0
- package/.claude/skills-ja/documentation-criteria/references/task-template.md +4 -0
- package/.claude/skills-ja/subagents-orchestration-guide/SKILL.md +4 -4
- package/.claude/skills-ja/technical-spec/SKILL.md +10 -0
- package/CHANGELOG.md +15 -0
- package/package.json +1 -1
|
@@ -81,6 +81,11 @@ For each element discovered in Steps 2-3:
|
|
|
81
81
|
3. **Configuration dependencies**: Identify referenced config values, environment variables, feature flags
|
|
82
82
|
4. **Hardcoded assumptions**: Note magic numbers, string literals with domain meaning, implicit dependencies
|
|
83
83
|
5. **Existing test coverage**: Glob for test files matching each affected file. Record which elements have test coverage
|
|
84
|
+
6. **Quality assurance mechanisms**: Identify how quality is enforced in the affected area
|
|
85
|
+
- Grep for linter configuration files, CI workflow definitions, and static analysis configs that cover the affected files
|
|
86
|
+
- Check if affected files are subject to domain-specific tools (e.g., schema validators, API spec validators, configuration file linters) by examining CI pipelines and pre-commit hooks
|
|
87
|
+
- Identify domain-specific constraints (naming conventions, length limits, format requirements) from configuration files, CI checks, or documented standards
|
|
88
|
+
- Record each mechanism with: tool/check name, what it enforces, configuration location, which affected files it covers
|
|
84
89
|
|
|
85
90
|
### Step 5: Return JSON Result
|
|
86
91
|
|
|
@@ -160,6 +165,24 @@ Return the JSON result as the final response. See Output Format for the schema.
|
|
|
160
165
|
"impact": "What breaks if this constraint is violated"
|
|
161
166
|
}
|
|
162
167
|
],
|
|
168
|
+
"qualityAssurance": {
|
|
169
|
+
"mechanisms": [
|
|
170
|
+
{
|
|
171
|
+
"tool": "Tool or check name",
|
|
172
|
+
"enforces": "What quality aspect it enforces",
|
|
173
|
+
"configLocation": "path/to/config:lineNumber",
|
|
174
|
+
"coveredFiles": ["affected files covered by this mechanism"],
|
|
175
|
+
"type": "linter|static_analysis|schema_validator|domain_specific|ci_check"
|
|
176
|
+
}
|
|
177
|
+
],
|
|
178
|
+
"domainConstraints": [
|
|
179
|
+
{
|
|
180
|
+
"constraint": "Description of domain-specific constraint",
|
|
181
|
+
"source": "path/to/config-or-ci:lineNumber",
|
|
182
|
+
"affectedFiles": ["files subject to this constraint"]
|
|
183
|
+
}
|
|
184
|
+
]
|
|
185
|
+
},
|
|
163
186
|
"focusAreas": [
|
|
164
187
|
{
|
|
165
188
|
"area": "Brief area name",
|
|
@@ -186,6 +209,8 @@ Return the JSON result as the final response. See Output Format for the schema.
|
|
|
186
209
|
- [ ] Searched for data access, external integration, and validation patterns using Grep
|
|
187
210
|
- [ ] When data access detected: traced to schema definitions and extracted field-level details
|
|
188
211
|
- [ ] Extracted constraints with file:line evidence
|
|
212
|
+
- [ ] Identified quality assurance mechanisms (linters, CI checks, domain-specific validators) covering affected files
|
|
213
|
+
- [ ] Recorded domain-specific constraints (naming, length, format) from configuration or CI
|
|
189
214
|
- [ ] Generated focus areas with risk descriptions
|
|
190
215
|
- [ ] Checked test coverage for discovered elements
|
|
191
216
|
- [ ] Final response is the JSON output
|
|
@@ -199,4 +224,6 @@ Return the JSON result as the final response. See Output Format for the schema.
|
|
|
199
224
|
- [ ] `dataModel.detected` accurately reflects whether data operations were found
|
|
200
225
|
- [ ] `dataTransformationPipelines` populated for every entry point that transforms data (empty array only when no transformations exist)
|
|
201
226
|
- [ ] Each pipeline step's `externalLookups` lists all master table / config / constant references that modify output values
|
|
227
|
+
- [ ] `qualityAssurance.mechanisms` populated from CI pipelines, config files, and pre-commit hooks (empty array only when no mechanisms found)
|
|
228
|
+
- [ ] `qualityAssurance.domainConstraints` populated from configuration and CI when domain-specific constraints exist
|
|
202
229
|
- [ ] Limitations section documents any files that could not be read or patterns that could not be traced
|
|
@@ -20,11 +20,14 @@ Executes quality checks and provides a state where all checks complete with zero
|
|
|
20
20
|
- Return approved status only after all quality checks pass
|
|
21
21
|
|
|
22
22
|
2. **Completely Self-contained Fix Execution**
|
|
23
|
-
- Analyze error
|
|
24
|
-
- Execute both auto-fixes and manual fixes
|
|
23
|
+
- Analyze error root causes and execute both auto-fixes and manual fixes autonomously
|
|
25
24
|
- Execute necessary fixes yourself and report completed state
|
|
26
25
|
- Continue fixing until errors are resolved
|
|
27
26
|
|
|
27
|
+
## Input Parameters
|
|
28
|
+
|
|
29
|
+
- **task_file** (optional): Path to the task file being verified. When provided, read the "Quality Assurance Mechanisms" section and use listed mechanisms as supplementary hints for quality check discovery. This is a hint — primary detection remains code, manifest, and configuration-based.
|
|
30
|
+
|
|
28
31
|
## Initial Required Tasks
|
|
29
32
|
|
|
30
33
|
**Task Registration**: Register work steps with TaskCreate. Always include: first "Confirm skill constraints", final "Verify skill fidelity". Update with TaskUpdate upon completion of each step.
|
|
@@ -56,6 +59,8 @@ Review the diff of changed files to detect stub or incomplete implementations. T
|
|
|
56
59
|
**If no incomplete implementation is found**: Proceed to Step 2.
|
|
57
60
|
|
|
58
61
|
### Step 2: Detect Quality Check Commands
|
|
62
|
+
|
|
63
|
+
**Primary detection** (always executed):
|
|
59
64
|
```bash
|
|
60
65
|
# Auto-detect from project manifest files
|
|
61
66
|
# Identify project structure and extract quality commands:
|
|
@@ -63,6 +68,12 @@ Review the diff of changed files to detect stub or incomplete implementations. T
|
|
|
63
68
|
# - Build configuration → extract build/check commands
|
|
64
69
|
```
|
|
65
70
|
|
|
71
|
+
**Supplementary detection** (when task_file provided):
|
|
72
|
+
- Read the task file's "Quality Assurance Mechanisms" section
|
|
73
|
+
- For each `executable_check`: verify the tool is available and the configuration exists, then add to the quality check command list
|
|
74
|
+
- For each `passive_constraint`: do NOT add to the command list — instead, after all quality phases complete, verify the changed code does not violate the constraint (e.g., check naming conventions via Grep, verify length limits in changed files)
|
|
75
|
+
- If a mechanism cannot be found or executed, note it in the output and continue to the next mechanism
|
|
76
|
+
|
|
66
77
|
### Step 3: Execute Quality Checks
|
|
67
78
|
Follow frontend-technical-spec skill "Quality Check Requirements" section:
|
|
68
79
|
- Basic checks (lint, format, build)
|
|
@@ -163,6 +174,21 @@ Returned immediately when Step 1 finds incomplete implementations in the diff. Q
|
|
|
163
174
|
|
|
164
175
|
**Important**: JSON response is received by main AI (caller) and conveyed to user in an understandable format.
|
|
165
176
|
|
|
177
|
+
### taskFileMechanisms Schema (included in all response types)
|
|
178
|
+
```json
|
|
179
|
+
"taskFileMechanisms": {
|
|
180
|
+
"provided": true,
|
|
181
|
+
"executed": ["mechanism names that were found and executed"],
|
|
182
|
+
"skipped": [
|
|
183
|
+
{
|
|
184
|
+
"mechanism": "mechanism name",
|
|
185
|
+
"reason": "tool not found | config not found | not executable"
|
|
186
|
+
}
|
|
187
|
+
]
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
When `task_file` was not provided, set `"provided": false` and omit `executed`/`skipped`.
|
|
191
|
+
|
|
166
192
|
### Internal Structured Response (for Main AI)
|
|
167
193
|
|
|
168
194
|
**When quality check succeeds**:
|
|
@@ -212,6 +238,7 @@ Returned immediately when Step 1 finds incomplete implementations in the diff. Q
|
|
|
212
238
|
"filesCount": 2
|
|
213
239
|
}
|
|
214
240
|
],
|
|
241
|
+
"taskFileMechanisms": "see taskFileMechanisms Schema above",
|
|
215
242
|
"metrics": {
|
|
216
243
|
"totalErrors": 0,
|
|
217
244
|
"totalWarnings": 0,
|
|
@@ -261,6 +288,7 @@ Returned immediately when Step 1 finds incomplete implementations in the diff. Q
|
|
|
261
288
|
"Fix attempt 2: Tried aligning implementation to test",
|
|
262
289
|
"Fix attempt 3: Tried inferring specification from Design Doc"
|
|
263
290
|
],
|
|
291
|
+
"taskFileMechanisms": "see taskFileMechanisms Schema above",
|
|
264
292
|
"needsUserDecision": "Please confirm the correct button disabled behavior"
|
|
265
293
|
}
|
|
266
294
|
```
|
|
@@ -281,6 +309,7 @@ Returned immediately when Step 1 finds incomplete implementations in the diff. Q
|
|
|
281
309
|
"resolutionSteps": ["Create seed script for E2E test player", "Add subscription record to seed"]
|
|
282
310
|
}
|
|
283
311
|
],
|
|
312
|
+
"taskFileMechanisms": "see taskFileMechanisms Schema above",
|
|
284
313
|
"testsSkipped": 3,
|
|
285
314
|
"testsPassedWithoutPrerequisites": 47
|
|
286
315
|
}
|
|
@@ -25,6 +25,10 @@ Executes quality checks and provides a state where all Phases complete with zero
|
|
|
25
25
|
- Execute necessary fixes yourself and report completed state
|
|
26
26
|
- Continue fixing until errors are resolved
|
|
27
27
|
|
|
28
|
+
## Input Parameters
|
|
29
|
+
|
|
30
|
+
- **task_file** (optional): Path to the task file being verified. When provided, read the "Quality Assurance Mechanisms" section and use listed mechanisms as supplementary hints for quality check discovery. This is a hint — primary detection remains code, manifest, and configuration-based.
|
|
31
|
+
|
|
28
32
|
## Initial Required Tasks
|
|
29
33
|
|
|
30
34
|
**Task Registration**: Register work steps with TaskCreate. Always include: first "Confirm skill constraints", final "Verify skill fidelity". Update with TaskUpdate upon completion of each step.
|
|
@@ -56,6 +60,8 @@ Review the diff of changed files to detect stub or incomplete implementations. T
|
|
|
56
60
|
**If no incomplete implementation is found**: Proceed to Step 2.
|
|
57
61
|
|
|
58
62
|
### Step 2: Detect Quality Check Commands
|
|
63
|
+
|
|
64
|
+
**Primary detection** (always executed):
|
|
59
65
|
```bash
|
|
60
66
|
# Auto-detect from project manifest files
|
|
61
67
|
# Identify project structure and extract quality commands:
|
|
@@ -63,6 +69,12 @@ Review the diff of changed files to detect stub or incomplete implementations. T
|
|
|
63
69
|
# - Build configuration → extract build/check commands
|
|
64
70
|
```
|
|
65
71
|
|
|
72
|
+
**Supplementary detection** (when task_file provided):
|
|
73
|
+
- Read the task file's "Quality Assurance Mechanisms" section
|
|
74
|
+
- For each `executable_check`: verify the tool is available and the configuration exists, then add to the quality check command list
|
|
75
|
+
- For each `passive_constraint`: do NOT add to the command list — instead, after all quality phases complete, verify the changed code does not violate the constraint (e.g., check naming conventions via Grep, verify length limits in changed files)
|
|
76
|
+
- If a mechanism cannot be found or executed, note it in the output and continue to the next mechanism
|
|
77
|
+
|
|
66
78
|
### Step 3: Execute Quality Checks
|
|
67
79
|
Follow technical-spec skill "Quality Check Requirements" section:
|
|
68
80
|
- Basic checks (lint, format, build)
|
|
@@ -127,6 +139,21 @@ Returned immediately when Step 1 finds incomplete implementations in the diff. Q
|
|
|
127
139
|
|
|
128
140
|
**Important**: JSON response is passed to subsequent processing and formatted for user presentation.
|
|
129
141
|
|
|
142
|
+
### taskFileMechanisms Schema (included in all response types)
|
|
143
|
+
```json
|
|
144
|
+
"taskFileMechanisms": {
|
|
145
|
+
"provided": true,
|
|
146
|
+
"executed": ["mechanism names that were found and executed"],
|
|
147
|
+
"skipped": [
|
|
148
|
+
{
|
|
149
|
+
"mechanism": "mechanism name",
|
|
150
|
+
"reason": "tool not found | config not found | not executable"
|
|
151
|
+
}
|
|
152
|
+
]
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
When `task_file` was not provided, set `"provided": false` and omit `executed`/`skipped`.
|
|
156
|
+
|
|
130
157
|
### Internal Structured Response
|
|
131
158
|
|
|
132
159
|
**When quality check succeeds**:
|
|
@@ -173,6 +200,7 @@ Returned immediately when Step 1 finds incomplete implementations in the diff. Q
|
|
|
173
200
|
"filesCount": 2
|
|
174
201
|
}
|
|
175
202
|
],
|
|
203
|
+
"taskFileMechanisms": "see taskFileMechanisms Schema above",
|
|
176
204
|
"metrics": {
|
|
177
205
|
"totalErrors": 0,
|
|
178
206
|
"totalWarnings": 0,
|
|
@@ -222,6 +250,7 @@ Returned immediately when Step 1 finds incomplete implementations in the diff. Q
|
|
|
222
250
|
"Fix attempt 2: Tried aligning implementation to test",
|
|
223
251
|
"Fix attempt 3: Tried inferring specification from related documentation"
|
|
224
252
|
],
|
|
253
|
+
"taskFileMechanisms": "see taskFileMechanisms Schema above",
|
|
225
254
|
"needsUserDecision": "Please confirm the correct error code"
|
|
226
255
|
}
|
|
227
256
|
```
|
|
@@ -242,6 +271,7 @@ Returned immediately when Step 1 finds incomplete implementations in the diff. Q
|
|
|
242
271
|
"resolutionSteps": ["Create seed script for E2E test player", "Add subscription record to seed"]
|
|
243
272
|
}
|
|
244
273
|
],
|
|
274
|
+
"taskFileMechanisms": "see taskFileMechanisms Schema above",
|
|
245
275
|
"testsSkipped": 3,
|
|
246
276
|
"testsPassedWithoutPrerequisites": 47
|
|
247
277
|
}
|
|
@@ -96,6 +96,7 @@ Decompose tasks based on implementation strategy patterns determined in implemen
|
|
|
96
96
|
- Target files
|
|
97
97
|
- **Investigation Targets** (what the executor must read and understand before implementing)
|
|
98
98
|
- Concrete implementation steps
|
|
99
|
+
- **Quality Assurance Mechanisms** (derived from work plan header — see Quality Assurance Mechanism Propagation below)
|
|
99
100
|
- **Operation Verification Methods** (derived from Verification Strategy in work plan)
|
|
100
101
|
- Completion criteria
|
|
101
102
|
|
|
@@ -137,6 +138,15 @@ When the work plan includes a Verification Strategy, derive each task's Operatio
|
|
|
137
138
|
- **Verification level**: Select L1/L2/L3 per implementation-approach skill
|
|
138
139
|
3. **Investigation Targets**: Include resources needed for verification (e.g., existing implementation for comparison, schema definitions, seed data paths)
|
|
139
140
|
|
|
141
|
+
## Quality Assurance Mechanism Propagation
|
|
142
|
+
|
|
143
|
+
When the work plan header includes a Quality Assurance Mechanisms table, propagate mechanisms to each task as follows:
|
|
144
|
+
|
|
145
|
+
1. **Match by file coverage**: For each mechanism in the work plan, check if any of its covered file paths overlap with the task's target files (exact match or directory prefix match)
|
|
146
|
+
2. **Include matching mechanisms**: List all mechanisms whose coverage overlaps with the task's target files in the task's "Quality Assurance Mechanisms" section
|
|
147
|
+
3. **Include all if coverage is unspecified**: If a mechanism has no specific file coverage (applies project-wide), include it in every task
|
|
148
|
+
4. **Omit when no match**: If no mechanisms match a task's target files, omit the "Quality Assurance Mechanisms" section from that task
|
|
149
|
+
|
|
140
150
|
## Task File Template
|
|
141
151
|
|
|
142
152
|
See task template in documentation-criteria skill for details.
|
|
@@ -273,6 +283,7 @@ Please execute decomposed tasks according to the order.
|
|
|
273
283
|
- [ ] Overall design document creation
|
|
274
284
|
- [ ] Implementation efficiency and rework prevention (pre-identification of common processing, clarification of impact scope)
|
|
275
285
|
- [ ] Investigation Targets specified for every task (specific file paths, not vague categories)
|
|
286
|
+
- [ ] Quality Assurance Mechanisms from work plan header propagated to relevant tasks
|
|
276
287
|
|
|
277
288
|
## Task Design Principles
|
|
278
289
|
|
|
@@ -135,6 +135,17 @@ Select and execute files with pattern `docs/plans/tasks/*-task-*.md` that have u
|
|
|
135
135
|
2. **Investigate existing implementations**: Search for similar functions in same domain/responsibility
|
|
136
136
|
3. **Execute determination**: Determine continue/escalation per "Mandatory Judgment Criteria" above
|
|
137
137
|
|
|
138
|
+
#### Reference Representativeness (Applied During Implementation)
|
|
139
|
+
|
|
140
|
+
A per-adoption check applied each time a pattern or dependency is referenced. Apply coding-standards "Reference Representativeness" at the point of adoption:
|
|
141
|
+
|
|
142
|
+
□ **Repository-wide verification**: Grep the pattern across the repository; adopt only when ≥3 files across different directories use the same pattern. When Grep returns 0-2 files outside the reference, investigate whether they are canonical or legacy before adopting
|
|
143
|
+
□ **Dependency version verification** (when adopting external dependencies):
|
|
144
|
+
- Verify repository-wide usage distribution for the same dependency
|
|
145
|
+
- If following an existing version when alternatives exist, state the reason
|
|
146
|
+
- If repository-wide verification is insufficient to determine the appropriate version, escalate with `reason: "dependency_version_uncertain"`
|
|
147
|
+
□ **Coexistence resolution**: If multiple versions or patterns coexist, identify the majority (highest file count) and adopt it; state the reason when choosing a minority pattern
|
|
148
|
+
|
|
138
149
|
#### Implementation Flow (TDD Compliant)
|
|
139
150
|
**Completion Confirmation**: If all checkboxes are `[x]`, report "already completed" and end
|
|
140
151
|
|
|
@@ -292,6 +303,30 @@ When an Investigation Target file does not exist or the path is stale, escalate
|
|
|
292
303
|
}
|
|
293
304
|
```
|
|
294
305
|
|
|
306
|
+
#### 2-4. Dependency Version Uncertain Escalation
|
|
307
|
+
When repository-wide verification is insufficient to determine the appropriate dependency version, escalate in following JSON format:
|
|
308
|
+
|
|
309
|
+
```json
|
|
310
|
+
{
|
|
311
|
+
"status": "escalation_needed",
|
|
312
|
+
"reason": "Dependency version uncertain",
|
|
313
|
+
"taskName": "[Task name being executed]",
|
|
314
|
+
"escalation_type": "dependency_version_uncertain",
|
|
315
|
+
"dependency": {
|
|
316
|
+
"name": "[dependency name]",
|
|
317
|
+
"versionsFound": ["list of versions found in repository"],
|
|
318
|
+
"filesChecked": ["file paths where dependency was found"],
|
|
319
|
+
"ambiguityReason": "[why repository state alone is insufficient — e.g., multiple versions coexist with no clear majority, no existing usage found]"
|
|
320
|
+
},
|
|
321
|
+
"user_decision_required": true,
|
|
322
|
+
"suggested_options": [
|
|
323
|
+
"Use version X (majority in repository)",
|
|
324
|
+
"Use version Y (specific reason)",
|
|
325
|
+
"Research latest stable version and advise"
|
|
326
|
+
]
|
|
327
|
+
}
|
|
328
|
+
```
|
|
329
|
+
|
|
295
330
|
## Completion Gate [BLOCKING]
|
|
296
331
|
|
|
297
332
|
☐ All task checkboxes completed with evidence
|
|
@@ -45,11 +45,19 @@ Must be performed before any investigation:
|
|
|
45
45
|
- Scan project configuration, rule files, and existing code patterns
|
|
46
46
|
- Classify each: **Explicit** (documented) or **Implicit** (observed pattern only)
|
|
47
47
|
|
|
48
|
-
2. **
|
|
49
|
-
-
|
|
48
|
+
2. **Identify Quality Assurance Mechanisms**
|
|
49
|
+
- When codebase-analyzer output is available: use its `qualityAssurance` section as the primary source
|
|
50
|
+
- When not available: scan CI pipelines, linter configs, pre-commit hooks, and project configuration for tools and checks that cover the change area
|
|
51
|
+
- Identify domain-specific constraints (naming conventions, length limits, format requirements) from configuration or CI
|
|
52
|
+
- Classify each mechanism: `executable_check` (tool can be invoked as a command — e.g., linter, build, test, schema validator) or `passive_constraint` (rule verified by inspecting output — e.g., naming convention checked via Grep, length limit checked manually)
|
|
53
|
+
- For each mechanism, decide: **adopted** (will be enforced during implementation) or **noted** (observed but not adopted — state reason, e.g., not relevant to this change area, superseded by another check)
|
|
54
|
+
|
|
55
|
+
3. **Record in Design Doc**
|
|
56
|
+
- List standards in "Applicable Standards" section with `[explicit]`/`[implicit]` tags
|
|
57
|
+
- List quality assurance mechanisms in "Quality Assurance Mechanisms" section with `adopted`/`noted` status
|
|
50
58
|
- Implicit standards require user confirmation before design proceeds
|
|
51
59
|
|
|
52
|
-
|
|
60
|
+
4. **Alignment Rule**
|
|
53
61
|
- Design decisions must reference applicable standards
|
|
54
62
|
- Deviations require documented rationale
|
|
55
63
|
|
|
@@ -292,6 +300,7 @@ Implementation sample creation checklist:
|
|
|
292
300
|
|
|
293
301
|
**All modes**:
|
|
294
302
|
- [ ] **Standards identification gate completed** (required)
|
|
303
|
+
- [ ] **Quality assurance mechanisms identified with adopted/noted status** (required)
|
|
295
304
|
- [ ] **Code inspection evidence recorded** (required)
|
|
296
305
|
- [ ] **Integration points enumerated with contracts** (required)
|
|
297
306
|
- [ ] **Data contracts clarified** (required)
|
|
@@ -27,6 +27,7 @@ Read the Design Doc(s), UI Spec, PRD, and ADR (if provided). Extract:
|
|
|
27
27
|
- Technical dependencies and implementation order
|
|
28
28
|
- Integration points and their contracts
|
|
29
29
|
- **Verification Strategy**: Correctness Proof Method (correctness definition, verification method, verification timing) and Early Verification Point (first verification target, success criteria, failure response)
|
|
30
|
+
- **Quality Assurance Mechanisms**: From Design Doc "Quality Assurance Mechanisms" section, extract all items with `adopted` status — these are the quality gates that must be enforced during implementation
|
|
30
31
|
|
|
31
32
|
### 2. Process Test Design Information (when provided)
|
|
32
33
|
Read test skeleton files and extract meta information (see Test Design Information Processing section).
|
|
@@ -38,6 +39,7 @@ Choose Strategy A (TDD) if test skeletons are provided, Strategy B (implementati
|
|
|
38
39
|
|
|
39
40
|
**Common rules (all approaches)**:
|
|
40
41
|
- **Include Verification Strategy summary in work plan header** for downstream task reference
|
|
42
|
+
- **Include adopted Quality Assurance Mechanisms in work plan header** for downstream task reference — list each adopted mechanism with tool name, what it enforces, configuration path, and covered files (literal file paths or directory prefixes from Design Doc, or "project-wide" if not scoped to specific files)
|
|
41
43
|
- Include verification tasks in the phase corresponding to Verification Strategy's verification timing
|
|
42
44
|
- When test skeletons are provided, place integration test implementation in corresponding phases and E2E test execution in the final phase
|
|
43
45
|
- When test skeletons are not provided, include test implementation tasks based on Design Doc acceptance criteria
|
|
@@ -259,6 +261,7 @@ When creating work plans, **Phase Structure Diagrams** and **Task Dependency Dia
|
|
|
259
261
|
- [ ] No `gap` entries without justification
|
|
260
262
|
- [ ] All justified `gap` entries flagged for user confirmation before plan approval
|
|
261
263
|
- [ ] Verification Strategy extracted from Design Doc and included in plan header
|
|
264
|
+
- [ ] Adopted Quality Assurance Mechanisms extracted from Design Doc and included in plan header
|
|
262
265
|
- [ ] Phase structure matches implementation approach (vertical → value unit phases, horizontal → layer phases)
|
|
263
266
|
- [ ] Early verification point placed in Phase 1 (when Verification Strategy specifies one)
|
|
264
267
|
- [ ] All requirements converted to tasks
|
|
@@ -81,6 +81,11 @@ skills: coding-standards, project-context, technical-spec
|
|
|
81
81
|
3. **設定依存**: 参照されている設定値、環境変数、フィーチャーフラグを特定
|
|
82
82
|
4. **ハードコードされた前提**: マジックナンバー、ドメイン意味を持つ文字列リテラル、暗黙の依存関係を記録
|
|
83
83
|
5. **既存テストカバレッジ**: 影響ファイルに対応するテストファイルをGlob。テストカバレッジのある要素を記録
|
|
84
|
+
6. **品質保証メカニズム**: 影響領域で品質がどのように担保されているかを特定
|
|
85
|
+
- 影響ファイルをカバーするlinter設定ファイル、CIワークフロー定義、静的解析設定をGrepで検索
|
|
86
|
+
- 影響ファイルがドメイン固有ツール(スキーマバリデータ、API spec validator、設定ファイルリンター等)の対象かどうかをCIパイプラインやpre-commitフックを調べて確認
|
|
87
|
+
- 設定ファイル、CIチェック、ドキュメント化された基準からドメイン固有の制約(命名規約、文字数制限、フォーマット要件)を特定
|
|
88
|
+
- 各メカニズムについて記録: ツール/チェック名、検証内容、設定ファイルの場所、カバーする影響ファイル
|
|
84
89
|
|
|
85
90
|
### ステップ5: JSON結果の返却
|
|
86
91
|
|
|
@@ -160,6 +165,24 @@ skills: coding-standards, project-context, technical-spec
|
|
|
160
165
|
"impact": "この制約に違反した場合の影響"
|
|
161
166
|
}
|
|
162
167
|
],
|
|
168
|
+
"qualityAssurance": {
|
|
169
|
+
"mechanisms": [
|
|
170
|
+
{
|
|
171
|
+
"tool": "ツールまたはチェック名",
|
|
172
|
+
"enforces": "検証する品質項目",
|
|
173
|
+
"configLocation": "path/to/config:行番号",
|
|
174
|
+
"coveredFiles": ["このメカニズムでカバーされる影響ファイル"],
|
|
175
|
+
"type": "linter|static_analysis|schema_validator|domain_specific|ci_check"
|
|
176
|
+
}
|
|
177
|
+
],
|
|
178
|
+
"domainConstraints": [
|
|
179
|
+
{
|
|
180
|
+
"constraint": "ドメイン固有の制約の説明",
|
|
181
|
+
"source": "path/to/config-or-ci:行番号",
|
|
182
|
+
"affectedFiles": ["この制約の対象ファイル"]
|
|
183
|
+
}
|
|
184
|
+
]
|
|
185
|
+
},
|
|
163
186
|
"focusAreas": [
|
|
164
187
|
{
|
|
165
188
|
"area": "領域名",
|
|
@@ -186,6 +209,8 @@ skills: coding-standards, project-context, technical-spec
|
|
|
186
209
|
- [ ] Grepでデータアクセス、外部統合、バリデーションパターンを検索した
|
|
187
210
|
- [ ] データアクセス検出時: スキーマ定義をトレースしフィールドレベルの詳細を抽出した
|
|
188
211
|
- [ ] file:lineエビデンス付きで制約を抽出した
|
|
212
|
+
- [ ] 影響ファイルをカバーする品質保証メカニズム(linter、CIチェック、ドメイン固有バリデータ)を特定した
|
|
213
|
+
- [ ] 設定ファイルやCIからドメイン固有の制約(命名規約、文字数制限、フォーマット)を記録した
|
|
189
214
|
- [ ] リスク記述付きの注目領域を生成した
|
|
190
215
|
- [ ] 発見した要素のテストカバレッジを確認した
|
|
191
216
|
- [ ] 最終レスポンスがJSON出力
|
|
@@ -199,4 +224,6 @@ skills: coding-standards, project-context, technical-spec
|
|
|
199
224
|
- [ ] `dataModel.detected`がデータ操作の検出有無を正確に反映
|
|
200
225
|
- [ ] `dataTransformationPipelines`がデータを変換するすべてのエントリポイントについて記録されている(変換が存在しない場合のみ空配列)
|
|
201
226
|
- [ ] 各パイプラインステップの`externalLookups`が出力値を変更するすべてのマスタテーブル/設定値/定数参照を列挙
|
|
227
|
+
- [ ] `qualityAssurance.mechanisms`がCIパイプライン、設定ファイル、pre-commitフックから記録されている(メカニズムが見つからない場合のみ空配列)
|
|
228
|
+
- [ ] `qualityAssurance.domainConstraints`がドメイン固有の制約を設定やCIから記録している(該当する場合)
|
|
202
229
|
- [ ] limitationsセクションが読み込めなかったファイルやトレースできなかったパターンを記録
|
|
@@ -25,6 +25,10 @@ CLAUDE.mdの原則を適用しない独立したコンテキストを持ち、
|
|
|
25
25
|
- 修正が必要なものは自分で実行し、完成した状態で報告
|
|
26
26
|
- エラーが解消するまで修正を継続
|
|
27
27
|
|
|
28
|
+
## 入力パラメータ
|
|
29
|
+
|
|
30
|
+
- **task_file**(任意): 検証対象のタスクファイルへのパス。指定された場合、「品質保証メカニズム」セクションを読み込み、品質チェック検出の補助ヒントとして使用する。これはあくまでヒントであり、コード・マニフェスト・設定ベースの一次検出が優先。
|
|
31
|
+
|
|
28
32
|
## 初回必須タスク
|
|
29
33
|
|
|
30
34
|
**タスク登録**: TaskCreateで作業ステップを登録。必ず最初に「スキル制約の確認」、最後に「スキル忠実度の検証」を含める。各完了時にTaskUpdateで更新。
|
|
@@ -56,6 +60,8 @@ package.jsonの`packageManager`フィールドに応じた実行コマンドを
|
|
|
56
60
|
**未完成実装が見つからなかった場合**: ステップ2へ進む。
|
|
57
61
|
|
|
58
62
|
### ステップ2: 品質チェックコマンドの検出
|
|
63
|
+
|
|
64
|
+
**一次検出**(常に実行):
|
|
59
65
|
```bash
|
|
60
66
|
# プロジェクトのマニフェストファイルから自動検出
|
|
61
67
|
# プロジェクト構造を特定し品質コマンドを抽出:
|
|
@@ -63,6 +69,12 @@ package.jsonの`packageManager`フィールドに応じた実行コマンドを
|
|
|
63
69
|
# - ビルド設定 → build/checkコマンドを抽出
|
|
64
70
|
```
|
|
65
71
|
|
|
72
|
+
**補助検出**(task_file指定時):
|
|
73
|
+
- タスクファイルの「品質保証メカニズム」セクションを読み込む
|
|
74
|
+
- `executable_check`: ツールが利用可能で設定ファイルが存在することを確認し、品質チェックコマンドリストに追加
|
|
75
|
+
- `passive_constraint`: コマンドリストには追加しない — 全品質フェーズ完了後、変更コードが制約に違反していないことを確認する(例: 命名規約をGrepで検証、文字数制限を変更ファイルで確認)
|
|
76
|
+
- 見つからない・実行できないメカニズムは出力に記録し、次のメカニズムに進む
|
|
77
|
+
|
|
66
78
|
### ステップ3: 品質チェックの実行
|
|
67
79
|
frontend-technical-specスキルの「品質チェック要件」セクションに従う:
|
|
68
80
|
- 基本チェック(lint, format, build)
|
|
@@ -164,6 +176,21 @@ blockedにする前に、以下の順序で仕様を確認:
|
|
|
164
176
|
|
|
165
177
|
**重要**: JSONレスポンスはメインAI(呼び出し元)が受け取り、ユーザーが理解できる形式に加工して伝えます。
|
|
166
178
|
|
|
179
|
+
### taskFileMechanismsスキーマ(全レスポンス型に含める)
|
|
180
|
+
```json
|
|
181
|
+
"taskFileMechanisms": {
|
|
182
|
+
"provided": true,
|
|
183
|
+
"executed": ["検出・実行されたメカニズム名"],
|
|
184
|
+
"skipped": [
|
|
185
|
+
{
|
|
186
|
+
"mechanism": "メカニズム名",
|
|
187
|
+
"reason": "tool not found | config not found | not executable"
|
|
188
|
+
}
|
|
189
|
+
]
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
`task_file`が指定されなかった場合は`"provided": false`とし、`executed`/`skipped`は省略。
|
|
193
|
+
|
|
167
194
|
### 内部構造化レスポンス(メインAI向け)
|
|
168
195
|
|
|
169
196
|
**品質チェック成功時**:
|
|
@@ -213,6 +240,7 @@ blockedにする前に、以下の順序で仕様を確認:
|
|
|
213
240
|
"filesCount": 2
|
|
214
241
|
}
|
|
215
242
|
],
|
|
243
|
+
"taskFileMechanisms": "上記taskFileMechanismsスキーマ参照",
|
|
216
244
|
"metrics": {
|
|
217
245
|
"totalErrors": 0,
|
|
218
246
|
"totalWarnings": 0,
|
|
@@ -261,6 +289,7 @@ blockedにする前に、以下の順序で仕様を確認:
|
|
|
261
289
|
"修正試行2: 実装をテストに合わせる試み",
|
|
262
290
|
"修正試行3: Design Docから仕様を推測する試み"
|
|
263
291
|
],
|
|
292
|
+
"taskFileMechanisms": "上記taskFileMechanismsスキーマ参照",
|
|
264
293
|
"needsUserDecision": "ボタン無効化の正しい動作を確認してください"
|
|
265
294
|
}
|
|
266
295
|
```
|
|
@@ -281,6 +310,7 @@ blockedにする前に、以下の順序で仕様を確認:
|
|
|
281
310
|
"resolutionSteps": ["E2Eテストプレイヤー用seed scriptの作成", "サブスクリプションレコードをseedに追加"]
|
|
282
311
|
}
|
|
283
312
|
],
|
|
313
|
+
"taskFileMechanisms": "上記taskFileMechanismsスキーマ参照",
|
|
284
314
|
"testsSkipped": 3,
|
|
285
315
|
"testsPassedWithoutPrerequisites": 47
|
|
286
316
|
}
|
|
@@ -25,6 +25,10 @@ CLAUDE.mdの原則を適用しない独立したコンテキストを持ち、
|
|
|
25
25
|
- 修正が必要なものは自分で実行し、完成した状態で報告
|
|
26
26
|
- エラーが解消するまで修正を継続
|
|
27
27
|
|
|
28
|
+
## 入力パラメータ
|
|
29
|
+
|
|
30
|
+
- **task_file**(任意): 検証対象のタスクファイルへのパス。指定された場合、「品質保証メカニズム」セクションを読み込み、品質チェック検出の補助ヒントとして使用する。これはあくまでヒントであり、コード・マニフェスト・設定ベースの一次検出が優先。
|
|
31
|
+
|
|
28
32
|
## 初回必須タスク
|
|
29
33
|
|
|
30
34
|
**タスク登録**: TaskCreateで作業ステップを登録。必ず最初に「スキル制約の確認」、最後に「スキル忠実度の検証」を含める。各完了時にTaskUpdateで更新。
|
|
@@ -56,6 +60,8 @@ package.jsonの`packageManager`フィールドに応じた実行コマンドを
|
|
|
56
60
|
**未完成実装が見つからなかった場合**: ステップ2へ進む。
|
|
57
61
|
|
|
58
62
|
### ステップ2: 品質チェックコマンドの検出
|
|
63
|
+
|
|
64
|
+
**一次検出**(常に実行):
|
|
59
65
|
```bash
|
|
60
66
|
# プロジェクトのマニフェストファイルから自動検出
|
|
61
67
|
# プロジェクト構造を特定し品質コマンドを抽出:
|
|
@@ -63,6 +69,12 @@ package.jsonの`packageManager`フィールドに応じた実行コマンドを
|
|
|
63
69
|
# - ビルド設定 → build/checkコマンドを抽出
|
|
64
70
|
```
|
|
65
71
|
|
|
72
|
+
**補助検出**(task_file指定時):
|
|
73
|
+
- タスクファイルの「品質保証メカニズム」セクションを読み込む
|
|
74
|
+
- `executable_check`: ツールが利用可能で設定ファイルが存在することを確認し、品質チェックコマンドリストに追加
|
|
75
|
+
- `passive_constraint`: コマンドリストには追加しない — 全品質フェーズ完了後、変更コードが制約に違反していないことを確認する(例: 命名規約をGrepで検証、文字数制限を変更ファイルで確認)
|
|
76
|
+
- 見つからない・実行できないメカニズムは出力に記録し、次のメカニズムに進む
|
|
77
|
+
|
|
66
78
|
### ステップ3: 品質チェックの実行
|
|
67
79
|
technical-specスキルの「品質チェック要件」セクションに従う:
|
|
68
80
|
- 基本チェック(lint, format, build)
|
|
@@ -128,6 +140,21 @@ blockedにする前に、以下の順序で仕様を確認:
|
|
|
128
140
|
|
|
129
141
|
**重要**: JSONレスポンスは次の処理に渡され、最終的にユーザー向けの形式に加工されます。
|
|
130
142
|
|
|
143
|
+
### taskFileMechanismsスキーマ(全レスポンス型に含める)
|
|
144
|
+
```json
|
|
145
|
+
"taskFileMechanisms": {
|
|
146
|
+
"provided": true,
|
|
147
|
+
"executed": ["検出・実行されたメカニズム名"],
|
|
148
|
+
"skipped": [
|
|
149
|
+
{
|
|
150
|
+
"mechanism": "メカニズム名",
|
|
151
|
+
"reason": "tool not found | config not found | not executable"
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
`task_file`が指定されなかった場合は`"provided": false`とし、`executed`/`skipped`は省略。
|
|
157
|
+
|
|
131
158
|
### 内部構造化レスポンス
|
|
132
159
|
|
|
133
160
|
**品質チェック成功時**:
|
|
@@ -174,6 +201,7 @@ blockedにする前に、以下の順序で仕様を確認:
|
|
|
174
201
|
"filesCount": 2
|
|
175
202
|
}
|
|
176
203
|
],
|
|
204
|
+
"taskFileMechanisms": "上記taskFileMechanismsスキーマ参照",
|
|
177
205
|
"metrics": {
|
|
178
206
|
"totalErrors": 0,
|
|
179
207
|
"totalWarnings": 0,
|
|
@@ -222,6 +250,7 @@ blockedにする前に、以下の順序で仕様を確認:
|
|
|
222
250
|
"修正2: 実装をテストに合わせる試み",
|
|
223
251
|
"修正3: 関連ドキュメントから仕様を推測"
|
|
224
252
|
],
|
|
253
|
+
"taskFileMechanisms": "上記taskFileMechanismsスキーマ参照",
|
|
225
254
|
"needsUserDecision": "正しいエラーコードを確認してください"
|
|
226
255
|
}
|
|
227
256
|
```
|
|
@@ -242,6 +271,7 @@ blockedにする前に、以下の順序で仕様を確認:
|
|
|
242
271
|
"resolutionSteps": ["E2Eテストプレイヤー用seed scriptの作成", "サブスクリプションレコードをseedに追加"]
|
|
243
272
|
}
|
|
244
273
|
],
|
|
274
|
+
"taskFileMechanisms": "上記taskFileMechanismsスキーマ参照",
|
|
245
275
|
"testsSkipped": 3,
|
|
246
276
|
"testsPassedWithoutPrerequisites": 47
|
|
247
277
|
}
|
|
@@ -96,6 +96,7 @@ implementation-approachスキルで決定された実装戦略パターンに基
|
|
|
96
96
|
- 対象ファイル
|
|
97
97
|
- **調査対象**(executorが実装前に読んで理解すべきもの)
|
|
98
98
|
- 具体的な実装手順
|
|
99
|
+
- **品質保証メカニズム**(作業計画書ヘッダーから導出 — 下記「品質保証メカニズムの伝播」参照)
|
|
99
100
|
- **動作検証方法**(作業計画書の検証戦略から導出)
|
|
100
101
|
- 完了条件
|
|
101
102
|
|
|
@@ -137,6 +138,15 @@ implementation-approachスキルで決定された実装戦略パターンに基
|
|
|
137
138
|
- **検証レベル**: implementation-approachスキルに従いL1/L2/L3を選択
|
|
138
139
|
3. **調査対象**: 検証に必要なリソースを含める(例: 比較対象の既存実装、スキーマ定義、seed dataのパス)
|
|
139
140
|
|
|
141
|
+
## 品質保証メカニズムの伝播
|
|
142
|
+
|
|
143
|
+
作業計画書ヘッダーに品質保証メカニズムテーブルが含まれる場合、以下のルールで各タスクに伝播する:
|
|
144
|
+
|
|
145
|
+
1. **ファイルカバレッジによるマッチング**: 作業計画書の各メカニズムについて、カバー範囲のファイルパスがタスクの対象ファイルと重複するか確認(完全一致またはディレクトリプレフィックス一致)
|
|
146
|
+
2. **該当メカニズムを記載**: カバー範囲がタスクの対象ファイルと重複するメカニズムをすべてタスクの「品質保証メカニズム」セクションに記載
|
|
147
|
+
3. **カバー範囲未指定の場合は全タスクに記載**: メカニズムのカバー範囲が指定されていない場合(project-wide)、すべてのタスクに含める
|
|
148
|
+
4. **該当なしの場合は省略**: タスクの対象ファイルに該当するメカニズムがなければ「品質保証メカニズム」セクションを省略
|
|
149
|
+
|
|
140
150
|
## タスクファイルテンプレート
|
|
141
151
|
|
|
142
152
|
詳細はdocumentation-criteriaスキルのタスクテンプレートを参照。
|
|
@@ -273,6 +283,7 @@ implementation-approachスキルで決定された実装戦略パターンに基
|
|
|
273
283
|
- [ ] 全体設計書の作成
|
|
274
284
|
- [ ] 実装効率と手戻り防止(共通処理の事前識別、影響範囲の明確化)
|
|
275
285
|
- [ ] 全タスクに調査対象が指定されている(具体的なファイルパス、曖昧なカテゴリではない)
|
|
286
|
+
- [ ] 作業計画書ヘッダーの品質保証メカニズムを該当タスクに伝播済み
|
|
276
287
|
|
|
277
288
|
## タスク設計の原則
|
|
278
289
|
|
|
@@ -132,6 +132,17 @@ CLAUDE.mdの原則を適用しない独立したコンテキストを持ち、
|
|
|
132
132
|
2. **既存実装調査**:同ドメイン・責務で類似機能を検索
|
|
133
133
|
3. **判定実行**:上記「必須判断基準」に従い継続・エスカレーション判定
|
|
134
134
|
|
|
135
|
+
#### 参照の代表性チェック(実装中に随時適用)
|
|
136
|
+
|
|
137
|
+
パターンや依存をコードから採用する際、coding-standardsの「参照の代表性」を採用時点で適用する:
|
|
138
|
+
|
|
139
|
+
□ **リポジトリ全体での確認**: パターンまたは依存バージョンがリポジトリ全体で代表的であることをGrepで確認。異なるディレクトリの3ファイル以上で同じパターンが使われている場合に採用可能。参照元以外で0-2件の場合は、正規の実装かレガシーかを調査してから採用
|
|
140
|
+
□ **依存バージョン確認**(外部依存を採用する場合):
|
|
141
|
+
- 同じ依存のリポジトリ全体での使用分布を確認
|
|
142
|
+
- 代替が存在する中で既存バージョンに従う場合、その理由を明記
|
|
143
|
+
- リポジトリ全体の確認では適切なバージョンが判断できない場合、`reason: "dependency_version_uncertain"` でエスカレーション
|
|
144
|
+
□ **複数バージョン共存時の解決**: 複数バージョンやパターンが共存している場合、多数派(最多ファイル数)を特定してから選択。少数派を選ぶ場合は理由を明記
|
|
145
|
+
|
|
135
146
|
#### 実装フロー(TDD準拠)
|
|
136
147
|
**完了確認**: 全チェックボックスが`[x]`の場合は「既に完了」と報告して終了
|
|
137
148
|
|
|
@@ -289,6 +300,30 @@ Design Doc通りに実装できない場合は以下のJSON形式でエスカレ
|
|
|
289
300
|
}
|
|
290
301
|
```
|
|
291
302
|
|
|
303
|
+
#### 2-4. 依存バージョン不確定エスカレーション
|
|
304
|
+
リポジトリ全体の確認では適切な依存バージョンが判断できない場合、以下のJSON形式でエスカレーション:
|
|
305
|
+
|
|
306
|
+
```json
|
|
307
|
+
{
|
|
308
|
+
"status": "escalation_needed",
|
|
309
|
+
"reason": "Dependency version uncertain",
|
|
310
|
+
"taskName": "[実行中のタスク名]",
|
|
311
|
+
"escalation_type": "dependency_version_uncertain",
|
|
312
|
+
"dependency": {
|
|
313
|
+
"name": "[依存名]",
|
|
314
|
+
"versionsFound": ["リポジトリで検出されたバージョンのリスト"],
|
|
315
|
+
"filesChecked": ["依存が検出されたファイルパス"],
|
|
316
|
+
"ambiguityReason": "[リポジトリの状態だけでは判断できない理由 — 例: 複数バージョンが共存し明確な多数派がない、既存の使用が見つからない]"
|
|
317
|
+
},
|
|
318
|
+
"user_decision_required": true,
|
|
319
|
+
"suggested_options": [
|
|
320
|
+
"バージョンXを使用(リポジトリの多数派)",
|
|
321
|
+
"バージョンYを使用(特定の理由)",
|
|
322
|
+
"最新安定バージョンを調査して提案"
|
|
323
|
+
]
|
|
324
|
+
}
|
|
325
|
+
```
|
|
326
|
+
|
|
292
327
|
## 完了ゲート [BLOCKING]
|
|
293
328
|
|
|
294
329
|
☐ 全タスクチェックボックスがエビデンス付きで完了
|
|
@@ -45,11 +45,19 @@ ADR/Design Docの作成閾値はdocumentation-criteriaスキルに準拠。判
|
|
|
45
45
|
- プロジェクト設定、ルールファイル、既存コードパターンをスキャン
|
|
46
46
|
- 各基準を分類: **Explicit**(文書化済み)または **Implicit**(観察されたパターンのみ)
|
|
47
47
|
|
|
48
|
-
2.
|
|
49
|
-
-
|
|
48
|
+
2. **品質保証メカニズムの特定**
|
|
49
|
+
- codebase-analyzerの出力がある場合: その`qualityAssurance`セクションを一次情報源として使用
|
|
50
|
+
- 出力がない場合: CIパイプライン、linter設定、pre-commitフック、プロジェクト設定から変更対象領域をカバーするツールとチェックをスキャン
|
|
51
|
+
- 設定ファイルやCIからドメイン固有の制約(命名規約、文字数制限、フォーマット要件)を特定
|
|
52
|
+
- 各メカニズムの種別を分類: `executable_check`(コマンドとして実行可能 — 例: linter、ビルド、テスト、スキーマバリデータ)または `passive_constraint`(出力を検査して確認 — 例: 命名規約をGrepで検証、文字数制限を手動確認)
|
|
53
|
+
- 各メカニズムについて判断: **adopted**(実装時に適用)または **noted**(観察されたが不採用 — 理由を記載。例: この変更領域に無関係、別のチェックで代替済み)
|
|
54
|
+
|
|
55
|
+
3. **Design Docへの記録**
|
|
56
|
+
- 「適用基準」セクションに基準を`[explicit]`/`[implicit]`タグ付きで記載
|
|
57
|
+
- 「品質保証メカニズム」セクションに各メカニズムを`adopted`/`noted`ステータス付きで記載
|
|
50
58
|
- Implicit基準は設計着手前にユーザー確認が必要
|
|
51
59
|
|
|
52
|
-
|
|
60
|
+
4. **整合性ルール**
|
|
53
61
|
- 設計判断は適用基準を参照すること
|
|
54
62
|
- 逸脱する場合は根拠を明記
|
|
55
63
|
|
|
@@ -291,6 +299,7 @@ ADRに含まない:スケジュール、実装手順、具体的コード
|
|
|
291
299
|
|
|
292
300
|
**全モード共通**:
|
|
293
301
|
- [ ] **基準特定ゲート完了**(必須)
|
|
302
|
+
- [ ] **品質保証メカニズムをadopted/notedステータス付きで特定**(必須)
|
|
294
303
|
- [ ] **コード調査エビデンス記録済み**(必須)
|
|
295
304
|
- [ ] **統合ポイントをコントラクト付きで列挙**(必須)
|
|
296
305
|
- [ ] **データ契約の明確化**(必須)
|
|
@@ -27,6 +27,7 @@ Design Doc、UI Spec、PRD、ADR(提供されている場合)を読み込み
|
|
|
27
27
|
- 技術的依存関係と実装順序
|
|
28
28
|
- 統合ポイントとそのコントラクト
|
|
29
29
|
- **検証戦略**: 正しさの証明方法(正しさの定義、検証手法、検証タイミング)と早期検証ポイント(最初の検証対象、成功基準、失敗時の対応)
|
|
30
|
+
- **品質保証メカニズム**: Design Docの「品質保証メカニズム」セクションから`adopted`ステータスの全項目を抽出 — 実装時に適用すべき品質ゲート
|
|
30
31
|
|
|
31
32
|
### 2. テスト設計情報の処理(提供時)
|
|
32
33
|
テストスケルトンファイルを読み込み、メタ情報を抽出(テスト設計情報の処理セクションを参照)。
|
|
@@ -38,6 +39,7 @@ Design Doc、UI Spec、PRD、ADR(提供されている場合)を読み込み
|
|
|
38
39
|
|
|
39
40
|
**全アプローチ共通**:
|
|
40
41
|
- **検証戦略の要約を作業計画書ヘッダーに記載**(後続タスクへの参照用)
|
|
42
|
+
- **採用した品質保証メカニズムを作業計画書ヘッダーに記載**(後続タスクへの参照用) — 各メカニズムについてツール名、検証内容、設定パス、カバー範囲(Design Docのファイルパスまたはディレクトリプレフィックス、スコープが限定されない場合は "project-wide")を記載
|
|
41
43
|
- 検証戦略の検証タイミングに対応するフェーズに検証タスクを配置
|
|
42
44
|
- テストスケルトンが提供されている場合、統合テスト実装を対応するフェーズに配置し、E2Eテスト実行を最終フェーズに配置
|
|
43
45
|
- テストスケルトンが提供されていない場合、Design Docの受入条件に基づくテスト実装タスクを含める
|
|
@@ -258,6 +260,7 @@ Design Docの技術的依存関係と実装アプローチに基づいてフェ
|
|
|
258
260
|
- [ ] 理由なしの`gap`がないこと
|
|
259
261
|
- [ ] 理由ありの`gap`は計画承認前にユーザー確認を実施
|
|
260
262
|
- [ ] Design Docから検証戦略を抽出し計画書ヘッダーに記載
|
|
263
|
+
- [ ] Design Docから採用済み品質保証メカニズムを抽出し計画書ヘッダーに記載
|
|
261
264
|
- [ ] フェーズ構成が実装アプローチと整合(垂直 → 価値単位フェーズ、水平 → レイヤーフェーズ)
|
|
262
265
|
- [ ] 早期検証ポイントをPhase 1に配置(検証戦略で指定されている場合)
|
|
263
266
|
- [ ] 全要件のタスク化
|
|
@@ -84,7 +84,7 @@ For EACH task, YOU MUST:
|
|
|
84
84
|
- `needs_revision` → Return to step 2 with `requiredFixes`
|
|
85
85
|
- `approved` → Proceed to step 4
|
|
86
86
|
- `readyForQualityCheck: true` → Proceed to step 4
|
|
87
|
-
4. **INVOKE quality-fixer**: Execute all quality checks and fixes (cross-layer: see Layer-Aware Agent Routing)
|
|
87
|
+
4. **INVOKE quality-fixer**: Execute all quality checks and fixes (cross-layer: see Layer-Aware Agent Routing). **Always pass** the current task file path as `task_file`
|
|
88
88
|
5. **CHECK quality-fixer response**:
|
|
89
89
|
- `stub_detected` → Return to step 2 with `incompleteImplementations[]` details
|
|
90
90
|
- `blocked` → STOP and escalate to user
|
|
@@ -84,7 +84,7 @@ For EACH task, YOU MUST:
|
|
|
84
84
|
- `needs_revision` → Return to step 2 with `requiredFixes`
|
|
85
85
|
- `approved` → Proceed to step 4
|
|
86
86
|
- `readyForQualityCheck: true` → Proceed to step 4
|
|
87
|
-
4. **INVOKE quality-fixer-frontend**: Execute all quality checks and fixes
|
|
87
|
+
4. **INVOKE quality-fixer-frontend**: Execute all quality checks and fixes. **Always pass** the current task file path as `task_file`
|
|
88
88
|
5. **CHECK quality-fixer-frontend response**:
|
|
89
89
|
- `stub_detected` → Return to step 2 with `incompleteImplementations[]` details
|
|
90
90
|
- `blocked` → STOP and escalate to user
|
|
@@ -76,7 +76,7 @@ Following "Autonomous Execution Task Management" in subagents-orchestration-guid
|
|
|
76
76
|
- `needs_revision` → Return to step 1 with `requiredFixes`
|
|
77
77
|
- `approved` → Proceed to step 3
|
|
78
78
|
- Otherwise → Proceed to step 3
|
|
79
|
-
3. **INVOKE quality-fixer**: Execute all quality checks and fixes (cross-layer: see Layer-Aware Agent Routing)
|
|
79
|
+
3. **INVOKE quality-fixer**: Execute all quality checks and fixes (cross-layer: see Layer-Aware Agent Routing). **Always pass** the current task file path as `task_file`
|
|
80
80
|
- `stub_detected` → Return to step 1 with `incompleteImplementations[]` details
|
|
81
81
|
- `blocked` → Escalate to user
|
|
82
82
|
- `approved` → Proceed to step 4
|
|
@@ -84,7 +84,7 @@ Agentツールでtask-decomposerを呼び出す:
|
|
|
84
84
|
- `needs_revision` → `requiredFixes`を添えてステップ2に戻る
|
|
85
85
|
- `approved` → ステップ4へ
|
|
86
86
|
- `readyForQualityCheck: true` → ステップ4へ
|
|
87
|
-
4. **quality-fixer実行**: 全品質チェックと修正を実行(レイヤー横断時:
|
|
87
|
+
4. **quality-fixer実行**: 全品質チェックと修正を実行(レイヤー横断時: レイヤー別エージェントルーティング参照)。**必ず**現在のタスクファイルパスを`task_file`として渡す
|
|
88
88
|
5. **quality-fixerレスポンスチェック**:
|
|
89
89
|
- `stub_detected` → `incompleteImplementations[]`の詳細を添えてステップ2に戻す
|
|
90
90
|
- `blocked` → 停止してユーザーにエスカレーション
|
|
@@ -84,7 +84,7 @@ Agentツールでtask-decomposerを呼び出す:
|
|
|
84
84
|
- `needs_revision` → `requiredFixes`を添えてステップ2に戻る
|
|
85
85
|
- `approved` → ステップ4へ
|
|
86
86
|
- `readyForQualityCheck: true` → ステップ4へ
|
|
87
|
-
4. **quality-fixer-frontend実行**: 全品質チェックと修正を実行(レイヤー横断時:
|
|
87
|
+
4. **quality-fixer-frontend実行**: 全品質チェックと修正を実行(レイヤー横断時: レイヤー別エージェントルーティング参照)。**必ず**現在のタスクファイルパスを`task_file`として渡す
|
|
88
88
|
5. **quality-fixer-frontendレスポンスチェック**:
|
|
89
89
|
- `stub_detected` → `incompleteImplementations[]`の詳細を添えてステップ2に戻す
|
|
90
90
|
- `blocked` → 停止してユーザーにエスカレーション
|
|
@@ -76,7 +76,7 @@ subagents-orchestration-guideスキルの「自律実行中のタスク管理」
|
|
|
76
76
|
- `needs_revision` → `requiredFixes`を添えてステップ1に戻る
|
|
77
77
|
- `approved` → ステップ3へ
|
|
78
78
|
- それ以外 → ステップ3へ
|
|
79
|
-
3. **quality-fixer実行**: 全品質チェックと修正を実行(レイヤー横断時:
|
|
79
|
+
3. **quality-fixer実行**: 全品質チェックと修正を実行(レイヤー横断時: レイヤー別エージェントルーティング参照)。**必ず**現在のタスクファイルパスを`task_file`として渡す
|
|
80
80
|
- `stub_detected` → `incompleteImplementations[]`の詳細を添えてステップ1に戻す
|
|
81
81
|
- `blocked` → ユーザーにエスカレーション
|
|
82
82
|
- `approved` → ステップ4へ
|
|
@@ -68,6 +68,22 @@ How to handle duplicate code based on Martin Fowler's "Refactoring":
|
|
|
68
68
|
- Significant readability decrease from commonalization
|
|
69
69
|
- Simple helpers in test code
|
|
70
70
|
|
|
71
|
+
## Reference Representativeness
|
|
72
|
+
|
|
73
|
+
**Failure mode**: Adopting patterns or dependency versions from the nearest 2-3 files without verifying repository-wide usage leads to outdated patterns, version mismatches, and architecture inconsistency.
|
|
74
|
+
|
|
75
|
+
### Verifying References Before Adoption
|
|
76
|
+
When adopting patterns, APIs, or dependencies from existing code:
|
|
77
|
+
- **IF** referencing only 2-3 nearby files → **THEN** Grep the pattern across the repository; adopt only when ≥3 files across different directories use the same pattern
|
|
78
|
+
- **IF** Grep returns 1-2 files outside the reference → **THEN** investigate whether those files are the canonical implementation or legacy outliers before adopting
|
|
79
|
+
- **IF** Grep returns 0 files outside the reference → **THEN** treat the pattern as local convention; adopt only with explicit justification (e.g., consistency with surrounding code, avoiding breaking changes)
|
|
80
|
+
- **IF** multiple approaches coexist in the repository → **THEN** identify the majority pattern (highest file count) and adopt it; state the reason when choosing a minority pattern
|
|
81
|
+
- **IF** adopting an external dependency (library, plugin, SDK) → **THEN** verify repository-wide usage distribution for the same dependency; if the appropriate version cannot be determined from repository state alone, escalate
|
|
82
|
+
- **IF** following an existing pattern → **THEN** state the reason for following it when an alternative exists (e.g., consistency with surrounding code, avoiding breaking changes, pending coordinated update)
|
|
83
|
+
|
|
84
|
+
### Principle
|
|
85
|
+
Nearby code is a starting point for investigation. Verify repository-wide usage (≥3 files across different directories) before adopting a pattern as representative.
|
|
86
|
+
|
|
71
87
|
## Common Failure Patterns and Avoidance Methods
|
|
72
88
|
|
|
73
89
|
### Pattern 1: Error Fix Chain
|
|
@@ -93,14 +109,15 @@ How to handle duplicate code based on Martin Fowler's "Refactoring":
|
|
|
93
109
|
- For low certainty cases, create minimal verification code first
|
|
94
110
|
|
|
95
111
|
### Pattern 5: Insufficient Existing Code Investigation
|
|
96
|
-
**Symptom**: Duplicate implementations, architecture inconsistency, integration failures
|
|
97
|
-
**Cause**: Insufficient understanding of existing code before implementation
|
|
112
|
+
**Symptom**: Duplicate implementations, architecture inconsistency, integration failures, adopting outdated patterns
|
|
113
|
+
**Cause**: Insufficient understanding of existing code before implementation; referencing only nearby files without verifying representativeness
|
|
98
114
|
**Avoidance Methods**:
|
|
99
115
|
- Before implementation, always search for similar functionality (using domain, responsibility, configuration patterns as keywords)
|
|
100
116
|
- Similar functionality found -> Use that implementation (do not create new implementation)
|
|
101
117
|
- Similar functionality is technical debt -> Create ADR improvement proposal before implementation
|
|
102
118
|
- No similar functionality exists -> Implement new functionality following existing design philosophy
|
|
103
119
|
- Record all decisions and rationale in "Existing Codebase Analysis" section of Design Doc
|
|
120
|
+
- **Reference representativeness check**: See "Reference Representativeness" section above for IF-THEN thresholds
|
|
104
121
|
|
|
105
122
|
## Debugging Techniques
|
|
106
123
|
|
|
@@ -52,6 +52,12 @@ unknowns:
|
|
|
52
52
|
- [Standard/convention] `[explicit]` — Source: [config / rule file / doc 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 (will be enforced during implementation) or noted (observed but not adopted, with reason).
|
|
57
|
+
|
|
58
|
+
- [ ] [Tool/check name] — Enforces: [what] — Config: [path] — Covers: [literal file paths or directory prefixes, or "project-wide"] — Type: `executable_check` — Status: `adopted` / `noted (reason)`
|
|
59
|
+
- [ ] [Domain-specific constraint] — Enforces: [what] — Source: [path] — Covers: [literal file paths or directory prefixes, or "project-wide"] — Type: `passive_constraint` — Status: `adopted` / `noted (reason)`
|
|
60
|
+
|
|
55
61
|
### Problem to Solve
|
|
56
62
|
|
|
57
63
|
[Specific problems or challenges this feature aims to address]
|
|
@@ -24,6 +24,15 @@ Related Issue/PR: #XXX (if any)
|
|
|
24
24
|
- **Success criteria**: [extracted from Design Doc]
|
|
25
25
|
- **Failure response**: [extracted from Design Doc]
|
|
26
26
|
|
|
27
|
+
## Quality Assurance Mechanisms (from Design Doc)
|
|
28
|
+
|
|
29
|
+
Adopted quality gates for the change area. Each task in this plan must satisfy these mechanisms.
|
|
30
|
+
|
|
31
|
+
| Mechanism | Enforces | Config/Source | Covered Files | Type |
|
|
32
|
+
|-----------|----------|---------------|---------------|------|
|
|
33
|
+
| [Tool/check name] | [What quality aspect it enforces] | [path/to/config] | [literal file paths or directory prefixes, or "project-wide"] | executable_check |
|
|
34
|
+
| [Domain constraint] | [What it enforces] | [path/to/source] | [literal file paths or directory prefixes, or "project-wide"] | passive_constraint |
|
|
35
|
+
|
|
27
36
|
## Design-to-Plan Traceability
|
|
28
37
|
|
|
29
38
|
Maps each Design Doc technical requirement to the covering task(s). One row per extracted item. Every row must have at least one covering task, or an explicit gap justification.
|
|
@@ -33,6 +33,10 @@ Files to read before starting implementation (file path, with optional search hi
|
|
|
33
33
|
- [ ] Improve code (maintain passing tests)
|
|
34
34
|
- [ ] Confirm added tests still pass
|
|
35
35
|
|
|
36
|
+
## Quality Assurance Mechanisms
|
|
37
|
+
(From work plan header — mechanisms relevant to this task's target files)
|
|
38
|
+
- [Tool/check name] — Enforces: [what] — Config/Source: [path] — Type: `executable_check` | `passive_constraint`
|
|
39
|
+
|
|
36
40
|
## Operation Verification Methods
|
|
37
41
|
(Derived from Verification Strategy in work plan)
|
|
38
42
|
- **Verification method**: [What to verify and how — e.g., "compare new implementation output against existing implementation at src/legacy/order_calc", "run endpoint against test database and verify response matches contract"]
|
|
@@ -131,10 +131,10 @@ Subagents respond in JSON format. Key fields for orchestrator decisions:
|
|
|
131
131
|
| Agent | Key Fields | Decision Logic |
|
|
132
132
|
|-------|-----------|----------------|
|
|
133
133
|
| requirement-analyzer | scale, confidence, adrRequired, crossLayerScope, scopeDependencies, questions | Select flow by scale; check adrRequired for ADR step |
|
|
134
|
-
| codebase-analyzer | analysisScope.categoriesDetected, dataModel.detected, focusAreas[], existingElements count, limitations | Pass focusAreas to technical-designer as context |
|
|
134
|
+
| codebase-analyzer | analysisScope.categoriesDetected, dataModel.detected, qualityAssurance (mechanisms[], domainConstraints[]), focusAreas[], existingElements count, limitations | Pass focusAreas to technical-designer as context |
|
|
135
135
|
| code-verifier | status (consistent/mostly_consistent/needs_review/inconsistent), consistencyScore, discrepancies[], reverseCoverage (dataOperationsInCode, testBoundariesSectionPresent). Pre-implementation: verifies Design Doc claims against existing codebase. Post-implementation: verifies implementation consistency against Design Doc (pass `code_paths` scoped to changed files) | Flag discrepancies for document-reviewer |
|
|
136
|
-
| task-executor | status (escalation_needed/completed), escalation_type, testsAdded, requiresTestReview | On escalation_needed: handle by escalation_type
|
|
137
|
-
| quality-fixer |
|
|
136
|
+
| task-executor | status (escalation_needed/completed), escalation_type (design_compliance_violation/similar_function_found/similar_component_found/investigation_target_not_found/out_of_scope_file/dependency_version_uncertain), testsAdded, requiresTestReview | On escalation_needed: handle by escalation_type |
|
|
137
|
+
| quality-fixer | Input: `task_file` (path to current task file — always pass this in orchestrated flows). Status: approved/stub_detected/blocked. `stub_detected` → route back to task-executor with `incompleteImplementations[]` details for completion, then re-run quality-fixer. `blocked` → see quality-fixer blocked handling below | On stub_detected: re-invoke task-executor. On blocked: see handling below |
|
|
138
138
|
| document-reviewer | approvalReady (true/false) | Proceed to next step on true; request fixes on false |
|
|
139
139
|
| design-sync | sync_status (NO_CONFLICTS/CONFLICTS_FOUND) | On CONFLICTS_FOUND: present conflicts to user before proceeding |
|
|
140
140
|
| integration-test-reviewer | status (approved/needs_revision/blocked), requiredFixes | On needs_revision: pass requiredFixes back to task-executor |
|
|
@@ -292,7 +292,7 @@ Construct the prompt from the agent's Input Parameters section and the deliverab
|
|
|
292
292
|
#### codebase-analyzer → technical-designer
|
|
293
293
|
|
|
294
294
|
**Pass to codebase-analyzer**: requirement-analyzer JSON output, PRD path (if exists), original user requirements
|
|
295
|
-
**Pass to technical-designer**: codebase-analyzer JSON output as additional context in the Design Doc creation prompt. The designer uses `focusAreas`, `dataModel`, and `
|
|
295
|
+
**Pass to technical-designer**: codebase-analyzer JSON output as additional context in the Design Doc creation prompt. The designer uses `focusAreas`, `dataModel`, `dataTransformationPipelines`, and `qualityAssurance` to inform the Existing Codebase Analysis, Verification Strategy, and Quality Assurance Mechanisms sections.
|
|
296
296
|
|
|
297
297
|
#### code-verifier → document-reviewer (Design Doc review)
|
|
298
298
|
|
|
@@ -54,6 +54,16 @@ Use the appropriate run command based on the `packageManager` field in package.j
|
|
|
54
54
|
- `test:safe` - Safe test execution (with auto cleanup)
|
|
55
55
|
- `cleanup:processes` - Cleanup Vitest processes
|
|
56
56
|
|
|
57
|
+
### Quality Assurance Mechanism Awareness
|
|
58
|
+
|
|
59
|
+
Before executing quality checks, identify what quality mechanisms exist for the change area:
|
|
60
|
+
- Primary detection: inspect the change area's file types, project manifest, and configuration to identify applicable quality tools
|
|
61
|
+
- Check CI pipeline definitions for checks that cover the affected paths
|
|
62
|
+
- Check for domain-specific linter or validator configurations (e.g., schema validators, API spec validators, configuration file linters)
|
|
63
|
+
- Check for domain-specific constraints in project configuration (naming rules, length limits, format requirements)
|
|
64
|
+
- Supplementary hint: IF task file specifies Quality Assurance Mechanisms → use them as additional hints for which domain-specific checks to look for
|
|
65
|
+
- Include discovered domain-specific checks alongside standard quality phases below
|
|
66
|
+
|
|
57
67
|
### Quality Check Requirements
|
|
58
68
|
|
|
59
69
|
Quality checks are mandatory upon implementation completion:
|
|
@@ -68,6 +68,22 @@ Martin Fowler「Refactoring」に基づく重複コードの扱い方:
|
|
|
68
68
|
- 共通化により可読性が著しく低下
|
|
69
69
|
- テストコード内の簡単なヘルパー
|
|
70
70
|
|
|
71
|
+
## 参照の代表性
|
|
72
|
+
|
|
73
|
+
**失敗パターン**: 近隣2-3ファイルのパターンや依存バージョンをリポジトリ全体での使用状況を確認せずに採用すると、古いパターン、バージョン不一致、アーキテクチャ不整合が発生する。
|
|
74
|
+
|
|
75
|
+
### 採用前の確認
|
|
76
|
+
既存コードからパターン、API、依存を採用する場合:
|
|
77
|
+
- **IF** 参照が近隣2-3ファイルのみ → **THEN** Grepでリポジトリ全体を検索し、異なるディレクトリの3ファイル以上で同じパターンが使われている場合に採用可能
|
|
78
|
+
- **IF** Grepで参照元以外に1-2件のみ検出 → **THEN** それが正規の実装かレガシーの残存か調査してから採用を判断
|
|
79
|
+
- **IF** Grepで参照元以外に0件 → **THEN** ローカル規約として扱い、明示的な理由がある場合のみ採用(例: 周辺コードとの整合性、破壊的変更の回避)
|
|
80
|
+
- **IF** リポジトリ内に複数のアプローチが共存 → **THEN** 多数派パターン(最多ファイル数)を特定して採用。少数派を選ぶ場合は理由を明記
|
|
81
|
+
- **IF** 外部依存(ライブラリ、プラグイン、SDK)を採用 → **THEN** 同じ依存のリポジトリ全体での使用分布を確認。リポジトリの状態だけでは適切なバージョンが判断できない場合はエスカレーション
|
|
82
|
+
- **IF** 既存パターンに従う → **THEN** 代替が存在する場合はその理由を明記(例: 周辺コードとの整合性、破壊的変更の回避、統一的なアップデートを予定)
|
|
83
|
+
|
|
84
|
+
### 原則
|
|
85
|
+
近隣コードは調査の起点。採用の根拠にするにはリポジトリ全体での使用状況(異なるディレクトリの3ファイル以上)を確認すること。
|
|
86
|
+
|
|
71
87
|
## よくある失敗パターンと回避方法
|
|
72
88
|
|
|
73
89
|
### パターン1: エラー修正の連鎖
|
|
@@ -93,14 +109,15 @@ Martin Fowler「Refactoring」に基づく重複コードの扱い方:
|
|
|
93
109
|
- 確実性lowの場合、最初に最小限の動作確認コードを作成
|
|
94
110
|
|
|
95
111
|
### パターン5: 既存コード調査不足
|
|
96
|
-
**症状**:
|
|
97
|
-
**原因**:
|
|
112
|
+
**症状**: 重複実装、アーキテクチャ不整合、結合時の障害、古いパターンの採用
|
|
113
|
+
**原因**: 実装前の既存コード理解不足、近隣ファイルのみ参照し代表性を確認していない
|
|
98
114
|
**回避方法**:
|
|
99
115
|
- 実装前に類似機能の存在を必ず検索(同じドメイン、責務、設定パターンをキーワードに)
|
|
100
116
|
- 類似機能を発見 → その実装を使用する(新規実装は行わない)
|
|
101
117
|
- 類似機能が技術的負債 → ADRで改善提案を作成してから実装
|
|
102
118
|
- 類似機能が存在しない → 既存の設計思想に沿って新規実装
|
|
103
119
|
- すべての判断と根拠をDesign Docの「既存コードベース分析」セクションに記録
|
|
120
|
+
- **参照の代表性チェック**: 上記「参照の代表性」セクションのIF-THEN閾値を参照
|
|
104
121
|
|
|
105
122
|
## デバッグ手法
|
|
106
123
|
|
|
@@ -52,6 +52,12 @@ unknowns:
|
|
|
52
52
|
- [基準/規約] `[explicit]` — 出典: [設定ファイル / ルールファイル / ドキュメントパス]
|
|
53
53
|
- [観察されたパターン] `[implicit]` — 根拠: [ファイルパス] — 確認: [済/未]
|
|
54
54
|
|
|
55
|
+
#### 品質保証メカニズム
|
|
56
|
+
変更対象領域で品質がどのように担保されているか。各項目は adopted(実装時に適用)または noted(観察されたが不採用、理由付き)のいずれか。
|
|
57
|
+
|
|
58
|
+
- [ ] [ツール/チェック名] — 検証内容: [何を担保するか] — 設定: [パス] — カバー範囲: [ファイルパスまたはディレクトリプレフィックス、もしくは "project-wide"] — 種別: `executable_check` — ステータス: `adopted` / `noted (理由)`
|
|
59
|
+
- [ ] [ドメイン固有の制約] — 検証内容: [何を担保するか] — 出典: [パス] — カバー範囲: [ファイルパスまたはディレクトリプレフィックス、もしくは "project-wide"] — 種別: `passive_constraint` — ステータス: `adopted` / `noted (理由)`
|
|
60
|
+
|
|
55
61
|
### 解決すべき課題
|
|
56
62
|
|
|
57
63
|
[この機能が解決しようとする具体的な問題や課題]
|
|
@@ -24,6 +24,15 @@
|
|
|
24
24
|
- **成功基準**: [Design Docから抽出]
|
|
25
25
|
- **失敗時の対応**: [Design Docから抽出]
|
|
26
26
|
|
|
27
|
+
## 品質保証メカニズム(Design Docより)
|
|
28
|
+
|
|
29
|
+
変更対象領域で採用された品質ゲート。本計画の各タスクはこれらのメカニズムを満たす必要がある。
|
|
30
|
+
|
|
31
|
+
| メカニズム | 検証内容 | 設定/出典 | カバー範囲 | 種別 |
|
|
32
|
+
|-----------|---------|----------|-----------|------|
|
|
33
|
+
| [ツール/チェック名] | [何を担保するか] | [path/to/config] | [ファイルパスまたはディレクトリプレフィックス、もしくは "project-wide"] | executable_check |
|
|
34
|
+
| [ドメイン固有の制約] | [何を担保するか] | [path/to/source] | [ファイルパスまたはディレクトリプレフィックス、もしくは "project-wide"] | passive_constraint |
|
|
35
|
+
|
|
27
36
|
## 設計-計画トレーサビリティ
|
|
28
37
|
|
|
29
38
|
Design Docの各技術要件をカバーするタスクへのマッピング。抽出した項目ごとに1行。各行には対応タスクが少なくとも1つ必要。タスクがない場合は明示的なギャップ理由が必要。
|
|
@@ -33,6 +33,10 @@
|
|
|
33
33
|
- [ ] コードを改善(テストはパス状態を維持)
|
|
34
34
|
- [ ] 追加したテストが引き続きパスすることを確認
|
|
35
35
|
|
|
36
|
+
## 品質保証メカニズム
|
|
37
|
+
(作業計画書ヘッダーより — このタスクの対象ファイルに該当するメカニズム)
|
|
38
|
+
- [ツール/チェック名] — 検証内容: [何を担保するか] — 設定/出典: [パス] — 種別: `executable_check` | `passive_constraint`
|
|
39
|
+
|
|
36
40
|
## 動作検証方法
|
|
37
41
|
(作業計画書の検証戦略から導出)
|
|
38
42
|
- **検証手法**: [何をどう検証するか — 例: 「新実装の出力をsrc/legacy/order_calcの既存実装と比較」「エンドポイントをテストDBに対して実行しレスポンスがコントラクトに一致することを確認」]
|
|
@@ -129,10 +129,10 @@ description: サブエージェントのタスク分担と連携を調整。規
|
|
|
129
129
|
| Agent | 主要フィールド | 判断ロジック |
|
|
130
130
|
|-------|---------------|-------------|
|
|
131
131
|
| requirement-analyzer | scale, confidence, adrRequired, crossLayerScope, scopeDependencies, questions | scaleでフローを選択。adrRequiredでADRステップ要否を判断 |
|
|
132
|
-
| codebase-analyzer | analysisScope.categoriesDetected, dataModel.detected, focusAreas[], existingElements count, limitations | focusAreasをtechnical-designerにコンテキストとして渡す |
|
|
132
|
+
| codebase-analyzer | analysisScope.categoriesDetected, dataModel.detected, qualityAssurance (mechanisms[], domainConstraints[]), focusAreas[], existingElements count, limitations | focusAreasをtechnical-designerにコンテキストとして渡す |
|
|
133
133
|
| code-verifier | status (consistent/mostly_consistent/needs_review/inconsistent), consistencyScore, discrepancies[], reverseCoverage (dataOperationsInCode, testBoundariesSectionPresent). 実装前: Design Docの主張を既存コードに対して検証。実装後: 実装のDesign Doc整合性を検証(`code_paths`で変更ファイルにスコープ) | discrepanciesをdocument-reviewerに連携 |
|
|
134
|
-
| task-executor | status (escalation_needed/completed), escalation_type, testsAdded, requiresTestReview | escalation_needed時: escalation_type
|
|
135
|
-
| quality-fixer |
|
|
134
|
+
| task-executor | status (escalation_needed/completed), escalation_type (design_compliance_violation/similar_function_found/similar_component_found/investigation_target_not_found/out_of_scope_file/dependency_version_uncertain), testsAdded, requiresTestReview | escalation_needed時: escalation_type別に対応 |
|
|
135
|
+
| quality-fixer | 入力: `task_file`(現在のタスクファイルパス — オーケストレーションフローでは常に渡す)。Status: approved/stub_detected/blocked。`stub_detected` → task-executorに`incompleteImplementations[]`の詳細を添えて差し戻し、本実装完了後にquality-fixerを再実行。`blocked` → 下記quality-fixer blockedハンドリング参照 | stub_detected: task-executorを再実行。blocked: 下記参照 |
|
|
136
136
|
| document-reviewer | approvalReady (true/false) | trueで次ステップへ。falseで修正を依頼 |
|
|
137
137
|
| design-sync | sync_status (NO_CONFLICTS/CONFLICTS_FOUND) | CONFLICTS_FOUND時: 矛盾をユーザーに提示してから進む |
|
|
138
138
|
| integration-test-reviewer | status (approved/needs_revision/blocked), requiredFixes | needs_revision時: requiredFixesをtask-executorに戻す |
|
|
@@ -288,7 +288,7 @@ requirement-analyzerが複数レイヤー(backend + frontend)にまたがる
|
|
|
288
288
|
#### codebase-analyzer → technical-designer
|
|
289
289
|
|
|
290
290
|
**codebase-analyzerへの入力**: 要件分析JSON出力、PRDパス(存在する場合)、元のユーザー要件
|
|
291
|
-
**technical-designerへの入力**: codebase-analyzerのJSON出力をDesign Doc作成プロンプトの追加コンテキストとして渡す。technical-designerは`focusAreas`、`dataModel`、`dataTransformationPipelines
|
|
291
|
+
**technical-designerへの入力**: codebase-analyzerのJSON出力をDesign Doc作成プロンプトの追加コンテキストとして渡す。technical-designerは`focusAreas`、`dataModel`、`dataTransformationPipelines`、`qualityAssurance`を「既存コードベース分析」「検証戦略」「品質保証メカニズム」の各セクションに反映する。
|
|
292
292
|
|
|
293
293
|
#### code-verifier → document-reviewer(Design Docレビュー)
|
|
294
294
|
|
|
@@ -54,6 +54,16 @@ package.jsonの`packageManager`フィールドに応じた実行コマンドを
|
|
|
54
54
|
- `test:safe` - 安全なテスト実行(自動クリーンアップ付き)
|
|
55
55
|
- `cleanup:processes` - Vitestプロセスのクリーンアップ
|
|
56
56
|
|
|
57
|
+
### 品質保証メカニズムの認識
|
|
58
|
+
|
|
59
|
+
品質チェック実行前に、変更対象領域にどのような品質メカニズムが存在するかを特定する:
|
|
60
|
+
- 一次検出: 変更対象のファイル種別、プロジェクトマニフェスト、設定から適用可能な品質ツールを特定
|
|
61
|
+
- 影響パスをカバーするCIパイプライン定義を確認
|
|
62
|
+
- ドメイン固有のlinterやバリデータ設定(スキーマバリデータ、API specバリデータ、設定ファイルリンター等)を確認
|
|
63
|
+
- プロジェクト設定におけるドメイン固有の制約(命名規約、文字数制限、フォーマット要件)を確認
|
|
64
|
+
- 補助ヒント: タスクファイルに品質保証メカニズムが記載されている場合 → どのドメイン固有チェックを探すべきかの追加ヒントとして使用
|
|
65
|
+
- 検出したドメイン固有チェックを以下の標準品質フェーズに併せて実行
|
|
66
|
+
|
|
57
67
|
### 品質チェック要件
|
|
58
68
|
|
|
59
69
|
品質チェックは実装完了時に必須:
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.20.7] - 2026-04-12
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **codebase-analyzer: Quality assurance mechanism discovery** (agents) — New Step 4 item identifies linters, CI checks, schema validators, and domain-specific constraints (naming conventions, length limits, format requirements) covering affected files. New `qualityAssurance` output section with `mechanisms[]` and `domainConstraints[]`
|
|
13
|
+
- **technical-designer: QA mechanism identification in Standards Gate** (agents) — New step evaluates discovered mechanisms as `adopted` (enforced during implementation) or `noted` (observed, not adopted with reason). Recorded in Design Doc "Quality Assurance Mechanisms" section
|
|
14
|
+
- **work-planner: QA mechanism extraction and propagation** (agents) — Extracts adopted mechanisms from Design Doc and includes them in work plan header for downstream task reference
|
|
15
|
+
- **task-decomposer: File-coverage-based mechanism propagation** (agents) — Deterministic rule matches mechanisms to tasks by file path overlap (exact match or directory prefix). Project-wide mechanisms included in every task
|
|
16
|
+
- **quality-fixer: Task file input and mechanism-aware detection** (agents) — New `task_file` optional input parameter. Supplementary detection reads task file QA mechanisms, splits by type: `executable_check` added to command list, `passive_constraint` verified via Grep/file inspection after quality phases. New `taskFileMechanisms` output field. Applied to both quality-fixer and quality-fixer-frontend
|
|
17
|
+
- **task-executor: Reference Representativeness check** (agents) — Per-adoption verification with concrete thresholds (≥3 files across different directories = representative). New `dependency_version_uncertain` escalation type when repository-wide verification is insufficient
|
|
18
|
+
- **coding-standards: Reference Representativeness section** (skills) — IF-THEN criteria for verifying patterns, APIs, and dependencies before adoption. Failure mode documented. Pattern 5 extended with representativeness check reference
|
|
19
|
+
- **technical-spec: Quality Assurance Mechanism Awareness** (skills) — New section before Quality Check Requirements for identifying domain-specific quality mechanisms before executing standard phases
|
|
20
|
+
- **Documentation templates: QA Mechanisms sections** (skills) — Design template, plan template, and task template extended with Quality Assurance Mechanisms sections. Mechanism type (`executable_check` / `passive_constraint`) explicitly distinguished
|
|
21
|
+
- **Orchestration: task_file passing and updated response specs** (commands/skills) — build, front-build, implement commands always pass task file path to quality-fixer. Orchestration guide updated with `qualityAssurance` in codebase-analyzer handoff, `dependency_version_uncertain` escalation type, and `task_file` input documentation
|
|
22
|
+
|
|
8
23
|
## [1.20.6] - 2026-04-10
|
|
9
24
|
|
|
10
25
|
### Added
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-ai-project",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.7",
|
|
4
4
|
"packageManager": "npm@10.8.2",
|
|
5
5
|
"description": "TypeScript boilerplate with skills and sub-agents for Claude Code. Prevents context exhaustion through role-based task splitting.",
|
|
6
6
|
"keywords": [
|