takt 0.40.0 → 0.41.0
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/builtins/en/config.yaml +2 -0
- package/builtins/en/facets/instructions/_system/fallback-notice.md +16 -0
- package/builtins/en/facets/instructions/ai-antipattern-fix.md +2 -14
- package/builtins/en/facets/instructions/ai-antipattern-review.md +5 -11
- package/builtins/en/facets/instructions/implement-after-tests.md +6 -7
- package/builtins/en/facets/instructions/implement.md +6 -7
- package/builtins/en/facets/instructions/review-arch.md +4 -36
- package/builtins/en/facets/instructions/review-cqrs-es.md +7 -23
- package/builtins/en/facets/instructions/review-frontend.md +6 -32
- package/builtins/en/facets/instructions/review-qa.md +5 -31
- package/builtins/en/facets/instructions/review-requirements.md +6 -24
- package/builtins/en/facets/instructions/review-security.md +13 -36
- package/builtins/en/facets/instructions/review-terraform.md +4 -28
- package/builtins/en/facets/instructions/review-test.md +8 -29
- package/builtins/en/facets/instructions/supervise.md +17 -35
- package/builtins/en/facets/knowledge/cqrs-es.md +18 -0
- package/builtins/en/facets/knowledge/frontend.md +4 -2
- package/builtins/en/facets/knowledge/react.md +3 -0
- package/builtins/en/facets/policies/review.md +30 -0
- package/builtins/en/workflows/auto-improvement-loop.yaml +20 -6
- package/builtins/ja/INSTRUCTION_STYLE_GUIDE.md +38 -3
- package/builtins/ja/config.yaml +2 -0
- package/builtins/ja/facets/instructions/_system/fallback-notice.md +16 -0
- package/builtins/ja/facets/instructions/ai-antipattern-fix.md +4 -16
- package/builtins/ja/facets/instructions/ai-antipattern-review.md +7 -13
- package/builtins/ja/facets/instructions/implement-after-tests.md +6 -7
- package/builtins/ja/facets/instructions/implement.md +6 -7
- package/builtins/ja/facets/instructions/review-arch.md +5 -37
- package/builtins/ja/facets/instructions/review-cqrs-es.md +7 -23
- package/builtins/ja/facets/instructions/review-frontend.md +6 -32
- package/builtins/ja/facets/instructions/review-qa.md +5 -31
- package/builtins/ja/facets/instructions/review-requirements.md +10 -28
- package/builtins/ja/facets/instructions/review-security.md +13 -36
- package/builtins/ja/facets/instructions/review-terraform.md +5 -29
- package/builtins/ja/facets/instructions/review-test.md +8 -29
- package/builtins/ja/facets/instructions/supervise.md +15 -33
- package/builtins/ja/facets/knowledge/cqrs-es.md +18 -0
- package/builtins/ja/facets/knowledge/frontend.md +4 -2
- package/builtins/ja/facets/knowledge/react.md +3 -0
- package/builtins/ja/facets/policies/review.md +30 -0
- package/builtins/ja/workflows/auto-improvement-loop.yaml +20 -6
- package/builtins/schemas/followup-task.json +65 -10
- package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts +1 -0
- package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts.map +1 -1
- package/dist/agents/structured-caller/prompt-based-structured-caller.js +64 -36
- package/dist/agents/structured-caller/prompt-based-structured-caller.js.map +1 -1
- package/dist/core/models/config-schemas.d.ts +32 -0
- package/dist/core/models/config-schemas.d.ts.map +1 -1
- package/dist/core/models/config-schemas.js +2 -1
- package/dist/core/models/config-schemas.js.map +1 -1
- package/dist/core/models/config-types.d.ts +3 -1
- package/dist/core/models/config-types.d.ts.map +1 -1
- package/dist/core/models/index.d.ts +1 -1
- package/dist/core/models/index.d.ts.map +1 -1
- package/dist/core/models/index.js.map +1 -1
- package/dist/core/models/part.d.ts +5 -0
- package/dist/core/models/part.d.ts.map +1 -1
- package/dist/core/models/response.d.ts +9 -0
- package/dist/core/models/response.d.ts.map +1 -1
- package/dist/core/models/response.js.map +1 -1
- package/dist/core/models/schema-base.d.ts +20 -0
- package/dist/core/models/schema-base.d.ts.map +1 -1
- package/dist/core/models/schema-base.js +9 -2
- package/dist/core/models/schema-base.js.map +1 -1
- package/dist/core/models/status.d.ts +1 -1
- package/dist/core/models/status.d.ts.map +1 -1
- package/dist/core/models/status.js +1 -1
- package/dist/core/models/status.js.map +1 -1
- package/dist/core/models/types.d.ts +2 -2
- package/dist/core/models/types.d.ts.map +1 -1
- package/dist/core/models/workflow-condition-expression.d.ts +12 -0
- package/dist/core/models/workflow-condition-expression.d.ts.map +1 -0
- package/dist/core/models/workflow-condition-expression.js +26 -0
- package/dist/core/models/workflow-condition-expression.js.map +1 -0
- package/dist/core/models/workflow-provider-options.d.ts +1 -0
- package/dist/core/models/workflow-provider-options.d.ts.map +1 -1
- package/dist/core/models/workflow-provider-options.js.map +1 -1
- package/dist/core/models/workflow-schemas.d.ts +323 -0
- package/dist/core/models/workflow-schemas.d.ts.map +1 -1
- package/dist/core/models/workflow-schemas.js +59 -5
- package/dist/core/models/workflow-schemas.js.map +1 -1
- package/dist/core/models/workflow-system-input-types.d.ts +1 -0
- package/dist/core/models/workflow-system-input-types.d.ts.map +1 -1
- package/dist/core/models/workflow-system-schemas.d.ts +1 -0
- package/dist/core/models/workflow-system-schemas.d.ts.map +1 -1
- package/dist/core/models/workflow-system-schemas.js +1 -0
- package/dist/core/models/workflow-system-schemas.js.map +1 -1
- package/dist/core/models/workflow-types.d.ts +33 -0
- package/dist/core/models/workflow-types.d.ts.map +1 -1
- package/dist/core/workflow/arpeggio/types.d.ts +3 -0
- package/dist/core/workflow/arpeggio/types.d.ts.map +1 -1
- package/dist/core/workflow/engine/ArpeggioRunner.d.ts +3 -6
- package/dist/core/workflow/engine/ArpeggioRunner.d.ts.map +1 -1
- package/dist/core/workflow/engine/ArpeggioRunner.js +40 -19
- package/dist/core/workflow/engine/ArpeggioRunner.js.map +1 -1
- package/dist/core/workflow/engine/OptionsBuilder.d.ts.map +1 -1
- package/dist/core/workflow/engine/OptionsBuilder.js +5 -1
- package/dist/core/workflow/engine/OptionsBuilder.js.map +1 -1
- package/dist/core/workflow/engine/ParallelRunner.d.ts +4 -6
- package/dist/core/workflow/engine/ParallelRunner.d.ts.map +1 -1
- package/dist/core/workflow/engine/ParallelRunner.js +55 -12
- package/dist/core/workflow/engine/ParallelRunner.js.map +1 -1
- package/dist/core/workflow/engine/StepExecutor.d.ts +10 -7
- package/dist/core/workflow/engine/StepExecutor.d.ts.map +1 -1
- package/dist/core/workflow/engine/StepExecutor.js +81 -11
- package/dist/core/workflow/engine/StepExecutor.js.map +1 -1
- package/dist/core/workflow/engine/TeamLeaderRunner.d.ts +3 -5
- package/dist/core/workflow/engine/TeamLeaderRunner.d.ts.map +1 -1
- package/dist/core/workflow/engine/TeamLeaderRunner.js +30 -7
- package/dist/core/workflow/engine/TeamLeaderRunner.js.map +1 -1
- package/dist/core/workflow/engine/WorkflowCallExecutor.d.ts.map +1 -1
- package/dist/core/workflow/engine/WorkflowCallExecutor.js +1 -0
- package/dist/core/workflow/engine/WorkflowCallExecutor.js.map +1 -1
- package/dist/core/workflow/engine/WorkflowCallRunner.d.ts +3 -6
- package/dist/core/workflow/engine/WorkflowCallRunner.d.ts.map +1 -1
- package/dist/core/workflow/engine/WorkflowCallRunner.js +1 -1
- package/dist/core/workflow/engine/WorkflowCallRunner.js.map +1 -1
- package/dist/core/workflow/engine/WorkflowEngine.d.ts.map +1 -1
- package/dist/core/workflow/engine/WorkflowEngine.js +23 -17
- package/dist/core/workflow/engine/WorkflowEngine.js.map +1 -1
- package/dist/core/workflow/engine/WorkflowEngineSetup.d.ts +4 -1
- package/dist/core/workflow/engine/WorkflowEngineSetup.d.ts.map +1 -1
- package/dist/core/workflow/engine/WorkflowEngineSetup.js +1 -0
- package/dist/core/workflow/engine/WorkflowEngineSetup.js.map +1 -1
- package/dist/core/workflow/engine/WorkflowEngineStepCoordinator.d.ts +9 -27
- package/dist/core/workflow/engine/WorkflowEngineStepCoordinator.d.ts.map +1 -1
- package/dist/core/workflow/engine/WorkflowEngineStepCoordinator.js +6 -6
- package/dist/core/workflow/engine/WorkflowEngineStepCoordinator.js.map +1 -1
- package/dist/core/workflow/engine/WorkflowRunLoop.d.ts +5 -6
- package/dist/core/workflow/engine/WorkflowRunLoop.d.ts.map +1 -1
- package/dist/core/workflow/engine/WorkflowRunLoop.js +151 -8
- package/dist/core/workflow/engine/WorkflowRunLoop.js.map +1 -1
- package/dist/core/workflow/engine/engine-provider-options.d.ts +1 -1
- package/dist/core/workflow/engine/engine-provider-options.d.ts.map +1 -1
- package/dist/core/workflow/engine/state-manager.d.ts +1 -0
- package/dist/core/workflow/engine/state-manager.d.ts.map +1 -1
- package/dist/core/workflow/engine/state-manager.js +11 -0
- package/dist/core/workflow/engine/state-manager.js.map +1 -1
- package/dist/core/workflow/engine/structured-output-normalizer.d.ts +23 -0
- package/dist/core/workflow/engine/structured-output-normalizer.d.ts.map +1 -0
- package/dist/core/workflow/engine/structured-output-normalizer.js +13 -0
- package/dist/core/workflow/engine/structured-output-normalizer.js.map +1 -0
- package/dist/core/workflow/engine/team-leader-part-runner.d.ts +2 -1
- package/dist/core/workflow/engine/team-leader-part-runner.d.ts.map +1 -1
- package/dist/core/workflow/engine/team-leader-part-runner.js +17 -6
- package/dist/core/workflow/engine/team-leader-part-runner.js.map +1 -1
- package/dist/core/workflow/instruction/InstructionBuilder.d.ts.map +1 -1
- package/dist/core/workflow/instruction/InstructionBuilder.js +7 -0
- package/dist/core/workflow/instruction/InstructionBuilder.js.map +1 -1
- package/dist/core/workflow/instruction/fallback-notice.d.ts +3 -0
- package/dist/core/workflow/instruction/fallback-notice.d.ts.map +1 -0
- package/dist/core/workflow/instruction/fallback-notice.js +20 -0
- package/dist/core/workflow/instruction/fallback-notice.js.map +1 -0
- package/dist/core/workflow/instruction/instruction-context.d.ts +3 -1
- package/dist/core/workflow/instruction/instruction-context.d.ts.map +1 -1
- package/dist/core/workflow/instruction/instruction-context.js.map +1 -1
- package/dist/core/workflow/phase-runner.d.ts +3 -1
- package/dist/core/workflow/phase-runner.d.ts.map +1 -1
- package/dist/core/workflow/phase-runner.js.map +1 -1
- package/dist/core/workflow/promotion/PromotionEvaluator.d.ts +13 -0
- package/dist/core/workflow/promotion/PromotionEvaluator.d.ts.map +1 -0
- package/dist/core/workflow/promotion/PromotionEvaluator.js +40 -0
- package/dist/core/workflow/promotion/PromotionEvaluator.js.map +1 -0
- package/dist/core/workflow/promotion/promotion-runtime.d.ts +11 -0
- package/dist/core/workflow/promotion/promotion-runtime.d.ts.map +1 -0
- package/dist/core/workflow/promotion/promotion-runtime.js +112 -0
- package/dist/core/workflow/promotion/promotion-runtime.js.map +1 -0
- package/dist/core/workflow/provider-options-trace.d.ts +3 -2
- package/dist/core/workflow/provider-options-trace.d.ts.map +1 -1
- package/dist/core/workflow/provider-resolution.js +10 -10
- package/dist/core/workflow/provider-resolution.js.map +1 -1
- package/dist/core/workflow/report-phase-runner.d.ts +5 -1
- package/dist/core/workflow/report-phase-runner.d.ts.map +1 -1
- package/dist/core/workflow/report-phase-runner.js +21 -3
- package/dist/core/workflow/report-phase-runner.js.map +1 -1
- package/dist/core/workflow/system/system-step-effect-runner.d.ts.map +1 -1
- package/dist/core/workflow/system/system-step-effect-runner.js +4 -1
- package/dist/core/workflow/system/system-step-effect-runner.js.map +1 -1
- package/dist/core/workflow/types.d.ts +15 -2
- package/dist/core/workflow/types.d.ts.map +1 -1
- package/dist/features/tasks/add/issueTask.d.ts +1 -14
- package/dist/features/tasks/add/issueTask.d.ts.map +1 -1
- package/dist/features/tasks/add/issueTask.js +124 -20
- package/dist/features/tasks/add/issueTask.js.map +1 -1
- package/dist/features/tasks/execute/workflowExecution.d.ts.map +1 -1
- package/dist/features/tasks/execute/workflowExecution.js +3 -0
- package/dist/features/tasks/execute/workflowExecution.js.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionBootstrap.js +2 -0
- package/dist/features/tasks/execute/workflowExecutionBootstrap.js.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionEvents.d.ts.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionEvents.js +18 -2
- package/dist/features/tasks/execute/workflowExecutionEvents.js.map +1 -1
- package/dist/infra/claude/client.d.ts.map +1 -1
- package/dist/infra/claude/client.js +5 -0
- package/dist/infra/claude/client.js.map +1 -1
- package/dist/infra/claude/executor.d.ts.map +1 -1
- package/dist/infra/claude/executor.js +35 -20
- package/dist/infra/claude/executor.js.map +1 -1
- package/dist/infra/claude/types.d.ts +2 -1
- package/dist/infra/claude/types.d.ts.map +1 -1
- package/dist/infra/claude-headless/client.d.ts.map +1 -1
- package/dist/infra/claude-headless/client.js +10 -3
- package/dist/infra/claude-headless/client.js.map +1 -1
- package/dist/infra/claude-headless/headless-spawn.d.ts +1 -0
- package/dist/infra/claude-headless/headless-spawn.d.ts.map +1 -1
- package/dist/infra/claude-headless/headless-spawn.js +16 -0
- package/dist/infra/claude-headless/headless-spawn.js.map +1 -1
- package/dist/infra/claude-headless/result-response.d.ts.map +1 -1
- package/dist/infra/claude-headless/result-response.js +34 -0
- package/dist/infra/claude-headless/result-response.js.map +1 -1
- package/dist/infra/codex/client.d.ts +1 -0
- package/dist/infra/codex/client.d.ts.map +1 -1
- package/dist/infra/codex/client.js +21 -1
- package/dist/infra/codex/client.js.map +1 -1
- package/dist/infra/config/configNormalizers.d.ts +13 -1
- package/dist/infra/config/configNormalizers.d.ts.map +1 -1
- package/dist/infra/config/configNormalizers.js +37 -2
- package/dist/infra/config/configNormalizers.js.map +1 -1
- package/dist/infra/config/global/globalConfigCore.d.ts.map +1 -1
- package/dist/infra/config/global/globalConfigCore.js +2 -1
- package/dist/infra/config/global/globalConfigCore.js.map +1 -1
- package/dist/infra/config/global/globalConfigSerializer.d.ts.map +1 -1
- package/dist/infra/config/global/globalConfigSerializer.js +5 -1
- package/dist/infra/config/global/globalConfigSerializer.js.map +1 -1
- package/dist/infra/config/loaders/workflowParser.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowParser.js +2 -1
- package/dist/infra/config/loaders/workflowParser.js.map +1 -1
- package/dist/infra/config/loaders/workflowRuleNormalizer.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowRuleNormalizer.js +8 -9
- package/dist/infra/config/loaders/workflowRuleNormalizer.js.map +1 -1
- package/dist/infra/config/loaders/workflowStepNormalizer.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowStepNormalizer.js +21 -0
- package/dist/infra/config/loaders/workflowStepNormalizer.js.map +1 -1
- package/dist/infra/config/project/projectConfig.d.ts.map +1 -1
- package/dist/infra/config/project/projectConfig.js +11 -3
- package/dist/infra/config/project/projectConfig.js.map +1 -1
- package/dist/infra/config/providerOptions.d.ts +2 -1
- package/dist/infra/config/providerOptions.d.ts.map +1 -1
- package/dist/infra/config/providerOptions.js +17 -3
- package/dist/infra/config/providerOptions.js.map +1 -1
- package/dist/infra/config/providerOptionsContract.d.ts +3 -3
- package/dist/infra/config/providerOptionsContract.d.ts.map +1 -1
- package/dist/infra/config/providerOptionsContract.js +3 -0
- package/dist/infra/config/providerOptionsContract.js.map +1 -1
- package/dist/infra/config/traced/tracedConfigSchema.d.ts.map +1 -1
- package/dist/infra/config/traced/tracedConfigSchema.js +4 -0
- package/dist/infra/config/traced/tracedConfigSchema.js.map +1 -1
- package/dist/infra/mock/client.d.ts.map +1 -1
- package/dist/infra/mock/client.js +2 -0
- package/dist/infra/mock/client.js.map +1 -1
- package/dist/infra/mock/scenario.d.ts.map +1 -1
- package/dist/infra/mock/scenario.js +11 -0
- package/dist/infra/mock/scenario.js.map +1 -1
- package/dist/infra/mock/types.d.ts +9 -0
- package/dist/infra/mock/types.d.ts.map +1 -1
- package/dist/infra/opencode/client.d.ts +1 -0
- package/dist/infra/opencode/client.d.ts.map +1 -1
- package/dist/infra/opencode/client.js +22 -0
- package/dist/infra/opencode/client.js.map +1 -1
- package/dist/infra/opencode/types.d.ts +1 -0
- package/dist/infra/opencode/types.d.ts.map +1 -1
- package/dist/infra/providers/opencode.d.ts.map +1 -1
- package/dist/infra/providers/opencode.js +1 -0
- package/dist/infra/providers/opencode.js.map +1 -1
- package/dist/infra/rate-limit/detection.d.ts +13 -0
- package/dist/infra/rate-limit/detection.d.ts.map +1 -0
- package/dist/infra/rate-limit/detection.js +45 -0
- package/dist/infra/rate-limit/detection.js.map +1 -0
- package/dist/infra/workflow/structured-output/followup-task-normalizer.d.ts +3 -0
- package/dist/infra/workflow/structured-output/followup-task-normalizer.d.ts.map +1 -0
- package/dist/infra/workflow/structured-output/followup-task-normalizer.js +206 -0
- package/dist/infra/workflow/structured-output/followup-task-normalizer.js.map +1 -0
- package/dist/infra/workflow/system/system-enqueue-effect.d.ts.map +1 -1
- package/dist/infra/workflow/system/system-enqueue-effect.js +4 -2
- package/dist/infra/workflow/system/system-enqueue-effect.js.map +1 -1
- package/dist/shared/prompts/en/perform_phase1_message.md +11 -1
- package/dist/shared/prompts/ja/perform_phase1_message.md +11 -1
- package/dist/shared/utils/delay.d.ts +2 -0
- package/dist/shared/utils/delay.d.ts.map +1 -0
- package/dist/shared/utils/delay.js +4 -0
- package/dist/shared/utils/delay.js.map +1 -0
- package/dist/shared/utils/index.d.ts +1 -0
- package/dist/shared/utils/index.d.ts.map +1 -1
- package/dist/shared/utils/index.js +1 -0
- package/dist/shared/utils/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -203,6 +203,36 @@ Do not tolerate problems just because existing code does the same. If existing c
|
|
|
203
203
|
- "The code itself existed before" is not a valid reason for non-blocking. As long as it is in a changed file, the Boy Scout rule applies
|
|
204
204
|
- If even one issue exists, REJECT. "APPROVE with warnings" or "APPROVE with suggestions" is prohibited
|
|
205
205
|
|
|
206
|
+
## Basic Review Procedure
|
|
207
|
+
|
|
208
|
+
Common procedure that every reviewer must follow. Do not duplicate this in individual instructions.
|
|
209
|
+
|
|
210
|
+
### Referring to Primary Sources
|
|
211
|
+
|
|
212
|
+
- Use `order.md`, `plan.md`, and the actual code as primary sources
|
|
213
|
+
- Treat decisions from earlier steps (prior review results, planning decisions) as supplementary
|
|
214
|
+
- When information conflicts, prioritize `order.md` / `plan.md` / actual code
|
|
215
|
+
|
|
216
|
+
### Referring to Design Decisions
|
|
217
|
+
|
|
218
|
+
- If the implementation step has emitted `coder-decisions.md`, read it and understand the recorded design decisions
|
|
219
|
+
- Do not dismiss intentional decisions as false positives just because they were recorded. Evaluate validity against `order.md` / `plan.md` / actual code
|
|
220
|
+
- If the design decision itself is flawed, raise it
|
|
221
|
+
|
|
222
|
+
### Tracking Findings from Previous Reviews
|
|
223
|
+
|
|
224
|
+
- Look in the Report Directory for review reports this step has previously produced, along with their timestamped history
|
|
225
|
+
- Treat the unsuffixed file as the latest result and the most recent `{report-name}.{timestamp}` as the previous result
|
|
226
|
+
- `Previous Response` may be used as supplementary information, but finding state determinations must prioritize the report history
|
|
227
|
+
- Do not drop open findings from the previous report when producing the new report
|
|
228
|
+
- Apply the `finding_id` management rules when classifying each finding as `new` / `persists` / `resolved` / `reopened`
|
|
229
|
+
|
|
230
|
+
### Final Decision Steps
|
|
231
|
+
|
|
232
|
+
1. Classify each detected issue as blocking / non-blocking according to the scope rules and decision rules above
|
|
233
|
+
2. When citing test, build, or behavior verification as evidence, record the target, the check, and the result in the report
|
|
234
|
+
3. REJECT if there is at least one blocking issue (`new`, `persists`, or `reopened`)
|
|
235
|
+
|
|
206
236
|
## Detecting Circular Arguments
|
|
207
237
|
|
|
208
238
|
When the same kind of issue keeps recurring, reconsider the approach itself rather than repeating the same fix instructions.
|
|
@@ -85,10 +85,17 @@ steps:
|
|
|
85
85
|
Treat the current issue itself as in-scope, not as a duplicate.
|
|
86
86
|
Avoid tasks that materially duplicate or overlap with an open PR or the other open issues listed above.
|
|
87
87
|
|
|
88
|
-
Do not implement anything. Output only the next task
|
|
88
|
+
Do not implement anything. Output only the next task metadata as structured output.
|
|
89
89
|
Output the next action in action.
|
|
90
|
-
Always output
|
|
91
|
-
|
|
90
|
+
Always output title, type, scope, summary, goals, acceptance_criteria, and issue.
|
|
91
|
+
Output labels only when needed.
|
|
92
|
+
In title, output a concise GitHub Issue title.
|
|
93
|
+
Do not use generic headings such as "# Task Order" or "Task Order" in title.
|
|
94
|
+
Set type to one of feature / bug / chore / docs.
|
|
95
|
+
TAKT renders summary, goals, and acceptance_criteria into this Markdown template:
|
|
96
|
+
## Summary / ## Goals / ## Acceptance Criteria
|
|
97
|
+
For enqueue_new_task, set at least one goal and at least two acceptance criteria.
|
|
98
|
+
For wait_before_next_scan, set title, scope, and summary to empty strings, type to "chore", goals and acceptance_criteria to empty arrays, labels to an empty array, and issue to { create: false }.
|
|
92
99
|
For an existing issue task, set issue.create to false unless a new GitHub Issue is explicitly needed.
|
|
93
100
|
|
|
94
101
|
Allowed action values:
|
|
@@ -148,10 +155,17 @@ steps:
|
|
|
148
155
|
Avoid tasks that materially duplicate or overlap with an open PR or tracked open issue.
|
|
149
156
|
If you cannot identify a clearly distinct, high-value task, choose wait_before_next_scan.
|
|
150
157
|
|
|
151
|
-
Do not implement anything. Output only the next task
|
|
158
|
+
Do not implement anything. Output only the next task metadata as structured output.
|
|
152
159
|
Output the next action in action.
|
|
153
|
-
Always output
|
|
154
|
-
|
|
160
|
+
Always output title, type, scope, summary, goals, acceptance_criteria, and issue.
|
|
161
|
+
Output labels only when needed.
|
|
162
|
+
In title, output a concise GitHub Issue title.
|
|
163
|
+
Do not use generic headings such as "# Task Order" or "Task Order" in title.
|
|
164
|
+
Set type to one of feature / bug / chore / docs.
|
|
165
|
+
TAKT renders summary, goals, and acceptance_criteria into this Markdown template:
|
|
166
|
+
## Summary / ## Goals / ## Acceptance Criteria
|
|
167
|
+
For enqueue_new_task, set at least one goal and at least two acceptance criteria.
|
|
168
|
+
For wait_before_next_scan, set title, scope, and summary to empty strings, type to "chore", goals and acceptance_criteria to empty arrays, labels to an empty array, and issue to { create: false }.
|
|
155
169
|
For a fresh improvement task, set issue.create to true so the task is backed by a GitHub Issue.
|
|
156
170
|
|
|
157
171
|
Allowed action values:
|
|
@@ -206,9 +206,44 @@ InstructionBuilder が `instruction` 内の `{変数名}` を展開する。イ
|
|
|
206
206
|
|
|
207
207
|
1. **ペルソナの内容**: エージェントの専門知識、検出手法、行動姿勢
|
|
208
208
|
2. **ポリシーの内容**: DRY、Fail Fast 等の共有コーディング原則
|
|
209
|
-
3.
|
|
210
|
-
4.
|
|
211
|
-
5.
|
|
209
|
+
3. **ナレッジの判定基準・パターン**: 観点リスト、判定基準テーブル、コード例
|
|
210
|
+
4. **自動注入される内容**: `{task}`, `{previous_response}` のプレースホルダーを明示的に書かない(エンジンが自動付加する)
|
|
211
|
+
5. **他のステップ名の直接参照**: 「implement ステップに戻る」等(ルーティングはルール定義の責務)
|
|
212
|
+
6. **ワークフロー固有のルーティング**: 「APPROVE なら次へ」等(ルール条件の責務)
|
|
213
|
+
|
|
214
|
+
### レビュー系インストラクションでの観点列挙の禁止
|
|
215
|
+
|
|
216
|
+
レビュー系(review-*, ai-antipattern-review, audit-*-review)の instruction で「**レビュー観点:**」「**チェック項目:**」のような観点リストを列挙してはならない。
|
|
217
|
+
|
|
218
|
+
理由:
|
|
219
|
+
- 観点・判定基準は対応する Knowledge / Policy に既に揃っている
|
|
220
|
+
- instruction に観点を抜粋すると、policy / knowledge に章を追加しても instruction に反映されず drift する
|
|
221
|
+
- AI が観点リストを「許可リスト」として扱い、Knowledge / Policy 全章の他観点を見落とす
|
|
222
|
+
|
|
223
|
+
正しい書き方:
|
|
224
|
+
|
|
225
|
+
```markdown
|
|
226
|
+
# 良い例(フォーカス領域を 1 行で示し、判定基準は policy / knowledge に丸投げ)
|
|
227
|
+
**アーキテクチャと設計**のレビューに集中してください。
|
|
228
|
+
Knowledge と Policy の判定基準・検出パターン全章にしたがって変更差分をレビューしてください。
|
|
229
|
+
Knowledge / Policy はトリミングされる場合があります。Source Path から元ファイルの全章を確認した上で照合してください。
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
```markdown
|
|
233
|
+
# 悪い例(観点を列挙して許可リスト化)
|
|
234
|
+
**レビュー観点:**
|
|
235
|
+
- 構造・設計の妥当性
|
|
236
|
+
- モジュール化(高凝集・低結合・循環依存)
|
|
237
|
+
- コード品質
|
|
238
|
+
- デッドコード
|
|
239
|
+
- ...
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
並列レビューで複数の reviewer を差別化するための「フォーカス領域」は 1 行のヒントに留める。詳細な観点・基準は Knowledge / Policy に置く。
|
|
243
|
+
|
|
244
|
+
### 共通手順の重複禁止
|
|
245
|
+
|
|
246
|
+
複数の instruction に同一の手順ブロック(「前回指摘の追跡」「設計判断の参照」など)が転記されている場合は、共有 policy か共通ペルソナの「やること」へ集約する。同じ文言を 2 箇所以上に書かない。
|
|
212
247
|
|
|
213
248
|
### 例外: レポート参照
|
|
214
249
|
|
package/builtins/ja/config.yaml
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
## 注意: このステップは fallback 実行です
|
|
2
|
+
|
|
3
|
+
直前のステップ実行は外部要因({{fallback_reason}})で中断され、新しいセッションで再実行されています。
|
|
4
|
+
前回のセッションのコンテキストは本セッションには引き継がれていません。
|
|
5
|
+
|
|
6
|
+
- 中断されたステップ: {{step_name}}
|
|
7
|
+
- 中断時の iteration: {{original_iteration}}
|
|
8
|
+
- 中断理由: {{fallback_reason_detail}}
|
|
9
|
+
- 切替前 provider/model: {{previous_provider}} / {{previous_model}}
|
|
10
|
+
- 現在の provider/model: {{current_provider}} / {{current_model}}
|
|
11
|
+
|
|
12
|
+
ファイルや成果物としてディスクに残っている前回の作業成果は参照可能ですが、チャット上の文脈は失われています。必要に応じて次の手順で文脈を補ってください。
|
|
13
|
+
|
|
14
|
+
1. {{report_dir}} 配下の既存レポートを確認します
|
|
15
|
+
2. 直前のコミットや作業ブランチの差分を確認します
|
|
16
|
+
3. それでも文脈が不足する場合は、ステップ instruction に基づいて最初から実行します
|
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
**これは {step_iteration} 回目の AI Review です。**
|
|
2
|
-
Report Directory内のレポートを一次情報として参照してください。不足情報の補完が必要な場合に限り、Previous Responseや会話履歴を補助的に参照して構いません(Previous Responseは提供されない場合があります)。情報が競合する場合は、Report Directory内のレポートと実際のファイル内容を優先してください。
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
**あなたの「修正済み」という認識が間違っています。**
|
|
6
|
-
|
|
7
|
-
**まず認めること:**
|
|
8
|
-
- 「修正済み」と思っていたファイルは実際には修正されていない
|
|
9
|
-
- 前回の作業内容の認識が間違っている
|
|
10
|
-
- ゼロベースで考え直す必要がある
|
|
3
|
+
Report Directory 内のレポートを一次情報として参照してください。不足情報の補完が必要な場合に限り、Previous Response や会話履歴を補助的に参照して構いません(Previous Response は提供されない場合があります)。情報が競合する場合は、Report Directory 内のレポートと実際のファイル内容を優先してください。
|
|
11
4
|
|
|
12
5
|
**必須アクション:**
|
|
13
|
-
1. 指摘された全ファイルを Read tool
|
|
6
|
+
1. 指摘された全ファイルを Read tool で開く
|
|
14
7
|
2. 問題箇所を grep で検索して実在を確認する
|
|
15
8
|
3. 確認した問題を Edit tool で修正する
|
|
16
9
|
4. テストを実行して検証する
|
|
@@ -18,15 +11,10 @@ Report Directory内のレポートを一次情報として参照してくださ
|
|
|
18
11
|
|
|
19
12
|
**報告フォーマット:**
|
|
20
13
|
- NG: 「既に修正されています」
|
|
21
|
-
- OK: 「ファイルXのL123を確認した結果、問題Yが存在したため、Zに修正しました」
|
|
22
|
-
|
|
23
|
-
**絶対に禁止:**
|
|
24
|
-
- ファイルを開かずに「修正済み」と報告
|
|
25
|
-
- 思い込みで判断
|
|
26
|
-
- AI Reviewer が REJECT した問題の放置
|
|
14
|
+
- OK: 「ファイル X の L123 を確認した結果、問題 Y が存在したため、Z に修正しました」
|
|
27
15
|
|
|
28
16
|
**修正不要の扱い(必須)**
|
|
29
|
-
- AI Reviewの指摘ごとに「対象ファイルの確認結果」を示せない場合は修正不要と判断しない
|
|
17
|
+
- AI Review の指摘ごとに「対象ファイルの確認結果」を示せない場合は修正不要と判断しない
|
|
30
18
|
- 指摘が「生成物」「仕様同期」に関係する場合は、生成元/仕様の確認ができなければ「判断できない」に対応するタグを出力する
|
|
31
19
|
- 修正不要の場合は「判断できない」に対応するタグを出力し、理由と確認範囲を明記する
|
|
32
20
|
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
**これは {step_iteration} 回目のAI Reviewです。**
|
|
1
|
+
**これは {step_iteration} 回目の AI Review です。**
|
|
2
2
|
|
|
3
3
|
初回は網羅的にレビューし、指摘すべき問題をすべて出し切ってください。
|
|
4
|
-
2回目以降は、前回REJECTした項目が修正されたかの確認を優先してください。
|
|
4
|
+
2回目以降は、前回 REJECT した項目が修正されたかの確認を優先してください。
|
|
5
5
|
|
|
6
|
-
AI
|
|
7
|
-
- 仮定の検証
|
|
8
|
-
- もっともらしいが間違っているパターン
|
|
9
|
-
- 既存コードベースとの適合性
|
|
10
|
-
- スコープクリープの検出
|
|
11
|
-
- スコープ縮小の検出(タスク要件の取りこぼし)
|
|
6
|
+
AI 特有の問題のレビューを行ってください。
|
|
12
7
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
3. ブロッキング問題が1件でもあればREJECTと判定する
|
|
8
|
+
手順:
|
|
9
|
+
1. Knowledge と Policy の Source Path を Read ツールで開き、全文を取得する
|
|
10
|
+
2. それぞれの `##` セクションをすべて列挙する(取捨選択しない)
|
|
11
|
+
3. 列挙した各セクションの判定基準を変更差分と照合し、該当する問題を検出する
|
|
@@ -42,13 +42,12 @@ Small / Medium / Large
|
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
**実装完了前の自己チェック(必須):**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
- 新しいコードが既存の実装パターン(API呼び出し方式、型定義方式等)と一致しているか確認した
|
|
45
|
+
|
|
46
|
+
ビルドとテストを実行する前に、次の手順で Policy の REJECT 基準を自己点検してください。
|
|
47
|
+
|
|
48
|
+
1. Policy の Source Path を Read ツールで開き、全文を取得する
|
|
49
|
+
2. 各 `##` セクションをすべて列挙する(取捨選択しない)
|
|
50
|
+
3. 列挙した各セクションの REJECT 基準と自分の実装を照合する
|
|
52
51
|
|
|
53
52
|
**必須出力(見出しを含める)**
|
|
54
53
|
## 作業結果
|
|
@@ -41,13 +41,12 @@ Small / Medium / Large
|
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
**実装完了前の自己チェック(必須):**
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
- 新しいコードが既存の実装パターン(API呼び出し方式、型定義方式等)と一致しているか確認した
|
|
44
|
+
|
|
45
|
+
ビルドとテストを実行する前に、次の手順で Policy の REJECT 基準を自己点検してください。
|
|
46
|
+
|
|
47
|
+
1. Policy の Source Path を Read ツールで開き、全文を取得する
|
|
48
|
+
2. 各 `##` セクションをすべて列挙する(取捨選択しない)
|
|
49
|
+
3. 列挙した各セクションの REJECT 基準と自分の実装を照合する
|
|
51
50
|
|
|
52
51
|
**必須出力(見出しを含める)**
|
|
53
52
|
## 作業結果
|
|
@@ -1,39 +1,7 @@
|
|
|
1
1
|
**アーキテクチャと設計**のレビューに集中してください。
|
|
2
|
-
AI特有の問題はレビューしないでください(ai-antipattern-review-1st ステップで実施済み)。
|
|
2
|
+
AI 特有の問題はレビューしないでください(ai-antipattern-review-1st ステップで実施済み)。
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
- コード品質
|
|
9
|
-
- 変更スコープの適切性
|
|
10
|
-
- テストカバレッジ
|
|
11
|
-
- デッドコード
|
|
12
|
-
- 呼び出しチェーン検証
|
|
13
|
-
- 契約文字列(ファイル名・設定キー名)のハードコード散在
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
**設計判断の参照:**
|
|
17
|
-
{report:coder-decisions.md} を確認し、記録された設計判断を把握してください。
|
|
18
|
-
- 記録された意図的な判断は FP として指摘しない
|
|
19
|
-
- ただし設計判断自体の妥当性も評価し、問題がある場合は指摘する
|
|
20
|
-
|
|
21
|
-
**前回指摘の追跡(必須):**
|
|
22
|
-
- まず Report Directory 内で、このステップが前回までに出力したレビュー結果とそのタイムスタンプ付き履歴を確認し、無印ファイルを最新結果、直前のタイムスタンプ付きファイルを前回結果として扱う
|
|
23
|
-
- `Previous Response` がある場合は補助情報として参照してよいが、findings の状態判定はレポート履歴を優先する
|
|
24
|
-
- 各 finding に `finding_id` を付け、今回の状態を `new / persists / resolved / reopened` で判定する
|
|
25
|
-
- `persists` と判定する場合は、未解決である根拠(ファイル/行)を必ず示す
|
|
26
|
-
- 前回レポートにある open findings を、今回のレポートへ欠落させない
|
|
27
|
-
|
|
28
|
-
## 判定手順
|
|
29
|
-
|
|
30
|
-
1. まず前回open findingsを抽出し、`new / persists / resolved / reopened` を仮判定する
|
|
31
|
-
2. 変更差分を確認し、構造・設計の観点に基づいて問題を検出する
|
|
32
|
-
- ナレッジの判定基準テーブル(REJECT条件)と変更内容を照合する
|
|
33
|
-
- DRY違反を見つけた場合は解消を要求する
|
|
34
|
-
- ただし修正案を出す前に、共通化先が既存の責務境界・契約・公開APIに整合するか確認する
|
|
35
|
-
- 新しい wrapper / helper / 公開API を求める場合は、その抽象化先が自然である根拠を示す
|
|
36
|
-
- 指示書や plan にない追加抽象化を要求する場合は、必要性とスコープ妥当性を明示する
|
|
37
|
-
- ビルド・テスト・動作確認を根拠に書く場合は、確認対象・確認内容・結果をレポート内に具体的に残す
|
|
38
|
-
3. 検出した問題ごとに、Policyのスコープ判定表と判定ルールに基づいてブロッキング/非ブロッキングを分類する
|
|
39
|
-
4. ブロッキング問題(`new`、`persists`、または `reopened`)が1件でもあればREJECTと判定する
|
|
4
|
+
手順:
|
|
5
|
+
1. Knowledge と Policy の Source Path を Read ツールで開き、全文を取得する
|
|
6
|
+
2. それぞれの `##` セクションをすべて列挙する(取捨選択しない)
|
|
7
|
+
3. 列挙した各セクションの判定基準を変更差分と照合し、該当する問題を検出する
|
|
@@ -1,25 +1,9 @@
|
|
|
1
|
-
CQRS(コマンドクエリ責務分離)とEvent Sourcing
|
|
2
|
-
|
|
1
|
+
**CQRS(コマンドクエリ責務分離)と Event Sourcing(イベントソーシング)**のレビューに集中してください。
|
|
2
|
+
AI 特有の問題はレビューしないでください(ai-antipattern-review-1st ステップで実施済み)。
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
- プロジェクション設計
|
|
9
|
-
- 結果整合性の考慮
|
|
4
|
+
手順:
|
|
5
|
+
1. Knowledge と Policy の Source Path を Read ツールで開き、全文を取得する
|
|
6
|
+
2. それぞれの `##` セクションをすべて列挙する(取捨選択しない)
|
|
7
|
+
3. 列挙した各セクションの判定基準を変更差分と照合し、該当する問題を検出する
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
一般的なドメイン設計の観点からレビューしてください。
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
**設計判断の参照:**
|
|
16
|
-
{report:coder-decisions.md} を確認し、記録された設計判断を把握してください。
|
|
17
|
-
- 記録された意図的な判断は FP として指摘しない
|
|
18
|
-
- ただし設計判断自体の妥当性も評価し、問題がある場合は指摘する
|
|
19
|
-
|
|
20
|
-
## 判定手順
|
|
21
|
-
|
|
22
|
-
1. 変更差分を確認し、CQRS・イベントソーシングの観点に基づいて問題を検出する
|
|
23
|
-
- ナレッジの判定基準テーブル(REJECT条件)と変更内容を照合する
|
|
24
|
-
2. 検出した問題ごとに、Policyのスコープ判定表と判定ルールに基づいてブロッキング/非ブロッキングを分類する
|
|
25
|
-
3. ブロッキング問題が1件でもあればREJECTと判定する
|
|
9
|
+
**注意:** このプロジェクトが CQRS+ES パターンを使用していない場合は、一般的なドメイン設計の観点からレビューしてください。
|
|
@@ -1,34 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
**フロントエンド開発**のレビューに集中してください。
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
- パフォーマンス(再レンダリング、メモ化)
|
|
8
|
-
- アクセシビリティ(キーボード操作、ARIA)
|
|
9
|
-
- データフェッチパターン
|
|
10
|
-
- 利用者が機能へ到達できる配線(route、導線、起動条件)
|
|
11
|
-
- TypeScript型安全性
|
|
3
|
+
手順:
|
|
4
|
+
1. Knowledge と Policy の Source Path を Read ツールで開き、全文を取得する
|
|
5
|
+
2. それぞれの `##` セクションをすべて列挙する(取捨選択しない)
|
|
6
|
+
3. 列挙した各セクションの判定基準を変更差分と照合し、該当する問題を検出する
|
|
12
7
|
|
|
13
|
-
|
|
14
|
-
1. タスク指示書の参照資料からデザイン参照を特定する
|
|
15
|
-
2. デザインの要素(レイアウト、文言、色、間隔)を実装と要素単位で比較する
|
|
16
|
-
3. 差分がある場合、決定ログで意図的かどうかを確認する
|
|
17
|
-
4. 意図的でない差分はブロッキング問題として報告する
|
|
18
|
-
|
|
19
|
-
**注意**: このプロジェクトがフロントエンドを含まない場合は、
|
|
20
|
-
問題なしとして次に進んでください。
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
**設計判断の参照:**
|
|
24
|
-
{report:coder-decisions.md} を確認し、記録された設計判断を把握してください。
|
|
25
|
-
- 記録された意図的な判断は FP として指摘しない
|
|
26
|
-
- ただし設計判断自体の妥当性も評価し、問題がある場合は指摘する
|
|
27
|
-
|
|
28
|
-
## 判定手順
|
|
29
|
-
|
|
30
|
-
1. 変更差分を確認し、フロントエンド開発の観点に基づいて問題を検出する
|
|
31
|
-
- ナレッジの判定基準テーブル(REJECT条件)と変更内容を照合する
|
|
32
|
-
- 新規の画面・機能ファイルが追加されている場合、利用者が到達する入口や呼び出し元の更新有無を確認する
|
|
33
|
-
2. 検出した問題ごとに、Policyのスコープ判定表と判定ルールに基づいてブロッキング/非ブロッキングを分類する
|
|
34
|
-
3. ブロッキング問題が1件でもあればREJECTと判定する
|
|
8
|
+
**注意:** このプロジェクトがフロントエンドを含まない場合は、問題なしとして次に進んでください。
|
|
@@ -1,32 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
**品質保証(テスト戦略・カバレッジ・エラーハンドリング・保守性)**のレビューに集中してください。
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
- ログとモニタリング
|
|
8
|
-
- 保守性
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
**設計判断の参照:**
|
|
12
|
-
{report:coder-decisions.md} を確認し、記録された設計判断を把握してください。
|
|
13
|
-
- 記録された意図的な判断は FP として指摘しない
|
|
14
|
-
- ただし設計判断自体の妥当性も評価し、問題がある場合は指摘する
|
|
15
|
-
|
|
16
|
-
**前回指摘の追跡(必須):**
|
|
17
|
-
- まず Report Directory 内で、このステップが前回までに出力したレビュー結果とそのタイムスタンプ付き履歴を確認し、無印ファイルを最新結果、直前のタイムスタンプ付きファイルを前回結果として扱う
|
|
18
|
-
- `Previous Response` がある場合は補助情報として参照してよいが、findings の状態判定はレポート履歴を優先する
|
|
19
|
-
- 各 finding に `finding_id` を付け、今回の状態を `new / persists / resolved / reopened` で判定する
|
|
20
|
-
- `persists` と判定する場合は、未解決である根拠(ファイル/行)を必ず示す
|
|
21
|
-
- 前回レポートにある open findings を、今回のレポートへ欠落させない
|
|
22
|
-
|
|
23
|
-
## 判定手順
|
|
24
|
-
|
|
25
|
-
1. まず前回open findingsを抽出し、`new / persists / resolved / reopened` を仮判定する
|
|
26
|
-
2. 変更差分を確認し、品質保証の観点に基づいて問題を検出する
|
|
27
|
-
- ナレッジの判定基準テーブル(REJECT条件)と変更内容を照合する
|
|
28
|
-
- テストが通っていても、task や plan にない追加変更が妥当か確認する
|
|
29
|
-
- レビュー起因で設計変更が膨らんでいる場合、その追加変更が本当に必要かを評価する
|
|
30
|
-
- ビルド・テスト・動作確認を根拠に書く場合は、確認対象・確認内容・結果をレポート内に具体的に残す
|
|
31
|
-
3. 検出した問題ごとに、Policyのスコープ判定表と判定ルールに基づいてブロッキング/非ブロッキングを分類する
|
|
32
|
-
4. ブロッキング問題(`new`、`persists`、または `reopened`)が1件でもあればREJECTと判定する
|
|
3
|
+
手順:
|
|
4
|
+
1. Knowledge と Policy の Source Path を Read ツールで開き、全文を取得する
|
|
5
|
+
2. それぞれの `##` セクションをすべて列挙する(取捨選択しない)
|
|
6
|
+
3. 列挙した各セクションの判定基準を変更差分と照合し、該当する問題を検出する
|
|
@@ -1,35 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
**要件充足**のレビューに集中してください。
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
- 部分実装や未実装がないか
|
|
3
|
+
手順:
|
|
4
|
+
1. Knowledge と Policy の Source Path を Read ツールで開き、全文を取得する
|
|
5
|
+
2. それぞれの `##` セクションをすべて列挙する(取捨選択しない)
|
|
6
|
+
3. 列挙した各セクションの判定基準を変更差分と照合し、該当する問題を検出する
|
|
8
7
|
|
|
8
|
+
## ステップ固有の追加手順
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
- ただし設計判断自体の妥当性も評価し、問題がある場合は指摘する
|
|
14
|
-
|
|
15
|
-
**前回指摘の追跡(必須):**
|
|
16
|
-
- まず Report Directory 内で、このステップが前回までに出力したレビュー結果とそのタイムスタンプ付き履歴を確認し、無印ファイルを最新結果、直前のタイムスタンプ付きファイルを前回結果として扱う
|
|
17
|
-
- `Previous Response` がある場合は補助情報として参照してよいが、findings の状態判定はレポート履歴を優先する
|
|
18
|
-
- 各 finding に `finding_id` を付け、今回の状態を `new / persists / resolved / reopened` で判定する
|
|
19
|
-
- `persists` と判定する場合は、未解決である根拠(ファイル/行)を必ず示す
|
|
20
|
-
- 前回レポートにある open findings を、今回のレポートへ欠落させない
|
|
21
|
-
|
|
22
|
-
## 判定手順
|
|
23
|
-
|
|
24
|
-
1. `order.md`、関連タスク本文、`plan.md`、`coder-decisions.md` を読み、要件を1つずつ抽出する
|
|
25
|
-
2. 1つの文に複数条件や経路がある場合、検証可能な最小単位まで分解する
|
|
26
|
-
- `A/B`、`global/project`、`JSON/leaf`、`allow/deny`、`read/write` を1行にまとめない
|
|
10
|
+
1. `order.md`、関連タスク本文、`plan.md`、`coder-decisions.md` を読み、要件を 1 つずつ抽出する
|
|
11
|
+
2. 1 つの文に複数条件や経路がある場合、検証可能な最小単位まで分解する
|
|
12
|
+
- `A/B`、`global/project`、`JSON/leaf`、`allow/deny`、`read/write` を 1 行にまとめない
|
|
27
13
|
3. 各要件について、実装されたコード(ファイル:行)を特定する
|
|
28
|
-
4. 各要件を
|
|
14
|
+
4. 各要件を `充足` / `未充足` / `未確認` のいずれかで判定する
|
|
29
15
|
- 根拠コードがない場合は `充足` にしない
|
|
30
16
|
- 一部ケースしか確認できていない場合は `充足` にしない
|
|
31
17
|
5. 要求にない変更を列挙し、妥当か不要かを判定する
|
|
32
|
-
6. 前回 finding を `new / persists / resolved / reopened` で整理する
|
|
33
|
-
7. テスト・ビルド・動作確認を根拠に書く場合は、確認対象・確認内容・結果をレポート内に具体的に残す
|
|
34
|
-
8. 検出した問題ごとに、Policy のスコープ判定表と判定ルールに基づいてブロッキング/非ブロッキングを分類する
|
|
35
|
-
9. ブロッキング問題(`new`、`persists`、または `reopened`)が1件でもあれば REJECT と判定する
|
|
@@ -1,39 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
- インジェクション攻撃(SQL, コマンド, XSS)
|
|
3
|
-
- 認証・認可の不備
|
|
4
|
-
- データ露出リスク
|
|
5
|
-
- 暗号化の弱点
|
|
1
|
+
**セキュリティ**のレビューに集中してください。
|
|
6
2
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
- 記録された意図的な判断は、そのまま FP として退けず、`order.md`・`plan.md`・実コードに照らして妥当性を評価してください。
|
|
3
|
+
手順:
|
|
4
|
+
1. Knowledge と Policy の Source Path を Read ツールで開き、全文を取得する
|
|
5
|
+
2. それぞれの `##` セクションをすべて列挙する(取捨選択しない)
|
|
6
|
+
3. 列挙した各セクションの判定基準を変更差分と照合し、該当する問題を検出する
|
|
12
7
|
|
|
13
|
-
|
|
14
|
-
- まず Report Directory 内で、このステップが前回までに出力したレビュー結果とそのタイムスタンプ付き履歴を確認し、無印ファイルを最新結果、直前のタイムスタンプ付きファイルを前回結果として扱う
|
|
15
|
-
- `Previous Response` がある場合は補助情報として参照してよいが、findings の状態判定はレポート履歴を優先する
|
|
16
|
-
- 各 finding に `finding_id` を付け、今回の状態を `new / persists / resolved / reopened` で判定する
|
|
17
|
-
- `persists` と判定する場合は、未解決である根拠(ファイル/行)を必ず示す
|
|
18
|
-
- 前回レポートにある open findings を、今回のレポートへ欠落させない
|
|
8
|
+
## ステップ固有の確認事項
|
|
19
9
|
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
1. `order.md`、`plan.md`、`coder-decisions.md`、実コードを突き合わせて、変更が意図した仕様かどうかを確認する
|
|
28
|
-
2. 変更差分を確認し、ナレッジの判定基準テーブル(REJECT条件)と照合して問題候補を抽出する
|
|
29
|
-
3. 問題候補ごとに、具体的な攻撃経路を確認する
|
|
30
|
-
- どの主体が入力や設定を制御できるか
|
|
31
|
-
- 変更によって新しい権限、データアクセス、コード実行、プロンプト改変が可能になるか
|
|
32
|
-
- その影響が、既存の仕様上の優先順位や拡張点の範囲を超えているか
|
|
33
|
-
4. 設定の優先順位、local/global の shadow、非対話指定などが関わる場合は、次を追加確認する
|
|
34
|
-
- その挙動が `order.md` や `plan.md` で意図された仕様か
|
|
35
|
-
- 明示的な selector や引数指定によりユーザー意図が十分に表現されているか
|
|
36
|
-
- 低信頼側が高信頼側を上書きできること自体ではなく、信頼境界の破壊や新しい攻撃能力があるか
|
|
37
|
-
5. テスト・ビルド・動作確認を根拠に書く場合は、確認対象・確認内容・結果をレポート内に具体的に残す
|
|
38
|
-
6. 検出した問題ごとに、Policy のスコープ判定表と判定ルールに基づいてブロッキング/非ブロッキングを分類する
|
|
39
|
-
7. ブロッキング問題が1件でもあれば REJECT と判定する
|
|
10
|
+
- 仕様上の優先順位、拡張点、設定のオーバーライドを、それだけで脆弱性と断定しない
|
|
11
|
+
- 対話確認や警告プロンプトが消えたこと自体を、直ちにセキュリティ境界の後退とみなさない
|
|
12
|
+
- ブロッキング finding を出すには、攻撃者がどの入力を制御し、何を新たに達成できるのかを具体化する
|
|
13
|
+
- 設定の優先順位、local/global の shadow、非対話指定などが関わる場合は次を追加確認する
|
|
14
|
+
- その挙動が `order.md` や `plan.md` で意図された仕様か
|
|
15
|
+
- 明示的な selector や引数指定によりユーザー意図が十分に表現されているか
|
|
16
|
+
- 低信頼側が高信頼側を上書きできること自体ではなく、信頼境界の破壊や新しい攻撃能力があるか
|
|
@@ -1,31 +1,7 @@
|
|
|
1
1
|
**Terraform 規約準拠**のレビューに集中してください。
|
|
2
|
-
AI特有の問題はレビューしないでください(ai-antipattern-review-1st ステップで実施済み)。
|
|
2
|
+
AI 特有の問題はレビューしないでください(ai-antipattern-review-1st ステップで実施済み)。
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
- セキュリティ設定(IMDSv2, 暗号化, アクセス制御, IAM最小権限)
|
|
9
|
-
- タグ管理(default_tags, 重複なし)
|
|
10
|
-
- lifecycle ルールの妥当性
|
|
11
|
-
- コストトレードオフの文書化
|
|
12
|
-
- 未使用の variable / output / data source
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
**設計判断の参照:**
|
|
16
|
-
{report:coder-decisions.md} を確認し、記録された設計判断を把握してください。
|
|
17
|
-
- 記録された意図的な判断は FP として指摘しない
|
|
18
|
-
- ただし設計判断自体の妥当性も評価し、問題がある場合は指摘する
|
|
19
|
-
|
|
20
|
-
**前回指摘の追跡(必須):**
|
|
21
|
-
- まず「Previous Response」から前回の open findings を抽出する
|
|
22
|
-
- 各 finding に `finding_id` を付け、今回の状態を `new / persists / resolved` で判定する
|
|
23
|
-
- `persists` と判定する場合は、未解決である根拠(ファイル/行)を必ず示す
|
|
24
|
-
|
|
25
|
-
## 判定手順
|
|
26
|
-
|
|
27
|
-
1. まず前回open findingsを抽出し、`new / persists / resolved` を仮判定する
|
|
28
|
-
2. 変更差分を確認し、Terraform規約の観点に基づいて問題を検出する
|
|
29
|
-
- ナレッジの判定基準テーブル(REJECT条件)と変更内容を照合する
|
|
30
|
-
3. 検出した問題ごとに、Policyのスコープ判定表と判定ルールに基づいてブロッキング/非ブロッキングを分類する
|
|
31
|
-
4. ブロッキング問題(`new` または `persists`)が1件でもあればREJECTと判定する
|
|
4
|
+
手順:
|
|
5
|
+
1. Knowledge と Policy の Source Path を Read ツールで開き、全文を取得する
|
|
6
|
+
2. それぞれの `##` セクションをすべて列挙する(取捨選択しない)
|
|
7
|
+
3. 列挙した各セクションの判定基準を変更差分と照合し、該当する問題を検出する
|
|
@@ -1,32 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
**テスト品質**のレビューに集中してください。
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
- 過不足(不要なテスト、足りないケース)
|
|
8
|
-
- モック・フィクスチャの適切さ
|
|
9
|
-
- 外部契約がある場合、request body / query / path の入力位置が契約どおりに検証されているか
|
|
10
|
-
- レスポンス標準の envelope を request 契約へ誤って流用する実装を検出できるテストになっているか
|
|
3
|
+
手順:
|
|
4
|
+
1. Knowledge と Policy の Source Path を Read ツールで開き、全文を取得する
|
|
5
|
+
2. それぞれの `##` セクションをすべて列挙する(取捨選択しない)
|
|
6
|
+
3. 列挙した各セクションの判定基準を変更差分と照合し、該当する問題を検出する
|
|
11
7
|
|
|
8
|
+
## ステップ固有の追加手順
|
|
12
9
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
- 記録された意図的な判断は FP として指摘しない
|
|
16
|
-
- ただし設計判断自体の妥当性も評価し、問題がある場合は指摘する
|
|
17
|
-
|
|
18
|
-
**前回指摘の追跡(必須):**
|
|
19
|
-
- まず Report Directory 内で、このステップが前回までに出力したレビュー結果とそのタイムスタンプ付き履歴を確認し、無印ファイルを最新結果、直前のタイムスタンプ付きファイルを前回結果として扱う
|
|
20
|
-
- `Previous Response` がある場合は補助情報として参照してよいが、findings の状態判定はレポート履歴を優先する
|
|
21
|
-
- 各 finding に `finding_id` を付け、今回の状態を `new / persists / resolved / reopened` で判定する
|
|
22
|
-
- `persists` と判定する場合は、未解決である根拠(ファイル/行)を必ず示す
|
|
23
|
-
- 前回レポートにある open findings を、今回のレポートへ欠落させない
|
|
24
|
-
|
|
25
|
-
## 判定手順
|
|
26
|
-
|
|
27
|
-
1. まず前回 open findings をレポート履歴から抽出し、`new / persists / resolved / reopened` を仮判定する
|
|
28
|
-
2. Report Directory内のテスト計画・テストスコープに関するレポートと実装されたテストを突合する
|
|
29
|
-
3. テスト・ビルド・動作確認を根拠に書く場合は、確認対象・確認内容・結果をレポート内に具体的に残す
|
|
30
|
-
4. 検出した問題ごとに、Policyのスコープ判定表と判定ルールに基づいてブロッキング/非ブロッキングを分類する
|
|
31
|
-
5. ブロッキング問題が1件でもあればREJECTと判定する
|
|
32
|
-
6. 外部契約があるのに入力位置(root body / query / path)の検証が欠けていれば、原則としてカバレッジ不足として扱う
|
|
10
|
+
1. Report Directory 内のテスト計画・テストスコープに関するレポートと実装されたテストを突合する
|
|
11
|
+
2. 外部契約があるのに入力位置(root body / query / path)の検証が欠けている場合、カバレッジ不足として扱う
|