expert reviewの最新化
This commit is contained in:
parent
4a66b6bd15
commit
8dc3fe3976
@ -2,9 +2,9 @@
|
|||||||
# Review workflow with CQRS+ES, Frontend, Security, and QA experts
|
# Review workflow with CQRS+ES, Frontend, Security, and QA experts
|
||||||
#
|
#
|
||||||
# Flow:
|
# Flow:
|
||||||
# implement -> cqrs_es_review -> frontend_review -> security_review -> qa_review -> supervise -> COMPLETE
|
# plan -> implement -> cqrs_es_review -> frontend_review -> ai_review -> security_review -> qa_review -> supervise -> COMPLETE
|
||||||
# ↓ ↓ ↓ ↓ ↓
|
# ↓ ↓ ↓ ↓ ↓ ↓
|
||||||
# fix_cqrs_es fix_frontend fix_security fix_qa fix_supervisor
|
# fix_cqrs_es fix_frontend ai_fix fix_security fix_qa fix_supervisor
|
||||||
#
|
#
|
||||||
# Fix destination is determined by Coder based on change impact:
|
# Fix destination is determined by Coder based on change impact:
|
||||||
# - fix_security: MINOR→security_review, MAJOR→cqrs_es_review
|
# - fix_security: MINOR→security_review, MAJOR→cqrs_es_review
|
||||||
@ -15,38 +15,141 @@ description: CQRS+ES, Frontend, Security, QA Expert Review
|
|||||||
|
|
||||||
max_iterations: 20
|
max_iterations: 20
|
||||||
|
|
||||||
|
initial_step: plan
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
# ===========================================
|
||||||
|
# Phase 0: Planning
|
||||||
|
# ===========================================
|
||||||
|
- name: plan
|
||||||
|
agent: ~/.takt/agents/default/planner.md
|
||||||
|
instruction_template: |
|
||||||
|
## Workflow Context
|
||||||
|
- Iteration: {iteration}/{max_iterations}
|
||||||
|
- Step: plan (Task Analysis)
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report File: .takt/reports/{report_dir}/00-plan.md
|
||||||
|
|
||||||
|
## User Request
|
||||||
|
{task}
|
||||||
|
|
||||||
|
## Previous Response (when returned from implement)
|
||||||
|
{previous_response}
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
Analyze the task and create an implementation plan.
|
||||||
|
|
||||||
|
**Note:** If returned from implement step (Previous Response exists),
|
||||||
|
review and revise the plan based on that feedback (replan).
|
||||||
|
|
||||||
|
**Tasks:**
|
||||||
|
1. Understand the requirements
|
||||||
|
2. Identify impact scope
|
||||||
|
3. Decide implementation approach
|
||||||
|
|
||||||
|
**Report output:** Output to the `Report File` specified above.
|
||||||
|
- If file does not exist: Create new file
|
||||||
|
- If file exists: Append with `## Iteration {iteration}` section
|
||||||
|
|
||||||
|
**Report format:**
|
||||||
|
```markdown
|
||||||
|
# Task Plan
|
||||||
|
|
||||||
|
## Original Request
|
||||||
|
{User's request as-is}
|
||||||
|
|
||||||
|
## Analysis Results
|
||||||
|
|
||||||
|
### Objective
|
||||||
|
{What needs to be achieved}
|
||||||
|
|
||||||
|
### Scope
|
||||||
|
{Impact scope}
|
||||||
|
|
||||||
|
### Implementation Approach
|
||||||
|
{How to proceed}
|
||||||
|
|
||||||
|
## Clarifications Needed (if any)
|
||||||
|
- {Unclear points or items requiring confirmation}
|
||||||
|
```
|
||||||
|
|
||||||
|
Output [PLANNER:DONE] when complete.
|
||||||
|
Output [PLANNER:BLOCKED] if requirements are unclear.
|
||||||
|
pass_previous_response: true
|
||||||
|
transitions:
|
||||||
|
- condition: done
|
||||||
|
next_step: implement
|
||||||
|
- condition: blocked
|
||||||
|
next_step: ABORT
|
||||||
|
|
||||||
|
# ===========================================
|
||||||
|
# Phase 1: Implementation
|
||||||
|
# ===========================================
|
||||||
- name: implement
|
- name: implement
|
||||||
agent: ~/.takt/agents/default/coder.md
|
agent: ~/.takt/agents/default/coder.md
|
||||||
instruction_template: |
|
instruction_template: |
|
||||||
## Workflow Context
|
## Workflow Context
|
||||||
- Iteration: {iteration}/{max_iterations}
|
- Iteration: {iteration}/{max_iterations}
|
||||||
- Step: implement
|
- Step: implement
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report Files:
|
||||||
|
- Scope: .takt/reports/{report_dir}/01-coder-scope.md
|
||||||
|
- Decisions: .takt/reports/{report_dir}/02-coder-decisions.md
|
||||||
|
|
||||||
## Original User Request (This is the original request, not the latest instruction)
|
## User Request
|
||||||
{task}
|
{task}
|
||||||
|
|
||||||
## Additional User Inputs (Information added during workflow)
|
## Additional User Inputs
|
||||||
{user_inputs}
|
{user_inputs}
|
||||||
|
|
||||||
## Instructions
|
## Instructions
|
||||||
**Important**: The "Original User Request" above is the initial request when the workflow started.
|
Follow the plan from the plan step and implement.
|
||||||
If this is iteration 2 or later, research should already be completed.
|
Refer to the plan report (00-plan.md) and proceed with implementation.
|
||||||
Check the session conversation history and continue from where the previous work left off.
|
|
||||||
|
|
||||||
- Iteration 1: Understand the request and research if needed
|
**Report output:** Output to the `Report Files` specified above.
|
||||||
- Iteration 2+: Continue implementation based on previous work
|
- If file does not exist: Create new file
|
||||||
|
- If file exists: Append with `## Iteration {iteration}` section
|
||||||
|
|
||||||
|
**Scope report format (create at implementation start):**
|
||||||
|
```markdown
|
||||||
|
# Change Scope Declaration
|
||||||
|
|
||||||
|
## Task
|
||||||
|
{One-line task summary}
|
||||||
|
|
||||||
|
## Planned Changes
|
||||||
|
| Type | File |
|
||||||
|
|------|------|
|
||||||
|
| Create | `src/example.ts` |
|
||||||
|
| Modify | `src/routes.ts` |
|
||||||
|
|
||||||
|
## Estimated Size
|
||||||
|
Small / Medium / Large
|
||||||
|
|
||||||
|
## Impact Scope
|
||||||
|
- {Affected modules or features}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Decisions report format (on completion, only if decisions were made):**
|
||||||
|
```markdown
|
||||||
|
# Decision Log
|
||||||
|
|
||||||
|
## 1. {Decision Content}
|
||||||
|
- **Background**: {Why the decision was needed}
|
||||||
|
- **Options Considered**: {List of options}
|
||||||
|
- **Reason**: {Why this option was chosen}
|
||||||
|
```
|
||||||
|
|
||||||
Include [CODER:DONE] when complete.
|
Include [CODER:DONE] when complete.
|
||||||
Include [CODER:BLOCKED] if unable to proceed.
|
Include [CODER:BLOCKED] if you cannot proceed (returns to plan).
|
||||||
transitions:
|
transitions:
|
||||||
- condition: done
|
- condition: done
|
||||||
next_step: cqrs_es_review
|
next_step: cqrs_es_review
|
||||||
- condition: blocked
|
- condition: blocked
|
||||||
next_step: implement
|
next_step: plan
|
||||||
|
|
||||||
# ===========================================
|
# ===========================================
|
||||||
# Phase 1: CQRS+ES Review
|
# Phase 2: CQRS+ES Review
|
||||||
# ===========================================
|
# ===========================================
|
||||||
- name: cqrs_es_review
|
- name: cqrs_es_review
|
||||||
agent: ~/.takt/agents/expert-review/cqrs-es-reviewer.md
|
agent: ~/.takt/agents/expert-review/cqrs-es-reviewer.md
|
||||||
@ -54,6 +157,8 @@ steps:
|
|||||||
## Workflow Context
|
## Workflow Context
|
||||||
- Iteration: {iteration}/{max_iterations}
|
- Iteration: {iteration}/{max_iterations}
|
||||||
- Step: cqrs_es_review (CQRS+ES Expert Review)
|
- Step: cqrs_es_review (CQRS+ES Expert Review)
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report File: .takt/reports/{report_dir}/03-cqrs-es-review.md
|
||||||
|
|
||||||
## Original User Request
|
## Original User Request
|
||||||
{task}
|
{task}
|
||||||
@ -77,6 +182,34 @@ steps:
|
|||||||
**Note**: If this project does not use CQRS+ES patterns,
|
**Note**: If this project does not use CQRS+ES patterns,
|
||||||
review from a general domain design perspective.
|
review from a general domain design perspective.
|
||||||
|
|
||||||
|
**Report output:** Output to the `Report File` specified above.
|
||||||
|
- If file does not exist: Create new file
|
||||||
|
- If file exists: Append with `## Iteration {iteration}` section
|
||||||
|
|
||||||
|
**Report format:**
|
||||||
|
```markdown
|
||||||
|
# CQRS+ES Review
|
||||||
|
|
||||||
|
## Result: APPROVE / REJECT
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
{1-2 sentences summarizing result}
|
||||||
|
|
||||||
|
## Reviewed Perspectives
|
||||||
|
| Perspective | Result | Notes |
|
||||||
|
|-------------|--------|-------|
|
||||||
|
| Aggregate Design | ✅ | - |
|
||||||
|
| Event Design | ✅ | - |
|
||||||
|
| Command/Query Separation | ✅ | - |
|
||||||
|
| Projections | ✅ | - |
|
||||||
|
| Eventual Consistency | ✅ | - |
|
||||||
|
|
||||||
|
## Issues (if REJECT)
|
||||||
|
| # | Location | Issue | Fix |
|
||||||
|
|---|----------|-------|-----|
|
||||||
|
| 1 | `src/file.ts:42` | Issue description | Fix method |
|
||||||
|
```
|
||||||
|
|
||||||
Include:
|
Include:
|
||||||
- [CQRS-ES:APPROVE] if CQRS+ES design is sound
|
- [CQRS-ES:APPROVE] if CQRS+ES design is sound
|
||||||
- [CQRS-ES:REJECT] if design issues found (list specific issues)
|
- [CQRS-ES:REJECT] if design issues found (list specific issues)
|
||||||
@ -119,10 +252,10 @@ steps:
|
|||||||
- condition: done
|
- condition: done
|
||||||
next_step: cqrs_es_review
|
next_step: cqrs_es_review
|
||||||
- condition: blocked
|
- condition: blocked
|
||||||
next_step: fix_cqrs_es
|
next_step: plan
|
||||||
|
|
||||||
# ===========================================
|
# ===========================================
|
||||||
# Phase 2: Frontend Review
|
# Phase 3: Frontend Review
|
||||||
# ===========================================
|
# ===========================================
|
||||||
- name: frontend_review
|
- name: frontend_review
|
||||||
agent: ~/.takt/agents/expert-review/frontend-reviewer.md
|
agent: ~/.takt/agents/expert-review/frontend-reviewer.md
|
||||||
@ -130,6 +263,8 @@ steps:
|
|||||||
## Workflow Context
|
## Workflow Context
|
||||||
- Iteration: {iteration}/{max_iterations}
|
- Iteration: {iteration}/{max_iterations}
|
||||||
- Step: frontend_review (Frontend Expert Review)
|
- Step: frontend_review (Frontend Expert Review)
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report File: .takt/reports/{report_dir}/04-frontend-review.md
|
||||||
|
|
||||||
## Original User Request
|
## Original User Request
|
||||||
{task}
|
{task}
|
||||||
@ -153,12 +288,40 @@ steps:
|
|||||||
**Note**: If this project does not include frontend code,
|
**Note**: If this project does not include frontend code,
|
||||||
output [FRONTEND:APPROVE] and proceed.
|
output [FRONTEND:APPROVE] and proceed.
|
||||||
|
|
||||||
|
**Report output:** Output to the `Report File` specified above.
|
||||||
|
- If file does not exist: Create new file
|
||||||
|
- If file exists: Append with `## Iteration {iteration}` section
|
||||||
|
|
||||||
|
**Report format:**
|
||||||
|
```markdown
|
||||||
|
# Frontend Review
|
||||||
|
|
||||||
|
## Result: APPROVE / REJECT
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
{1-2 sentences summarizing result}
|
||||||
|
|
||||||
|
## Reviewed Perspectives
|
||||||
|
| Perspective | Result | Notes |
|
||||||
|
|-------------|--------|-------|
|
||||||
|
| Component Design | ✅ | - |
|
||||||
|
| State Management | ✅ | - |
|
||||||
|
| Performance | ✅ | - |
|
||||||
|
| Accessibility | ✅ | - |
|
||||||
|
| Type Safety | ✅ | - |
|
||||||
|
|
||||||
|
## Issues (if REJECT)
|
||||||
|
| # | Location | Issue | Fix |
|
||||||
|
|---|----------|-------|-----|
|
||||||
|
| 1 | `src/file.tsx:42` | Issue description | Fix method |
|
||||||
|
```
|
||||||
|
|
||||||
Include:
|
Include:
|
||||||
- [FRONTEND:APPROVE] if frontend design is sound
|
- [FRONTEND:APPROVE] if frontend design is sound
|
||||||
- [FRONTEND:REJECT] if design issues found (list specific issues)
|
- [FRONTEND:REJECT] if design issues found (list specific issues)
|
||||||
transitions:
|
transitions:
|
||||||
- condition: approved
|
- condition: approved
|
||||||
next_step: security_review
|
next_step: ai_review
|
||||||
- condition: rejected
|
- condition: rejected
|
||||||
next_step: fix_frontend
|
next_step: fix_frontend
|
||||||
|
|
||||||
@ -195,10 +358,110 @@ steps:
|
|||||||
- condition: done
|
- condition: done
|
||||||
next_step: frontend_review
|
next_step: frontend_review
|
||||||
- condition: blocked
|
- condition: blocked
|
||||||
next_step: fix_frontend
|
next_step: plan
|
||||||
|
|
||||||
# ===========================================
|
# ===========================================
|
||||||
# Phase 3: Security Review
|
# Phase 4: AI Review
|
||||||
|
# ===========================================
|
||||||
|
- name: ai_review
|
||||||
|
agent: ~/.takt/agents/default/ai-reviewer.md
|
||||||
|
instruction_template: |
|
||||||
|
## Workflow Context
|
||||||
|
- Iteration: {iteration}/{max_iterations}
|
||||||
|
- Step: ai_review (AI-Generated Code Review)
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report File: .takt/reports/{report_dir}/05-ai-review.md
|
||||||
|
|
||||||
|
## Original User Request (Initial request from workflow start)
|
||||||
|
{task}
|
||||||
|
|
||||||
|
## Git Diff
|
||||||
|
```diff
|
||||||
|
{git_diff}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
Review the code for AI-specific issues:
|
||||||
|
- Assumption validation
|
||||||
|
- Plausible but wrong patterns
|
||||||
|
- Context fit with existing codebase
|
||||||
|
- Scope creep detection
|
||||||
|
|
||||||
|
**Report output:** Output to the `Report File` specified above.
|
||||||
|
- If file does not exist: Create new file
|
||||||
|
- If file exists: Append with `## Iteration {iteration}` section
|
||||||
|
|
||||||
|
**Report format:**
|
||||||
|
```markdown
|
||||||
|
# AI-Generated Code Review
|
||||||
|
|
||||||
|
## Result: APPROVE / REJECT
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
{One sentence summarizing result}
|
||||||
|
|
||||||
|
## Verified Items
|
||||||
|
| Aspect | Result | Notes |
|
||||||
|
|--------|--------|-------|
|
||||||
|
| Assumption validity | ✅ | - |
|
||||||
|
| API/Library existence | ✅ | - |
|
||||||
|
| Context fit | ✅ | - |
|
||||||
|
| Scope | ✅ | - |
|
||||||
|
|
||||||
|
## Issues (if REJECT)
|
||||||
|
| # | Category | Location | Issue |
|
||||||
|
|---|----------|----------|-------|
|
||||||
|
| 1 | Hallucinated API | `src/file.ts:23` | Non-existent method |
|
||||||
|
```
|
||||||
|
|
||||||
|
**Cognitive load reduction rules:**
|
||||||
|
- No issues → Summary 1 line + check table only (10 lines or less)
|
||||||
|
- Issues found → + Issues in table format (25 lines or less)
|
||||||
|
|
||||||
|
Include:
|
||||||
|
- [AI_REVIEW:APPROVE] if no AI-specific issues found
|
||||||
|
- [AI_REVIEW:REJECT] if issues detected (list specific problems)
|
||||||
|
transitions:
|
||||||
|
- condition: approved
|
||||||
|
next_step: security_review
|
||||||
|
- condition: rejected
|
||||||
|
next_step: ai_fix
|
||||||
|
|
||||||
|
- name: ai_fix
|
||||||
|
agent: ~/.takt/agents/default/coder.md
|
||||||
|
instruction_template: |
|
||||||
|
## Workflow Context
|
||||||
|
- Iteration: {iteration}/{max_iterations}
|
||||||
|
- Step: ai_fix
|
||||||
|
|
||||||
|
## AI Review Feedback (This is the latest instruction - prioritize this)
|
||||||
|
{previous_response}
|
||||||
|
|
||||||
|
## Original User Request (Initial request from workflow start - for reference)
|
||||||
|
{task}
|
||||||
|
|
||||||
|
## Additional User Inputs
|
||||||
|
{user_inputs}
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
**Important**: Address the AI Reviewer's feedback.
|
||||||
|
Focus on:
|
||||||
|
- Correcting incorrect assumptions
|
||||||
|
- Fixing plausible-but-wrong implementations
|
||||||
|
- Aligning with existing codebase patterns
|
||||||
|
- Removing scope creep
|
||||||
|
|
||||||
|
Include [CODER:DONE] when complete.
|
||||||
|
Include [CODER:BLOCKED] if unable to proceed.
|
||||||
|
pass_previous_response: true
|
||||||
|
transitions:
|
||||||
|
- condition: done
|
||||||
|
next_step: cqrs_es_review
|
||||||
|
- condition: blocked
|
||||||
|
next_step: plan
|
||||||
|
|
||||||
|
# ===========================================
|
||||||
|
# Phase 5: Security Review
|
||||||
# ===========================================
|
# ===========================================
|
||||||
- name: security_review
|
- name: security_review
|
||||||
agent: ~/.takt/agents/expert-review/security-reviewer.md
|
agent: ~/.takt/agents/expert-review/security-reviewer.md
|
||||||
@ -206,6 +469,8 @@ steps:
|
|||||||
## Workflow Context
|
## Workflow Context
|
||||||
- Iteration: {iteration}/{max_iterations}
|
- Iteration: {iteration}/{max_iterations}
|
||||||
- Step: security_review (Security Expert Review)
|
- Step: security_review (Security Expert Review)
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report File: .takt/reports/{report_dir}/06-security-review.md
|
||||||
|
|
||||||
## Original User Request
|
## Original User Request
|
||||||
{task}
|
{task}
|
||||||
@ -225,6 +490,35 @@ steps:
|
|||||||
- Encryption appropriateness
|
- Encryption appropriateness
|
||||||
- OWASP Top 10
|
- OWASP Top 10
|
||||||
|
|
||||||
|
**Report output:** Output to the `Report File` specified above.
|
||||||
|
- If file does not exist: Create new file
|
||||||
|
- If file exists: Append with `## Iteration {iteration}` section
|
||||||
|
|
||||||
|
**Report format:**
|
||||||
|
```markdown
|
||||||
|
# Security Review
|
||||||
|
|
||||||
|
## Result: APPROVE / REJECT
|
||||||
|
|
||||||
|
## Severity: None / Low / Medium / High / Critical
|
||||||
|
|
||||||
|
## Check Results
|
||||||
|
| Category | Result | Notes |
|
||||||
|
|----------|--------|-------|
|
||||||
|
| Injection | ✅ | - |
|
||||||
|
| Auth/Authz | ✅ | - |
|
||||||
|
| Data Protection | ✅ | - |
|
||||||
|
| Dependencies | ✅ | - |
|
||||||
|
|
||||||
|
## Vulnerabilities (if REJECT)
|
||||||
|
| # | Severity | Type | Location | Fix |
|
||||||
|
|---|----------|------|----------|-----|
|
||||||
|
| 1 | High | SQLi | `src/db.ts:42` | Use parameterized query |
|
||||||
|
|
||||||
|
## Warnings (non-blocking)
|
||||||
|
- {Security recommendations}
|
||||||
|
```
|
||||||
|
|
||||||
Include:
|
Include:
|
||||||
- [SECURITY:APPROVE] if no security issues found
|
- [SECURITY:APPROVE] if no security issues found
|
||||||
- [SECURITY:REJECT] if vulnerabilities found (list specific issues with severity)
|
- [SECURITY:REJECT] if vulnerabilities found (list specific issues with severity)
|
||||||
@ -276,10 +570,10 @@ steps:
|
|||||||
- condition: major
|
- condition: major
|
||||||
next_step: cqrs_es_review
|
next_step: cqrs_es_review
|
||||||
- condition: blocked
|
- condition: blocked
|
||||||
next_step: fix_security
|
next_step: plan
|
||||||
|
|
||||||
# ===========================================
|
# ===========================================
|
||||||
# Phase 4: QA Review
|
# Phase 6: QA Review
|
||||||
# ===========================================
|
# ===========================================
|
||||||
- name: qa_review
|
- name: qa_review
|
||||||
agent: ~/.takt/agents/expert-review/qa-reviewer.md
|
agent: ~/.takt/agents/expert-review/qa-reviewer.md
|
||||||
@ -287,6 +581,8 @@ steps:
|
|||||||
## Workflow Context
|
## Workflow Context
|
||||||
- Iteration: {iteration}/{max_iterations}
|
- Iteration: {iteration}/{max_iterations}
|
||||||
- Step: qa_review (QA Expert Review)
|
- Step: qa_review (QA Expert Review)
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report File: .takt/reports/{report_dir}/07-qa-review.md
|
||||||
|
|
||||||
## Original User Request
|
## Original User Request
|
||||||
{task}
|
{task}
|
||||||
@ -307,6 +603,34 @@ steps:
|
|||||||
- Logging and monitoring
|
- Logging and monitoring
|
||||||
- Maintainability
|
- Maintainability
|
||||||
|
|
||||||
|
**Report output:** Output to the `Report File` specified above.
|
||||||
|
- If file does not exist: Create new file
|
||||||
|
- If file exists: Append with `## Iteration {iteration}` section
|
||||||
|
|
||||||
|
**Report format:**
|
||||||
|
```markdown
|
||||||
|
# QA Review
|
||||||
|
|
||||||
|
## Result: APPROVE / REJECT
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
{1-2 sentences summarizing result}
|
||||||
|
|
||||||
|
## Reviewed Perspectives
|
||||||
|
| Perspective | Result | Notes |
|
||||||
|
|-------------|--------|-------|
|
||||||
|
| Test Coverage | ✅ | - |
|
||||||
|
| Test Quality | ✅ | - |
|
||||||
|
| Error Handling | ✅ | - |
|
||||||
|
| Documentation | ✅ | - |
|
||||||
|
| Maintainability | ✅ | - |
|
||||||
|
|
||||||
|
## Issues (if REJECT)
|
||||||
|
| # | Category | Issue | Fix |
|
||||||
|
|---|----------|-------|-----|
|
||||||
|
| 1 | Testing | Issue description | Fix method |
|
||||||
|
```
|
||||||
|
|
||||||
Include:
|
Include:
|
||||||
- [QA:APPROVE] if quality standards are met
|
- [QA:APPROVE] if quality standards are met
|
||||||
- [QA:REJECT] if quality issues found (list specific issues)
|
- [QA:REJECT] if quality issues found (list specific issues)
|
||||||
@ -362,10 +686,10 @@ steps:
|
|||||||
- condition: major
|
- condition: major
|
||||||
next_step: cqrs_es_review
|
next_step: cqrs_es_review
|
||||||
- condition: blocked
|
- condition: blocked
|
||||||
next_step: fix_qa
|
next_step: plan
|
||||||
|
|
||||||
# ===========================================
|
# ===========================================
|
||||||
# Phase 5: Supervision
|
# Phase 7: Supervision
|
||||||
# ===========================================
|
# ===========================================
|
||||||
- name: supervise
|
- name: supervise
|
||||||
agent: ~/.takt/agents/expert-review/supervisor.md
|
agent: ~/.takt/agents/expert-review/supervisor.md
|
||||||
@ -373,6 +697,10 @@ steps:
|
|||||||
## Workflow Context
|
## Workflow Context
|
||||||
- Iteration: {iteration}/{max_iterations}
|
- Iteration: {iteration}/{max_iterations}
|
||||||
- Step: supervise (Final Review)
|
- Step: supervise (Final Review)
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report Files:
|
||||||
|
- Validation: .takt/reports/{report_dir}/08-supervisor-validation.md
|
||||||
|
- Summary: .takt/reports/{report_dir}/summary.md
|
||||||
|
|
||||||
## Original User Request
|
## Original User Request
|
||||||
{task}
|
{task}
|
||||||
@ -386,21 +714,84 @@ steps:
|
|||||||
Reaching this step means all the following reviews have been APPROVED:
|
Reaching this step means all the following reviews have been APPROVED:
|
||||||
- CQRS+ES Review: APPROVED
|
- CQRS+ES Review: APPROVED
|
||||||
- Frontend Review: APPROVED
|
- Frontend Review: APPROVED
|
||||||
|
- AI Review: APPROVED
|
||||||
- Security Review: APPROVED
|
- Security Review: APPROVED
|
||||||
- QA Review: APPROVED
|
- QA Review: APPROVED
|
||||||
|
|
||||||
## Instructions
|
## Instructions
|
||||||
As supervisor, oversee all review results and make the final decision.
|
Run tests, verify the build, and perform final approval.
|
||||||
|
|
||||||
**Review Criteria:**
|
**Workflow Overall Review:**
|
||||||
- Are there contradictions between review results?
|
1. Does the implementation match the plan (00-plan.md)?
|
||||||
- Are original requirements met?
|
2. Were all review step issues addressed?
|
||||||
- Is overall consistency maintained?
|
3. Was the original task objective achieved?
|
||||||
- Is it release-worthy quality?
|
|
||||||
|
|
||||||
Include:
|
**Review Reports:** Read all reports in Report Directory and
|
||||||
- [SUPERVISOR:APPROVE] if ready for release
|
check for any unaddressed improvement suggestions.
|
||||||
- [SUPERVISOR:REJECT] if additional work needed (list specific items)
|
|
||||||
|
**Report output:** Output to the `Report Files` specified above.
|
||||||
|
- If file does not exist: Create new file
|
||||||
|
- If file exists: Append with `## Iteration {iteration}` section
|
||||||
|
|
||||||
|
**Validation report format:**
|
||||||
|
```markdown
|
||||||
|
# Final Validation Results
|
||||||
|
|
||||||
|
## Result: APPROVE / REJECT
|
||||||
|
|
||||||
|
## Validation Summary
|
||||||
|
| Item | Status | Verification Method |
|
||||||
|
|------|--------|---------------------|
|
||||||
|
| Requirements met | ✅ | Matched against requirements list |
|
||||||
|
| Tests | ✅ | `npm test` (N passed) |
|
||||||
|
| Build | ✅ | `npm run build` succeeded |
|
||||||
|
| Functional check | ✅ | Main flows verified |
|
||||||
|
|
||||||
|
## Deliverables
|
||||||
|
- Created: {Created files}
|
||||||
|
- Modified: {Modified files}
|
||||||
|
|
||||||
|
## Incomplete Items (if REJECT)
|
||||||
|
| # | Item | Reason |
|
||||||
|
|---|------|--------|
|
||||||
|
| 1 | {Item} | {Reason} |
|
||||||
|
```
|
||||||
|
|
||||||
|
**Summary report format (only if APPROVE):**
|
||||||
|
```markdown
|
||||||
|
# Task Completion Summary
|
||||||
|
|
||||||
|
## Task
|
||||||
|
{Original request in 1-2 sentences}
|
||||||
|
|
||||||
|
## Result
|
||||||
|
✅ Complete
|
||||||
|
|
||||||
|
## Changes
|
||||||
|
| Type | File | Summary |
|
||||||
|
|------|------|---------|
|
||||||
|
| Create | `src/file.ts` | Summary description |
|
||||||
|
|
||||||
|
## Review Results
|
||||||
|
| Review | Result |
|
||||||
|
|--------|--------|
|
||||||
|
| CQRS+ES | ✅ APPROVE |
|
||||||
|
| Frontend | ✅ APPROVE |
|
||||||
|
| AI Review | ✅ APPROVE |
|
||||||
|
| Security | ✅ APPROVE |
|
||||||
|
| QA | ✅ APPROVE |
|
||||||
|
| Supervisor | ✅ APPROVE |
|
||||||
|
|
||||||
|
## Verification Commands
|
||||||
|
```bash
|
||||||
|
npm test
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
```
|
||||||
|
|
||||||
|
Output:
|
||||||
|
- [SUPERVISOR:APPROVE] if ready to merge
|
||||||
|
- [SUPERVISOR:REJECT] if issues found (specify the issues)
|
||||||
transitions:
|
transitions:
|
||||||
- condition: approved
|
- condition: approved
|
||||||
next_step: COMPLETE
|
next_step: COMPLETE
|
||||||
@ -436,6 +827,4 @@ steps:
|
|||||||
- condition: done
|
- condition: done
|
||||||
next_step: supervise
|
next_step: supervise
|
||||||
- condition: blocked
|
- condition: blocked
|
||||||
next_step: fix_supervisor
|
next_step: plan
|
||||||
|
|
||||||
initial_step: implement
|
|
||||||
|
|||||||
@ -2,9 +2,9 @@
|
|||||||
# CQRS+ES、フロントエンド、セキュリティ、QAの専門家によるレビューワークフロー
|
# CQRS+ES、フロントエンド、セキュリティ、QAの専門家によるレビューワークフロー
|
||||||
#
|
#
|
||||||
# フロー:
|
# フロー:
|
||||||
# implement -> cqrs_es_review -> frontend_review -> security_review -> qa_review -> supervise -> COMPLETE
|
# plan -> implement -> cqrs_es_review -> frontend_review -> ai_review -> security_review -> qa_review -> supervise -> COMPLETE
|
||||||
# ↓ ↓ ↓ ↓ ↓
|
# ↓ ↓ ↓ ↓ ↓ ↓
|
||||||
# fix_cqrs_es fix_frontend fix_security fix_qa fix_supervisor
|
# fix_cqrs_es fix_frontend ai_fix fix_security fix_qa fix_supervisor
|
||||||
#
|
#
|
||||||
# 修正時の戻り先はCoderが判断:
|
# 修正時の戻り先はCoderが判断:
|
||||||
# - fix_security: MINOR→security_review, MAJOR→cqrs_es_review
|
# - fix_security: MINOR→security_review, MAJOR→cqrs_es_review
|
||||||
@ -15,38 +15,141 @@ description: CQRS+ES・フロントエンド・セキュリティ・QA専門家
|
|||||||
|
|
||||||
max_iterations: 20
|
max_iterations: 20
|
||||||
|
|
||||||
|
initial_step: plan
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
# ===========================================
|
||||||
|
# Phase 0: Planning
|
||||||
|
# ===========================================
|
||||||
|
- name: plan
|
||||||
|
agent: ~/.takt/agents/default/planner.md
|
||||||
|
instruction_template: |
|
||||||
|
## Workflow Context
|
||||||
|
- Iteration: {iteration}/{max_iterations}
|
||||||
|
- Step: plan (タスク分析)
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report File: .takt/reports/{report_dir}/00-plan.md
|
||||||
|
|
||||||
|
## User Request
|
||||||
|
{task}
|
||||||
|
|
||||||
|
## Previous Response (implementからの差し戻し時)
|
||||||
|
{previous_response}
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
タスクを分析し、実装方針を立ててください。
|
||||||
|
|
||||||
|
**注意:** Previous Responseがある場合は差し戻しのため、
|
||||||
|
その内容を踏まえて計画を見直してください(replan)。
|
||||||
|
|
||||||
|
**やること:**
|
||||||
|
1. タスクの要件を理解する
|
||||||
|
2. 影響範囲を特定する
|
||||||
|
3. 実装アプローチを決める
|
||||||
|
|
||||||
|
**レポート出力:** 上記の `Report File` に出力してください。
|
||||||
|
- ファイルが存在しない場合: 新規作成
|
||||||
|
- ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
|
||||||
|
|
||||||
|
**レポートフォーマット:**
|
||||||
|
```markdown
|
||||||
|
# タスク計画
|
||||||
|
|
||||||
|
## 元の要求
|
||||||
|
{ユーザーの要求をそのまま記載}
|
||||||
|
|
||||||
|
## 分析結果
|
||||||
|
|
||||||
|
### 目的
|
||||||
|
{達成すべきこと}
|
||||||
|
|
||||||
|
### スコープ
|
||||||
|
{影響範囲}
|
||||||
|
|
||||||
|
### 実装アプローチ
|
||||||
|
{どう進めるか}
|
||||||
|
|
||||||
|
## 確認事項(あれば)
|
||||||
|
- {不明点や確認が必要な点}
|
||||||
|
```
|
||||||
|
|
||||||
|
完了したら [PLANNER:DONE] を出力。
|
||||||
|
要件が不明確な場合は [PLANNER:BLOCKED] を出力。
|
||||||
|
pass_previous_response: true
|
||||||
|
transitions:
|
||||||
|
- condition: done
|
||||||
|
next_step: implement
|
||||||
|
- condition: blocked
|
||||||
|
next_step: ABORT
|
||||||
|
|
||||||
|
# ===========================================
|
||||||
|
# Phase 1: Implementation
|
||||||
|
# ===========================================
|
||||||
- name: implement
|
- name: implement
|
||||||
agent: ~/.takt/agents/default/coder.md
|
agent: ~/.takt/agents/default/coder.md
|
||||||
instruction_template: |
|
instruction_template: |
|
||||||
## Workflow Context
|
## Workflow Context
|
||||||
- Iteration: {iteration}/{max_iterations}
|
- Iteration: {iteration}/{max_iterations}
|
||||||
- Step: implement
|
- Step: implement
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report Files:
|
||||||
|
- Scope: .takt/reports/{report_dir}/01-coder-scope.md
|
||||||
|
- Decisions: .takt/reports/{report_dir}/02-coder-decisions.md
|
||||||
|
|
||||||
## Original User Request (これは最新の指示ではなく、ワークフロー開始時の元の要求です)
|
## User Request
|
||||||
{task}
|
{task}
|
||||||
|
|
||||||
## Additional User Inputs (ワークフロー中に追加された情報)
|
## Additional User Inputs
|
||||||
{user_inputs}
|
{user_inputs}
|
||||||
|
|
||||||
## Instructions
|
## Instructions
|
||||||
**重要**: 上記の「Original User Request」はワークフロー開始時の元の要求です。
|
planステップで立てた計画に従って実装してください。
|
||||||
イテレーション2回目以降の場合、すでにリサーチや調査は完了しているはずです。
|
計画レポート(00-plan.md)を参照し、実装を進めてください。
|
||||||
セッションの会話履歴を確認し、前回の作業の続きから進めてください。
|
|
||||||
|
|
||||||
- イテレーション1: 要求を理解し、必要ならリサーチを行う
|
**レポート出力:** 上記の `Report Files` に出力してください。
|
||||||
- イテレーション2以降: 前回の作業結果を踏まえて実装を進める
|
- ファイルが存在しない場合: 新規作成
|
||||||
|
- ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
|
||||||
|
|
||||||
|
**Scopeレポートフォーマット(実装開始時に作成):**
|
||||||
|
```markdown
|
||||||
|
# 変更スコープ宣言
|
||||||
|
|
||||||
|
## タスク
|
||||||
|
{タスクの1行要約}
|
||||||
|
|
||||||
|
## 変更予定
|
||||||
|
| 種別 | ファイル |
|
||||||
|
|------|---------|
|
||||||
|
| 作成 | `src/example.ts` |
|
||||||
|
| 変更 | `src/routes.ts` |
|
||||||
|
|
||||||
|
## 推定規模
|
||||||
|
Small / Medium / Large
|
||||||
|
|
||||||
|
## 影響範囲
|
||||||
|
- {影響するモジュールや機能}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Decisionsレポートフォーマット(実装完了時、決定がある場合のみ):**
|
||||||
|
```markdown
|
||||||
|
# 決定ログ
|
||||||
|
|
||||||
|
## 1. {決定内容}
|
||||||
|
- **背景**: {なぜ決定が必要だったか}
|
||||||
|
- **検討した選択肢**: {選択肢リスト}
|
||||||
|
- **理由**: {選んだ理由}
|
||||||
|
```
|
||||||
|
|
||||||
完了時は [CODER:DONE] を含めてください。
|
完了時は [CODER:DONE] を含めてください。
|
||||||
進行できない場合は [CODER:BLOCKED] を含めてください。
|
進行できない場合は [CODER:BLOCKED] を出力し、planに戻ります。
|
||||||
transitions:
|
transitions:
|
||||||
- condition: done
|
- condition: done
|
||||||
next_step: cqrs_es_review
|
next_step: cqrs_es_review
|
||||||
- condition: blocked
|
- condition: blocked
|
||||||
next_step: implement
|
next_step: plan
|
||||||
|
|
||||||
# ===========================================
|
# ===========================================
|
||||||
# Phase 1: CQRS+ES Review
|
# Phase 2: CQRS+ES Review
|
||||||
# ===========================================
|
# ===========================================
|
||||||
- name: cqrs_es_review
|
- name: cqrs_es_review
|
||||||
agent: ~/.takt/agents/expert-review/cqrs-es-reviewer.md
|
agent: ~/.takt/agents/expert-review/cqrs-es-reviewer.md
|
||||||
@ -54,6 +157,8 @@ steps:
|
|||||||
## Workflow Context
|
## Workflow Context
|
||||||
- Iteration: {iteration}/{max_iterations}
|
- Iteration: {iteration}/{max_iterations}
|
||||||
- Step: cqrs_es_review (CQRS+ES専門レビュー)
|
- Step: cqrs_es_review (CQRS+ES専門レビュー)
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report File: .takt/reports/{report_dir}/03-cqrs-es-review.md
|
||||||
|
|
||||||
## Original User Request
|
## Original User Request
|
||||||
{task}
|
{task}
|
||||||
@ -77,6 +182,34 @@ steps:
|
|||||||
**注意**: このプロジェクトがCQRS+ESパターンを使用していない場合は、
|
**注意**: このプロジェクトがCQRS+ESパターンを使用していない場合は、
|
||||||
一般的なドメイン設計の観点からレビューしてください。
|
一般的なドメイン設計の観点からレビューしてください。
|
||||||
|
|
||||||
|
**レポート出力:** 上記の `Report File` に出力してください。
|
||||||
|
- ファイルが存在しない場合: 新規作成
|
||||||
|
- ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
|
||||||
|
|
||||||
|
**レポートフォーマット:**
|
||||||
|
```markdown
|
||||||
|
# CQRS+ESレビュー
|
||||||
|
|
||||||
|
## 結果: APPROVE / REJECT
|
||||||
|
|
||||||
|
## サマリー
|
||||||
|
{1-2文で結果を要約}
|
||||||
|
|
||||||
|
## 確認した観点
|
||||||
|
| 観点 | 結果 | 備考 |
|
||||||
|
|------|------|------|
|
||||||
|
| Aggregate設計 | ✅ | - |
|
||||||
|
| イベント設計 | ✅ | - |
|
||||||
|
| Command/Query分離 | ✅ | - |
|
||||||
|
| プロジェクション | ✅ | - |
|
||||||
|
| 結果整合性 | ✅ | - |
|
||||||
|
|
||||||
|
## 問題点(REJECTの場合)
|
||||||
|
| # | 場所 | 問題 | 修正案 |
|
||||||
|
|---|------|------|--------|
|
||||||
|
| 1 | `src/file.ts:42` | 問題の説明 | 修正方法 |
|
||||||
|
```
|
||||||
|
|
||||||
Include:
|
Include:
|
||||||
- [CQRS-ES:APPROVE] if CQRS+ES design is sound
|
- [CQRS-ES:APPROVE] if CQRS+ES design is sound
|
||||||
- [CQRS-ES:REJECT] if design issues found (list specific issues)
|
- [CQRS-ES:REJECT] if design issues found (list specific issues)
|
||||||
@ -119,10 +252,10 @@ steps:
|
|||||||
- condition: done
|
- condition: done
|
||||||
next_step: cqrs_es_review
|
next_step: cqrs_es_review
|
||||||
- condition: blocked
|
- condition: blocked
|
||||||
next_step: fix_cqrs_es
|
next_step: plan
|
||||||
|
|
||||||
# ===========================================
|
# ===========================================
|
||||||
# Phase 2: Frontend Review
|
# Phase 3: Frontend Review
|
||||||
# ===========================================
|
# ===========================================
|
||||||
- name: frontend_review
|
- name: frontend_review
|
||||||
agent: ~/.takt/agents/expert-review/frontend-reviewer.md
|
agent: ~/.takt/agents/expert-review/frontend-reviewer.md
|
||||||
@ -130,6 +263,8 @@ steps:
|
|||||||
## Workflow Context
|
## Workflow Context
|
||||||
- Iteration: {iteration}/{max_iterations}
|
- Iteration: {iteration}/{max_iterations}
|
||||||
- Step: frontend_review (フロントエンド専門レビュー)
|
- Step: frontend_review (フロントエンド専門レビュー)
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report File: .takt/reports/{report_dir}/04-frontend-review.md
|
||||||
|
|
||||||
## Original User Request
|
## Original User Request
|
||||||
{task}
|
{task}
|
||||||
@ -153,12 +288,40 @@ steps:
|
|||||||
**注意**: このプロジェクトがフロントエンドを含まない場合は、
|
**注意**: このプロジェクトがフロントエンドを含まない場合は、
|
||||||
[FRONTEND:APPROVE] として次に進んでください。
|
[FRONTEND:APPROVE] として次に進んでください。
|
||||||
|
|
||||||
|
**レポート出力:** 上記の `Report File` に出力してください。
|
||||||
|
- ファイルが存在しない場合: 新規作成
|
||||||
|
- ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
|
||||||
|
|
||||||
|
**レポートフォーマット:**
|
||||||
|
```markdown
|
||||||
|
# フロントエンドレビュー
|
||||||
|
|
||||||
|
## 結果: APPROVE / REJECT
|
||||||
|
|
||||||
|
## サマリー
|
||||||
|
{1-2文で結果を要約}
|
||||||
|
|
||||||
|
## 確認した観点
|
||||||
|
| 観点 | 結果 | 備考 |
|
||||||
|
|------|------|------|
|
||||||
|
| コンポーネント設計 | ✅ | - |
|
||||||
|
| 状態管理 | ✅ | - |
|
||||||
|
| パフォーマンス | ✅ | - |
|
||||||
|
| アクセシビリティ | ✅ | - |
|
||||||
|
| 型安全性 | ✅ | - |
|
||||||
|
|
||||||
|
## 問題点(REJECTの場合)
|
||||||
|
| # | 場所 | 問題 | 修正案 |
|
||||||
|
|---|------|------|--------|
|
||||||
|
| 1 | `src/file.tsx:42` | 問題の説明 | 修正方法 |
|
||||||
|
```
|
||||||
|
|
||||||
Include:
|
Include:
|
||||||
- [FRONTEND:APPROVE] if frontend design is sound
|
- [FRONTEND:APPROVE] if frontend design is sound
|
||||||
- [FRONTEND:REJECT] if design issues found (list specific issues)
|
- [FRONTEND:REJECT] if design issues found (list specific issues)
|
||||||
transitions:
|
transitions:
|
||||||
- condition: approved
|
- condition: approved
|
||||||
next_step: security_review
|
next_step: ai_review
|
||||||
- condition: rejected
|
- condition: rejected
|
||||||
next_step: fix_frontend
|
next_step: fix_frontend
|
||||||
|
|
||||||
@ -195,10 +358,110 @@ steps:
|
|||||||
- condition: done
|
- condition: done
|
||||||
next_step: frontend_review
|
next_step: frontend_review
|
||||||
- condition: blocked
|
- condition: blocked
|
||||||
next_step: fix_frontend
|
next_step: plan
|
||||||
|
|
||||||
# ===========================================
|
# ===========================================
|
||||||
# Phase 3: Security Review
|
# Phase 4: AI Review
|
||||||
|
# ===========================================
|
||||||
|
- name: ai_review
|
||||||
|
agent: ~/.takt/agents/default/ai-reviewer.md
|
||||||
|
instruction_template: |
|
||||||
|
## Workflow Context
|
||||||
|
- Iteration: {iteration}/{max_iterations}
|
||||||
|
- Step: ai_review (AI生成コードレビュー)
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report File: .takt/reports/{report_dir}/05-ai-review.md
|
||||||
|
|
||||||
|
## Original User Request (ワークフロー開始時の元の要求)
|
||||||
|
{task}
|
||||||
|
|
||||||
|
## Git Diff
|
||||||
|
```diff
|
||||||
|
{git_diff}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
AI特有の問題についてコードをレビューしてください:
|
||||||
|
- 仮定の検証
|
||||||
|
- もっともらしいが間違っているパターン
|
||||||
|
- 既存コードベースとの適合性
|
||||||
|
- スコープクリープの検出
|
||||||
|
|
||||||
|
**レポート出力:** 上記の `Report File` に出力してください。
|
||||||
|
- ファイルが存在しない場合: 新規作成
|
||||||
|
- ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
|
||||||
|
|
||||||
|
**レポートフォーマット:**
|
||||||
|
```markdown
|
||||||
|
# AI生成コードレビュー
|
||||||
|
|
||||||
|
## 結果: APPROVE / REJECT
|
||||||
|
|
||||||
|
## サマリー
|
||||||
|
{1文で結果を要約}
|
||||||
|
|
||||||
|
## 検証した項目
|
||||||
|
| 観点 | 結果 | 備考 |
|
||||||
|
|------|------|------|
|
||||||
|
| 仮定の妥当性 | ✅ | - |
|
||||||
|
| API/ライブラリの実在 | ✅ | - |
|
||||||
|
| コンテキスト適合 | ✅ | - |
|
||||||
|
| スコープ | ✅ | - |
|
||||||
|
|
||||||
|
## 問題点(REJECTの場合)
|
||||||
|
| # | カテゴリ | 場所 | 問題 |
|
||||||
|
|---|---------|------|------|
|
||||||
|
| 1 | 幻覚API | `src/file.ts:23` | 存在しないメソッド |
|
||||||
|
```
|
||||||
|
|
||||||
|
**認知負荷軽減ルール:**
|
||||||
|
- 問題なし → サマリー1文 + チェック表のみ(10行以内)
|
||||||
|
- 問題あり → + 問題を表形式で(25行以内)
|
||||||
|
|
||||||
|
以下を含めてください:
|
||||||
|
- [AI_REVIEW:APPROVE] AI特有の問題が見つからない場合
|
||||||
|
- [AI_REVIEW:REJECT] 問題が検出された場合(具体的な問題をリスト)
|
||||||
|
transitions:
|
||||||
|
- condition: approved
|
||||||
|
next_step: security_review
|
||||||
|
- condition: rejected
|
||||||
|
next_step: ai_fix
|
||||||
|
|
||||||
|
- name: ai_fix
|
||||||
|
agent: ~/.takt/agents/default/coder.md
|
||||||
|
instruction_template: |
|
||||||
|
## Workflow Context
|
||||||
|
- Iteration: {iteration}/{max_iterations}
|
||||||
|
- Step: ai_fix
|
||||||
|
|
||||||
|
## AI Review Feedback (これが最新の指示です - 優先して対応してください)
|
||||||
|
{previous_response}
|
||||||
|
|
||||||
|
## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
|
||||||
|
{task}
|
||||||
|
|
||||||
|
## Additional User Inputs
|
||||||
|
{user_inputs}
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
**重要**: AI Reviewerのフィードバックに対応してください。
|
||||||
|
以下に集中してください:
|
||||||
|
- 間違った仮定の修正
|
||||||
|
- もっともらしいが間違っている実装の修正
|
||||||
|
- 既存コードベースのパターンとの整合
|
||||||
|
- スコープクリープの除去
|
||||||
|
|
||||||
|
完了時は [CODER:DONE] を含めてください。
|
||||||
|
進行できない場合は [CODER:BLOCKED] を含めてください。
|
||||||
|
pass_previous_response: true
|
||||||
|
transitions:
|
||||||
|
- condition: done
|
||||||
|
next_step: cqrs_es_review
|
||||||
|
- condition: blocked
|
||||||
|
next_step: plan
|
||||||
|
|
||||||
|
# ===========================================
|
||||||
|
# Phase 5: Security Review
|
||||||
# ===========================================
|
# ===========================================
|
||||||
- name: security_review
|
- name: security_review
|
||||||
agent: ~/.takt/agents/expert-review/security-reviewer.md
|
agent: ~/.takt/agents/expert-review/security-reviewer.md
|
||||||
@ -206,6 +469,8 @@ steps:
|
|||||||
## Workflow Context
|
## Workflow Context
|
||||||
- Iteration: {iteration}/{max_iterations}
|
- Iteration: {iteration}/{max_iterations}
|
||||||
- Step: security_review (セキュリティ専門レビュー)
|
- Step: security_review (セキュリティ専門レビュー)
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report File: .takt/reports/{report_dir}/06-security-review.md
|
||||||
|
|
||||||
## Original User Request
|
## Original User Request
|
||||||
{task}
|
{task}
|
||||||
@ -225,6 +490,35 @@ steps:
|
|||||||
- 暗号化の適切性
|
- 暗号化の適切性
|
||||||
- OWASP Top 10
|
- OWASP Top 10
|
||||||
|
|
||||||
|
**レポート出力:** 上記の `Report File` に出力してください。
|
||||||
|
- ファイルが存在しない場合: 新規作成
|
||||||
|
- ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
|
||||||
|
|
||||||
|
**レポートフォーマット:**
|
||||||
|
```markdown
|
||||||
|
# セキュリティレビュー
|
||||||
|
|
||||||
|
## 結果: APPROVE / REJECT
|
||||||
|
|
||||||
|
## 重大度: None / Low / Medium / High / Critical
|
||||||
|
|
||||||
|
## チェック結果
|
||||||
|
| カテゴリ | 結果 | 備考 |
|
||||||
|
|---------|------|------|
|
||||||
|
| インジェクション | ✅ | - |
|
||||||
|
| 認証・認可 | ✅ | - |
|
||||||
|
| データ保護 | ✅ | - |
|
||||||
|
| 依存関係 | ✅ | - |
|
||||||
|
|
||||||
|
## 脆弱性(REJECTの場合)
|
||||||
|
| # | 重大度 | 種類 | 場所 | 修正案 |
|
||||||
|
|---|--------|------|------|--------|
|
||||||
|
| 1 | High | SQLi | `src/db.ts:42` | パラメータ化クエリを使用 |
|
||||||
|
|
||||||
|
## 警告(ブロッキングではない)
|
||||||
|
- {セキュリティに関する推奨事項}
|
||||||
|
```
|
||||||
|
|
||||||
Include:
|
Include:
|
||||||
- [SECURITY:APPROVE] if no security issues found
|
- [SECURITY:APPROVE] if no security issues found
|
||||||
- [SECURITY:REJECT] if vulnerabilities found (list specific issues with severity)
|
- [SECURITY:REJECT] if vulnerabilities found (list specific issues with severity)
|
||||||
@ -276,10 +570,10 @@ steps:
|
|||||||
- condition: major
|
- condition: major
|
||||||
next_step: cqrs_es_review
|
next_step: cqrs_es_review
|
||||||
- condition: blocked
|
- condition: blocked
|
||||||
next_step: fix_security
|
next_step: plan
|
||||||
|
|
||||||
# ===========================================
|
# ===========================================
|
||||||
# Phase 4: QA Review
|
# Phase 6: QA Review
|
||||||
# ===========================================
|
# ===========================================
|
||||||
- name: qa_review
|
- name: qa_review
|
||||||
agent: ~/.takt/agents/expert-review/qa-reviewer.md
|
agent: ~/.takt/agents/expert-review/qa-reviewer.md
|
||||||
@ -287,6 +581,8 @@ steps:
|
|||||||
## Workflow Context
|
## Workflow Context
|
||||||
- Iteration: {iteration}/{max_iterations}
|
- Iteration: {iteration}/{max_iterations}
|
||||||
- Step: qa_review (QA専門レビュー)
|
- Step: qa_review (QA専門レビュー)
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report File: .takt/reports/{report_dir}/07-qa-review.md
|
||||||
|
|
||||||
## Original User Request
|
## Original User Request
|
||||||
{task}
|
{task}
|
||||||
@ -307,6 +603,34 @@ steps:
|
|||||||
- ログとモニタリング
|
- ログとモニタリング
|
||||||
- 保守性
|
- 保守性
|
||||||
|
|
||||||
|
**レポート出力:** 上記の `Report File` に出力してください。
|
||||||
|
- ファイルが存在しない場合: 新規作成
|
||||||
|
- ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
|
||||||
|
|
||||||
|
**レポートフォーマット:**
|
||||||
|
```markdown
|
||||||
|
# QAレビュー
|
||||||
|
|
||||||
|
## 結果: APPROVE / REJECT
|
||||||
|
|
||||||
|
## サマリー
|
||||||
|
{1-2文で結果を要約}
|
||||||
|
|
||||||
|
## 確認した観点
|
||||||
|
| 観点 | 結果 | 備考 |
|
||||||
|
|------|------|------|
|
||||||
|
| テストカバレッジ | ✅ | - |
|
||||||
|
| テスト品質 | ✅ | - |
|
||||||
|
| エラーハンドリング | ✅ | - |
|
||||||
|
| ドキュメント | ✅ | - |
|
||||||
|
| 保守性 | ✅ | - |
|
||||||
|
|
||||||
|
## 問題点(REJECTの場合)
|
||||||
|
| # | カテゴリ | 問題 | 修正案 |
|
||||||
|
|---|---------|------|--------|
|
||||||
|
| 1 | テスト | 問題の説明 | 修正方法 |
|
||||||
|
```
|
||||||
|
|
||||||
Include:
|
Include:
|
||||||
- [QA:APPROVE] if quality standards are met
|
- [QA:APPROVE] if quality standards are met
|
||||||
- [QA:REJECT] if quality issues found (list specific issues)
|
- [QA:REJECT] if quality issues found (list specific issues)
|
||||||
@ -362,10 +686,10 @@ steps:
|
|||||||
- condition: major
|
- condition: major
|
||||||
next_step: cqrs_es_review
|
next_step: cqrs_es_review
|
||||||
- condition: blocked
|
- condition: blocked
|
||||||
next_step: fix_qa
|
next_step: plan
|
||||||
|
|
||||||
# ===========================================
|
# ===========================================
|
||||||
# Phase 5: Supervision
|
# Phase 7: Supervision
|
||||||
# ===========================================
|
# ===========================================
|
||||||
- name: supervise
|
- name: supervise
|
||||||
agent: ~/.takt/agents/expert-review/supervisor.md
|
agent: ~/.takt/agents/expert-review/supervisor.md
|
||||||
@ -373,6 +697,10 @@ steps:
|
|||||||
## Workflow Context
|
## Workflow Context
|
||||||
- Iteration: {iteration}/{max_iterations}
|
- Iteration: {iteration}/{max_iterations}
|
||||||
- Step: supervise (最終確認)
|
- Step: supervise (最終確認)
|
||||||
|
- Report Directory: .takt/reports/{report_dir}/
|
||||||
|
- Report Files:
|
||||||
|
- Validation: .takt/reports/{report_dir}/08-supervisor-validation.md
|
||||||
|
- Summary: .takt/reports/{report_dir}/summary.md
|
||||||
|
|
||||||
## Original User Request
|
## Original User Request
|
||||||
{task}
|
{task}
|
||||||
@ -386,21 +714,84 @@ steps:
|
|||||||
このステップに到達したということは、以下のレビューがすべてAPPROVEされています:
|
このステップに到達したということは、以下のレビューがすべてAPPROVEされています:
|
||||||
- CQRS+ES Review: APPROVED
|
- CQRS+ES Review: APPROVED
|
||||||
- Frontend Review: APPROVED
|
- Frontend Review: APPROVED
|
||||||
|
- AI Review: APPROVED
|
||||||
- Security Review: APPROVED
|
- Security Review: APPROVED
|
||||||
- QA Review: APPROVED
|
- QA Review: APPROVED
|
||||||
|
|
||||||
## Instructions
|
## Instructions
|
||||||
監督者として、すべてのレビュー結果を統括し、最終判断を下してください。
|
テスト実行、ビルド確認、最終承認を行ってください。
|
||||||
|
|
||||||
**確認観点:**
|
**ワークフロー全体の確認:**
|
||||||
- 各レビュー結果に矛盾がないか
|
1. 計画(00-plan.md)と実装結果が一致しているか
|
||||||
- 元の要求が満たされているか
|
2. 各レビューステップの指摘が対応されているか
|
||||||
- 全体として整合性が取れているか
|
3. 元のタスク目的が達成されているか
|
||||||
- リリースに値する品質か
|
|
||||||
|
|
||||||
Include:
|
**レポートの確認:** Report Directory内の全レポートを読み、
|
||||||
- [SUPERVISOR:APPROVE] if ready for release
|
未対応の改善提案がないか確認してください。
|
||||||
- [SUPERVISOR:REJECT] if additional work needed (list specific items)
|
|
||||||
|
**レポート出力:** 上記の `Report Files` に出力してください。
|
||||||
|
- ファイルが存在しない場合: 新規作成
|
||||||
|
- ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
|
||||||
|
|
||||||
|
**Validationレポートフォーマット:**
|
||||||
|
```markdown
|
||||||
|
# 最終検証結果
|
||||||
|
|
||||||
|
## 結果: APPROVE / REJECT
|
||||||
|
|
||||||
|
## 検証サマリー
|
||||||
|
| 項目 | 状態 | 確認方法 |
|
||||||
|
|------|------|---------|
|
||||||
|
| 要求充足 | ✅ | 要求リストと照合 |
|
||||||
|
| テスト | ✅ | `npm test` (N passed) |
|
||||||
|
| ビルド | ✅ | `npm run build` 成功 |
|
||||||
|
| 動作確認 | ✅ | 主要フロー確認 |
|
||||||
|
|
||||||
|
## 成果物
|
||||||
|
- 作成: {作成したファイル}
|
||||||
|
- 変更: {変更したファイル}
|
||||||
|
|
||||||
|
## 未完了項目(REJECTの場合)
|
||||||
|
| # | 項目 | 理由 |
|
||||||
|
|---|------|------|
|
||||||
|
| 1 | {項目} | {理由} |
|
||||||
|
```
|
||||||
|
|
||||||
|
**Summaryレポートフォーマット(APPROVEの場合のみ):**
|
||||||
|
```markdown
|
||||||
|
# タスク完了サマリー
|
||||||
|
|
||||||
|
## タスク
|
||||||
|
{元の要求を1-2文で}
|
||||||
|
|
||||||
|
## 結果
|
||||||
|
✅ 完了
|
||||||
|
|
||||||
|
## 変更内容
|
||||||
|
| 種別 | ファイル | 概要 |
|
||||||
|
|------|---------|------|
|
||||||
|
| 作成 | `src/file.ts` | 概要説明 |
|
||||||
|
|
||||||
|
## レビュー結果
|
||||||
|
| レビュー | 結果 |
|
||||||
|
|---------|------|
|
||||||
|
| CQRS+ES | ✅ APPROVE |
|
||||||
|
| Frontend | ✅ APPROVE |
|
||||||
|
| AI Review | ✅ APPROVE |
|
||||||
|
| Security | ✅ APPROVE |
|
||||||
|
| QA | ✅ APPROVE |
|
||||||
|
| Supervisor | ✅ APPROVE |
|
||||||
|
|
||||||
|
## 確認コマンド
|
||||||
|
```bash
|
||||||
|
npm test
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
```
|
||||||
|
|
||||||
|
出力:
|
||||||
|
- [SUPERVISOR:APPROVE] すべて完了、マージ可能
|
||||||
|
- [SUPERVISOR:REJECT] 問題あり(具体的な問題を記載)
|
||||||
transitions:
|
transitions:
|
||||||
- condition: approved
|
- condition: approved
|
||||||
next_step: COMPLETE
|
next_step: COMPLETE
|
||||||
@ -436,6 +827,4 @@ steps:
|
|||||||
- condition: done
|
- condition: done
|
||||||
next_step: supervise
|
next_step: supervise
|
||||||
- condition: blocked
|
- condition: blocked
|
||||||
next_step: fix_supervisor
|
next_step: plan
|
||||||
|
|
||||||
initial_step: implement
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user