takt 0.16.0 → 0.17.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/README.md +5 -3
- package/builtins/en/instructions/supervise.md +18 -2
- package/builtins/en/output-contracts/ai-review.md +20 -6
- package/builtins/en/output-contracts/architecture-review.md +18 -12
- package/builtins/en/output-contracts/qa-review.md +17 -8
- package/builtins/en/output-contracts/security-review.md +20 -6
- package/builtins/en/output-contracts/supervisor-validation.md +48 -0
- package/builtins/en/output-contracts/validation.md +18 -4
- package/builtins/en/personas/supervisor.md +3 -3
- package/builtins/en/piece-categories.yaml +15 -7
- package/builtins/en/pieces/backend-cqrs-mini.yaml +247 -0
- package/builtins/en/pieces/backend-cqrs.yaml +13 -5
- package/builtins/en/pieces/backend-mini.yaml +240 -0
- package/builtins/en/pieces/backend.yaml +13 -5
- package/builtins/en/pieces/compound-eye.yaml +73 -7
- package/builtins/en/pieces/{minimal.yaml → default-mini.yaml} +43 -8
- package/builtins/en/pieces/default.yaml +12 -12
- package/builtins/en/pieces/e2e-test.yaml +12 -12
- package/builtins/en/pieces/expert-cqrs.yaml +13 -5
- package/builtins/en/pieces/expert.yaml +13 -5
- package/builtins/en/pieces/frontend-mini.yaml +240 -0
- package/builtins/en/pieces/frontend.yaml +13 -5
- package/builtins/en/pieces/magi.yaml +0 -1
- package/builtins/en/pieces/passthrough.yaml +3 -2
- package/builtins/en/pieces/research.yaml +1 -1
- package/builtins/en/pieces/review-fix-minimal.yaml +11 -5
- package/builtins/en/pieces/review-only.yaml +42 -4
- package/builtins/en/pieces/structural-reform.yaml +62 -11
- package/builtins/en/pieces/unit-test.yaml +12 -12
- package/builtins/ja/instructions/supervise.md +18 -2
- package/builtins/ja/output-contracts/ai-review.md +20 -6
- package/builtins/ja/output-contracts/architecture-review.md +18 -12
- package/builtins/ja/output-contracts/qa-review.md +17 -8
- package/builtins/ja/output-contracts/security-review.md +21 -7
- package/builtins/ja/output-contracts/supervisor-validation.md +48 -0
- package/builtins/ja/output-contracts/validation.md +18 -4
- package/builtins/ja/personas/supervisor.md +4 -2
- package/builtins/ja/piece-categories.yaml +15 -7
- package/builtins/ja/pieces/backend-cqrs-mini.yaml +247 -0
- package/builtins/ja/pieces/backend-cqrs.yaml +13 -5
- package/builtins/ja/pieces/backend-mini.yaml +240 -0
- package/builtins/ja/pieces/backend.yaml +13 -5
- package/builtins/ja/pieces/compound-eye.yaml +72 -8
- package/builtins/ja/pieces/{minimal.yaml → default-mini.yaml} +43 -8
- package/builtins/ja/pieces/default.yaml +12 -12
- package/builtins/ja/pieces/e2e-test.yaml +12 -12
- package/builtins/ja/pieces/expert-cqrs.yaml +13 -5
- package/builtins/ja/pieces/expert.yaml +13 -5
- package/builtins/ja/pieces/frontend-mini.yaml +240 -0
- package/builtins/ja/pieces/frontend.yaml +13 -5
- package/builtins/ja/pieces/magi.yaml +0 -1
- package/builtins/ja/pieces/passthrough.yaml +3 -2
- package/builtins/ja/pieces/research.yaml +1 -1
- package/builtins/ja/pieces/review-fix-minimal.yaml +11 -5
- package/builtins/ja/pieces/review-only.yaml +42 -4
- package/builtins/ja/pieces/structural-reform.yaml +62 -11
- package/builtins/ja/pieces/unit-test.yaml +12 -12
- 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/piece-types.d.ts +6 -11
- package/dist/core/models/piece-types.d.ts.map +1 -1
- package/dist/core/models/schemas.d.ts +32 -44
- package/dist/core/models/schemas.d.ts.map +1 -1
- package/dist/core/models/schemas.js +11 -27
- package/dist/core/models/schemas.js.map +1 -1
- package/dist/core/models/types.d.ts +1 -1
- package/dist/core/models/types.d.ts.map +1 -1
- package/dist/core/piece/engine/MovementExecutor.js +2 -2
- package/dist/core/piece/engine/MovementExecutor.js.map +1 -1
- package/dist/core/piece/evaluation/rule-utils.d.ts +4 -0
- package/dist/core/piece/evaluation/rule-utils.d.ts.map +1 -1
- package/dist/core/piece/evaluation/rule-utils.js +11 -6
- package/dist/core/piece/evaluation/rule-utils.js.map +1 -1
- package/dist/core/piece/instruction/InstructionBuilder.d.ts.map +1 -1
- package/dist/core/piece/instruction/InstructionBuilder.js +2 -7
- package/dist/core/piece/instruction/InstructionBuilder.js.map +1 -1
- package/dist/core/piece/instruction/ReportInstructionBuilder.d.ts.map +1 -1
- package/dist/core/piece/instruction/ReportInstructionBuilder.js +7 -5
- package/dist/core/piece/instruction/ReportInstructionBuilder.js.map +1 -1
- package/dist/core/piece/status-judgment-phase.d.ts.map +1 -1
- package/dist/core/piece/status-judgment-phase.js +3 -2
- package/dist/core/piece/status-judgment-phase.js.map +1 -1
- package/dist/core/runtime/runtime-environment.js +1 -1
- package/dist/core/runtime/runtime-environment.js.map +1 -1
- package/dist/features/tasks/list/taskBranchLifecycleActions.js +1 -1
- package/dist/features/tasks/list/taskBranchLifecycleActions.js.map +1 -1
- package/dist/infra/config/loaders/pieceParser.d.ts.map +1 -1
- package/dist/infra/config/loaders/pieceParser.js +18 -22
- package/dist/infra/config/loaders/pieceParser.js.map +1 -1
- package/dist/infra/task/clone.js +1 -1
- package/dist/infra/task/clone.js.map +1 -1
- package/package.json +1 -1
- package/builtins/en/output-contracts/review-summary.md +0 -23
- package/builtins/en/pieces/coding.yaml +0 -141
- package/builtins/ja/output-contracts/review-summary.md +0 -23
- package/builtins/ja/pieces/coding.yaml +0 -141
package/README.md
CHANGED
|
@@ -304,7 +304,7 @@ takt reset categories
|
|
|
304
304
|
| Piece | Recommended Use |
|
|
305
305
|
|----------|-----------------|
|
|
306
306
|
| `default` | Serious development tasks. Used for TAKT's own development. Multi-stage review with parallel reviews (architect + security). |
|
|
307
|
-
| `
|
|
307
|
+
| `default-mini` | Simple fixes and straightforward tasks. Lightweight piece with AI antipattern review + supervisor. |
|
|
308
308
|
| `review-fix-minimal` | Review & fix piece. Specialized for iterative improvement based on review feedback. |
|
|
309
309
|
| `research` | Investigation and research. Autonomously executes research without asking questions. |
|
|
310
310
|
|
|
@@ -460,13 +460,15 @@ TAKT includes multiple builtin pieces:
|
|
|
460
460
|
| Piece | Description |
|
|
461
461
|
|----------|-------------|
|
|
462
462
|
| `default` | Full development piece: plan → implement → AI review → parallel review (architect + QA) → supervisor approval. Includes fix loops at each review stage. |
|
|
463
|
-
| `
|
|
463
|
+
| `default-mini` | Mini development piece: plan → implement → parallel review (AI antipattern + supervisor) → fix if needed. Lightweight with review. |
|
|
464
|
+
| `frontend-mini` | Mini frontend piece: plan → implement → parallel review (AI antipattern + supervisor) with frontend knowledge injection. |
|
|
465
|
+
| `backend-mini` | Mini backend piece: plan → implement → parallel review (AI antipattern + supervisor) with backend knowledge injection. |
|
|
466
|
+
| `backend-cqrs-mini` | Mini CQRS+ES piece: plan → implement → parallel review (AI antipattern + supervisor) with CQRS+ES knowledge injection. |
|
|
464
467
|
| `review-fix-minimal` | Review-focused piece: review → fix → supervisor. For iterative improvement based on review feedback. |
|
|
465
468
|
| `research` | Research piece: planner → digger → supervisor. Autonomously executes research without asking questions. |
|
|
466
469
|
| `expert` | Full-stack development piece: architecture, frontend, security, QA reviews with fix loops. |
|
|
467
470
|
| `expert-cqrs` | Full-stack development piece (CQRS+ES specialized): CQRS+ES, frontend, security, QA reviews with fix loops. |
|
|
468
471
|
| `magi` | Deliberation system inspired by Evangelion. Three AI personas (MELCHIOR, BALTHASAR, CASPER) analyze and vote. |
|
|
469
|
-
| `coding` | Lightweight development piece: planner → implement → parallel review (AI antipattern + architecture) → fix. Fast feedback loop without supervisor. |
|
|
470
472
|
| `passthrough` | Thinnest wrapper. Pass task directly to coder as-is. No review. |
|
|
471
473
|
| `compound-eye` | Multi-model review: sends the same instruction to Claude and Codex simultaneously, then synthesizes both responses. |
|
|
472
474
|
| `review-only` | Read-only code review piece that makes no changes. |
|
|
@@ -4,7 +4,11 @@ Run tests, verify the build, and perform final approval.
|
|
|
4
4
|
1. Whether the plan and implementation results are consistent
|
|
5
5
|
2. Whether findings from each review movement have been addressed
|
|
6
6
|
3. Whether each task spec requirement has been achieved
|
|
7
|
-
-
|
|
7
|
+
- Extract requirements one by one from the task spec
|
|
8
|
+
- For each requirement, identify the implementing code (file:line)
|
|
9
|
+
- Verify the code actually fulfills the requirement (read the file, run the test)
|
|
10
|
+
- Do not rely on the plan report's judgment; independently verify each requirement
|
|
11
|
+
- If any requirement is unfulfilled, REJECT
|
|
8
12
|
|
|
9
13
|
**Report verification:** Read all reports in the Report Directory and
|
|
10
14
|
check for any unaddressed improvement suggestions.
|
|
@@ -15,10 +19,22 @@ check for any unaddressed improvement suggestions.
|
|
|
15
19
|
|
|
16
20
|
## Result: APPROVE / REJECT
|
|
17
21
|
|
|
22
|
+
## Requirements Fulfillment Check
|
|
23
|
+
|
|
24
|
+
Extract requirements from the task spec and verify each one individually against actual code.
|
|
25
|
+
|
|
26
|
+
| # | Requirement (extracted from task spec) | Met | Evidence (file:line) |
|
|
27
|
+
|---|---------------------------------------|-----|---------------------|
|
|
28
|
+
| 1 | {requirement 1} | ✅/❌ | `src/file.ts:42` |
|
|
29
|
+
| 2 | {requirement 2} | ✅/❌ | `src/file.ts:55` |
|
|
30
|
+
|
|
31
|
+
- If any ❌ exists, REJECT is mandatory
|
|
32
|
+
- ✅ without evidence is invalid (must verify against actual code)
|
|
33
|
+
- Do not rely on plan report's judgment; independently verify each requirement
|
|
34
|
+
|
|
18
35
|
## Verification Summary
|
|
19
36
|
| Item | Status | Verification method |
|
|
20
37
|
|------|--------|-------------------|
|
|
21
|
-
| Requirements met | ✅ | Cross-checked with requirements list |
|
|
22
38
|
| Tests | ✅ | `npm test` (N passed) |
|
|
23
39
|
| Build | ✅ | `npm run build` succeeded |
|
|
24
40
|
| Functional check | ✅ | Main flows verified |
|
|
@@ -14,12 +14,26 @@
|
|
|
14
14
|
| Context fit | ✅ | - |
|
|
15
15
|
| Scope | ✅ | - |
|
|
16
16
|
|
|
17
|
-
##
|
|
18
|
-
| # | Category | Location | Issue |
|
|
19
|
-
|
|
20
|
-
| 1 | Hallucinated API | `src/file.ts:23` | Non-existent method |
|
|
17
|
+
## Current Iteration Findings (new)
|
|
18
|
+
| # | finding_id | Category | Location | Issue | Fix Suggestion |
|
|
19
|
+
|---|------------|----------|----------|-------|----------------|
|
|
20
|
+
| 1 | AI-NEW-src-file-L23 | Hallucinated API | `src/file.ts:23` | Non-existent method | Replace with existing API |
|
|
21
|
+
|
|
22
|
+
## Carry-over Findings (persists)
|
|
23
|
+
| # | finding_id | Previous Evidence | Current Evidence | Issue | Fix Suggestion |
|
|
24
|
+
|---|------------|-------------------|------------------|-------|----------------|
|
|
25
|
+
| 1 | AI-PERSIST-src-file-L42 | `src/file.ts:42` | `src/file.ts:42` | Still unresolved | Apply prior fix plan |
|
|
26
|
+
|
|
27
|
+
## Resolved Findings (resolved)
|
|
28
|
+
| finding_id | Resolution Evidence |
|
|
29
|
+
|------------|---------------------|
|
|
30
|
+
| AI-RESOLVED-src-file-L10 | `src/file.ts:10` no longer contains the issue |
|
|
31
|
+
|
|
32
|
+
## Rejection Gate
|
|
33
|
+
- REJECT is valid only when at least one finding exists in `new` or `persists`
|
|
34
|
+
- Findings without `finding_id` are invalid
|
|
21
35
|
```
|
|
22
36
|
|
|
23
37
|
**Cognitive load reduction rules:**
|
|
24
|
-
- No issues → Summary sentence + checklist
|
|
25
|
-
- Issues found →
|
|
38
|
+
- No issues → Summary sentence + checklist + empty finding sections (10 lines or fewer)
|
|
39
|
+
- Issues found → include table rows only for impacted sections (30 lines or fewer)
|
|
@@ -14,22 +14,28 @@
|
|
|
14
14
|
- [x] Dead code
|
|
15
15
|
- [x] Call chain verification
|
|
16
16
|
|
|
17
|
-
##
|
|
18
|
-
| finding_id |
|
|
19
|
-
|
|
20
|
-
| ARCH-
|
|
21
|
-
|
|
22
|
-
## Issues (if REJECT)
|
|
23
|
-
| # | finding_id | Status (new/persists) | Scope | Location | Issue | Fix Suggestion |
|
|
24
|
-
|---|------------|-----------------------|-------|----------|-------|----------------|
|
|
25
|
-
| 1 | ARCH-EXAMPLE-src-file-L42 | new | In-scope | `src/file.ts:42` | Issue description | Fix approach |
|
|
17
|
+
## Current Iteration Findings (new)
|
|
18
|
+
| # | finding_id | Scope | Location | Issue | Fix Suggestion |
|
|
19
|
+
|---|------------|-------|----------|-------|----------------|
|
|
20
|
+
| 1 | ARCH-NEW-src-file-L42 | In-scope | `src/file.ts:42` | Issue description | Fix approach |
|
|
26
21
|
|
|
27
22
|
Scope: "In-scope" (fixable in this change) / "Out-of-scope" (existing issue, non-blocking)
|
|
28
23
|
|
|
29
|
-
##
|
|
30
|
-
|
|
24
|
+
## Carry-over Findings (persists)
|
|
25
|
+
| # | finding_id | Previous Evidence | Current Evidence | Issue | Fix Suggestion |
|
|
26
|
+
|---|------------|-------------------|------------------|-------|----------------|
|
|
27
|
+
| 1 | ARCH-PERSIST-src-file-L77 | `src/file.ts:77` | `src/file.ts:77` | Still unresolved | Apply prior fix plan |
|
|
28
|
+
|
|
29
|
+
## Resolved Findings (resolved)
|
|
30
|
+
| finding_id | Resolution Evidence |
|
|
31
|
+
|------------|---------------------|
|
|
32
|
+
| ARCH-RESOLVED-src-file-L10 | `src/file.ts:10` now satisfies the rule |
|
|
33
|
+
|
|
34
|
+
## Rejection Gate
|
|
35
|
+
- REJECT is valid only when at least one finding exists in `new` or `persists`
|
|
36
|
+
- Findings without `finding_id` are invalid
|
|
31
37
|
```
|
|
32
38
|
|
|
33
39
|
**Cognitive load reduction rules:**
|
|
34
40
|
- APPROVE → Summary only (5 lines or fewer)
|
|
35
|
-
- REJECT →
|
|
41
|
+
- REJECT → Include only relevant finding rows (30 lines or fewer)
|
|
@@ -15,13 +15,22 @@
|
|
|
15
15
|
| Documentation | ✅ | - |
|
|
16
16
|
| Maintainability | ✅ | - |
|
|
17
17
|
|
|
18
|
-
##
|
|
19
|
-
| finding_id |
|
|
20
|
-
|
|
21
|
-
| QA-
|
|
18
|
+
## Current Iteration Findings (new)
|
|
19
|
+
| # | finding_id | Category | Location | Issue | Fix Suggestion |
|
|
20
|
+
|---|------------|----------|----------|-------|----------------|
|
|
21
|
+
| 1 | QA-NEW-src-test-L42 | Testing | `src/test.ts:42` | Missing negative test | Add failure-path test |
|
|
22
22
|
|
|
23
|
-
##
|
|
24
|
-
| # | finding_id |
|
|
25
|
-
|
|
26
|
-
| 1 | QA-
|
|
23
|
+
## Carry-over Findings (persists)
|
|
24
|
+
| # | finding_id | Previous Evidence | Current Evidence | Issue | Fix Suggestion |
|
|
25
|
+
|---|------------|-------------------|------------------|-------|----------------|
|
|
26
|
+
| 1 | QA-PERSIST-src-test-L77 | `src/test.ts:77` | `src/test.ts:77` | Still flaky | Stabilize assertion & setup |
|
|
27
|
+
|
|
28
|
+
## Resolved Findings (resolved)
|
|
29
|
+
| finding_id | Resolution Evidence |
|
|
30
|
+
|------------|---------------------|
|
|
31
|
+
| QA-RESOLVED-src-test-L10 | `src/test.ts:10` now covers error path |
|
|
32
|
+
|
|
33
|
+
## Rejection Gate
|
|
34
|
+
- REJECT is valid only when at least one finding exists in `new` or `persists`
|
|
35
|
+
- Findings without `finding_id` are invalid
|
|
27
36
|
```
|
|
@@ -13,16 +13,30 @@
|
|
|
13
13
|
| Data Protection | ✅ | - |
|
|
14
14
|
| Dependencies | ✅ | - |
|
|
15
15
|
|
|
16
|
-
##
|
|
17
|
-
| # | Severity | Type | Location | Fix Suggestion |
|
|
18
|
-
|
|
19
|
-
| 1 | High | SQLi | `src/db.ts:42` | Use parameterized queries |
|
|
16
|
+
## Current Iteration Findings (new)
|
|
17
|
+
| # | finding_id | Severity | Type | Location | Issue | Fix Suggestion |
|
|
18
|
+
|---|------------|----------|------|----------|-------|----------------|
|
|
19
|
+
| 1 | SEC-NEW-src-db-L42 | High | SQLi | `src/db.ts:42` | Raw query string | Use parameterized queries |
|
|
20
|
+
|
|
21
|
+
## Carry-over Findings (persists)
|
|
22
|
+
| # | finding_id | Previous Evidence | Current Evidence | Issue | Fix Suggestion |
|
|
23
|
+
|---|------------|-------------------|------------------|-------|----------------|
|
|
24
|
+
| 1 | SEC-PERSIST-src-auth-L18 | `src/auth.ts:18` | `src/auth.ts:18` | Weak validation persists | Harden validation |
|
|
25
|
+
|
|
26
|
+
## Resolved Findings (resolved)
|
|
27
|
+
| finding_id | Resolution Evidence |
|
|
28
|
+
|------------|---------------------|
|
|
29
|
+
| SEC-RESOLVED-src-db-L10 | `src/db.ts:10` now uses bound parameters |
|
|
20
30
|
|
|
21
31
|
## Warnings (non-blocking)
|
|
22
32
|
- {Security recommendations}
|
|
33
|
+
|
|
34
|
+
## Rejection Gate
|
|
35
|
+
- REJECT is valid only when at least one finding exists in `new` or `persists`
|
|
36
|
+
- Findings without `finding_id` are invalid
|
|
23
37
|
```
|
|
24
38
|
|
|
25
39
|
**Cognitive load reduction rules:**
|
|
26
40
|
- No issues → Checklist only (10 lines or fewer)
|
|
27
|
-
- Warnings
|
|
28
|
-
- Vulnerabilities found → +
|
|
41
|
+
- Warnings only → + Warnings in 1-2 lines (15 lines or fewer)
|
|
42
|
+
- Vulnerabilities found → + finding tables (30 lines or fewer)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
```markdown
|
|
2
|
+
# Final Validation Results
|
|
3
|
+
|
|
4
|
+
## Result: APPROVE / REJECT
|
|
5
|
+
|
|
6
|
+
## Requirements Fulfillment Check
|
|
7
|
+
|
|
8
|
+
Extract requirements from the task spec and verify each one individually against actual code.
|
|
9
|
+
|
|
10
|
+
| # | Requirement (extracted from task spec) | Met | Evidence (file:line) |
|
|
11
|
+
|---|---------------------------------------|-----|---------------------|
|
|
12
|
+
| 1 | {requirement 1} | ✅/❌ | `src/file.ts:42` |
|
|
13
|
+
| 2 | {requirement 2} | ✅/❌ | `src/file.ts:55` |
|
|
14
|
+
|
|
15
|
+
- If any ❌ exists, REJECT is mandatory
|
|
16
|
+
- ✅ without evidence is invalid (must verify against actual code)
|
|
17
|
+
- Do not rely on plan report's judgment; independently verify each requirement
|
|
18
|
+
|
|
19
|
+
## Validation Summary
|
|
20
|
+
| Item | Status | Verification Method |
|
|
21
|
+
|------|--------|-------------------|
|
|
22
|
+
| Tests | ✅ | `npm test` (N passed) |
|
|
23
|
+
| Build | ✅ | `npm run build` succeeded |
|
|
24
|
+
| Functional check | ✅ | Main flow verified |
|
|
25
|
+
|
|
26
|
+
## Current Iteration Findings (new)
|
|
27
|
+
| # | finding_id | Item | Evidence | Reason | Required Action |
|
|
28
|
+
|---|------------|------|----------|--------|-----------------|
|
|
29
|
+
| 1 | VAL-NEW-src-file-L42 | Requirement mismatch | `file:line` | Description | Fix required |
|
|
30
|
+
|
|
31
|
+
## Carry-over Findings (persists)
|
|
32
|
+
| # | finding_id | Previous Evidence | Current Evidence | Reason | Required Action |
|
|
33
|
+
|---|------------|-------------------|------------------|--------|-----------------|
|
|
34
|
+
| 1 | VAL-PERSIST-src-file-L77 | `file:line` | `file:line` | Still unresolved | Apply fix |
|
|
35
|
+
|
|
36
|
+
## Resolved Findings (resolved)
|
|
37
|
+
| finding_id | Resolution Evidence |
|
|
38
|
+
|------------|---------------------|
|
|
39
|
+
| VAL-RESOLVED-src-file-L10 | `file:line` now passes validation |
|
|
40
|
+
|
|
41
|
+
## Deliverables
|
|
42
|
+
- Created: {Created files}
|
|
43
|
+
- Modified: {Modified files}
|
|
44
|
+
|
|
45
|
+
## Rejection Gate
|
|
46
|
+
- REJECT is valid only when at least one finding exists in `new` or `persists`
|
|
47
|
+
- Findings without `finding_id` are invalid
|
|
48
|
+
```
|
|
@@ -11,12 +11,26 @@
|
|
|
11
11
|
| Build | ✅ | `npm run build` succeeded |
|
|
12
12
|
| Functional check | ✅ | Main flow verified |
|
|
13
13
|
|
|
14
|
+
## Current Iteration Findings (new)
|
|
15
|
+
| # | finding_id | Item | Evidence | Reason | Required Action |
|
|
16
|
+
|---|------------|------|----------|--------|-----------------|
|
|
17
|
+
| 1 | VAL-NEW-src-file-L42 | Requirement mismatch | `file:line` | Description | Fix required |
|
|
18
|
+
|
|
19
|
+
## Carry-over Findings (persists)
|
|
20
|
+
| # | finding_id | Previous Evidence | Current Evidence | Reason | Required Action |
|
|
21
|
+
|---|------------|-------------------|------------------|--------|-----------------|
|
|
22
|
+
| 1 | VAL-PERSIST-src-file-L77 | `file:line` | `file:line` | Still unresolved | Apply fix |
|
|
23
|
+
|
|
24
|
+
## Resolved Findings (resolved)
|
|
25
|
+
| finding_id | Resolution Evidence |
|
|
26
|
+
|------------|---------------------|
|
|
27
|
+
| VAL-RESOLVED-src-file-L10 | `file:line` now passes validation |
|
|
28
|
+
|
|
14
29
|
## Deliverables
|
|
15
30
|
- Created: {Created files}
|
|
16
31
|
- Modified: {Modified files}
|
|
17
32
|
|
|
18
|
-
##
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
| 1 | {Item} | {Reason} |
|
|
33
|
+
## Rejection Gate
|
|
34
|
+
- REJECT is valid only when at least one finding exists in `new` or `persists`
|
|
35
|
+
- Findings without `finding_id` are invalid
|
|
22
36
|
```
|
|
@@ -36,12 +36,12 @@ You are the **human proxy** in the automated piece. Before approval, verify the
|
|
|
36
36
|
|
|
37
37
|
## Verification Perspectives
|
|
38
38
|
|
|
39
|
-
### 1. Requirements Fulfillment
|
|
39
|
+
### 1. Requirements Fulfillment (Most Critical)
|
|
40
40
|
|
|
41
|
-
-
|
|
41
|
+
- Verify all requirements individually; do NOT APPROVE if any single requirement is unfulfilled
|
|
42
42
|
- Can it **actually** do what was claimed?
|
|
43
43
|
- Are implicit requirements (naturally expected behavior) met?
|
|
44
|
-
-
|
|
44
|
+
- "Mostly done" or "main parts complete" is NOT grounds for APPROVE. All requirements must be fulfilled
|
|
45
45
|
|
|
46
46
|
**Note**: Don't take Coder's "complete" at face value. Actually verify.
|
|
47
47
|
|
|
@@ -1,23 +1,31 @@
|
|
|
1
1
|
piece_categories:
|
|
2
2
|
🚀 Quick Start:
|
|
3
3
|
pieces:
|
|
4
|
+
- default-mini
|
|
5
|
+
- frontend-mini
|
|
6
|
+
- backend-mini
|
|
4
7
|
- default
|
|
5
|
-
- passthrough
|
|
6
|
-
- coding
|
|
7
|
-
- minimal
|
|
8
8
|
- compound-eye
|
|
9
|
+
⚡ Mini:
|
|
10
|
+
pieces:
|
|
11
|
+
- default-mini
|
|
12
|
+
- frontend-mini
|
|
13
|
+
- backend-mini
|
|
14
|
+
- backend-cqrs-mini
|
|
9
15
|
🎨 Frontend:
|
|
10
16
|
pieces:
|
|
11
17
|
- frontend
|
|
18
|
+
- frontend-mini
|
|
12
19
|
⚙️ Backend:
|
|
13
20
|
pieces:
|
|
14
21
|
- backend
|
|
22
|
+
- backend-mini
|
|
15
23
|
- backend-cqrs
|
|
24
|
+
- backend-cqrs-mini
|
|
16
25
|
🔧 Expert:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- expert-cqrs
|
|
26
|
+
pieces:
|
|
27
|
+
- expert
|
|
28
|
+
- expert-cqrs
|
|
21
29
|
🛠️ Refactoring:
|
|
22
30
|
pieces:
|
|
23
31
|
- structural-reform
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
name: backend-cqrs-mini
|
|
2
|
+
description: CQRS+ES-focused mini development piece (plan -> implement -> parallel review -> fix if needed -> complete)
|
|
3
|
+
piece_config:
|
|
4
|
+
provider_options:
|
|
5
|
+
codex:
|
|
6
|
+
network_access: true
|
|
7
|
+
opencode:
|
|
8
|
+
network_access: true
|
|
9
|
+
max_movements: 20
|
|
10
|
+
initial_movement: plan
|
|
11
|
+
movements:
|
|
12
|
+
- name: plan
|
|
13
|
+
edit: false
|
|
14
|
+
persona: planner
|
|
15
|
+
knowledge:
|
|
16
|
+
- backend
|
|
17
|
+
- cqrs-es
|
|
18
|
+
- security
|
|
19
|
+
- architecture
|
|
20
|
+
allowed_tools:
|
|
21
|
+
- Read
|
|
22
|
+
- Glob
|
|
23
|
+
- Grep
|
|
24
|
+
- Bash
|
|
25
|
+
- WebSearch
|
|
26
|
+
- WebFetch
|
|
27
|
+
rules:
|
|
28
|
+
- condition: Requirements are clear and implementation is possible
|
|
29
|
+
next: implement
|
|
30
|
+
- condition: User is asking a question (not an implementation task)
|
|
31
|
+
next: COMPLETE
|
|
32
|
+
- condition: Requirements are unclear, insufficient information
|
|
33
|
+
next: ABORT
|
|
34
|
+
instruction: plan
|
|
35
|
+
output_contracts:
|
|
36
|
+
report:
|
|
37
|
+
- name: 00-plan.md
|
|
38
|
+
format: plan
|
|
39
|
+
- name: implement
|
|
40
|
+
edit: true
|
|
41
|
+
persona: coder
|
|
42
|
+
policy:
|
|
43
|
+
- coding
|
|
44
|
+
- testing
|
|
45
|
+
knowledge:
|
|
46
|
+
- backend
|
|
47
|
+
- cqrs-es
|
|
48
|
+
- security
|
|
49
|
+
- architecture
|
|
50
|
+
allowed_tools:
|
|
51
|
+
- Read
|
|
52
|
+
- Glob
|
|
53
|
+
- Grep
|
|
54
|
+
- Edit
|
|
55
|
+
- Write
|
|
56
|
+
- Bash
|
|
57
|
+
- WebSearch
|
|
58
|
+
- WebFetch
|
|
59
|
+
required_permission_mode: edit
|
|
60
|
+
instruction: implement
|
|
61
|
+
rules:
|
|
62
|
+
- condition: Implementation complete
|
|
63
|
+
next: reviewers
|
|
64
|
+
- condition: Cannot proceed, insufficient info
|
|
65
|
+
next: ABORT
|
|
66
|
+
- condition: User input required because there are items to confirm with the user
|
|
67
|
+
next: implement
|
|
68
|
+
requires_user_input: true
|
|
69
|
+
interactive_only: true
|
|
70
|
+
output_contracts:
|
|
71
|
+
report:
|
|
72
|
+
- name: coder-scope.md
|
|
73
|
+
format: coder-scope
|
|
74
|
+
- name: coder-decisions.md
|
|
75
|
+
format: coder-decisions
|
|
76
|
+
- name: reviewers
|
|
77
|
+
parallel:
|
|
78
|
+
- name: ai_review
|
|
79
|
+
edit: false
|
|
80
|
+
persona: ai-antipattern-reviewer
|
|
81
|
+
policy:
|
|
82
|
+
- review
|
|
83
|
+
- ai-antipattern
|
|
84
|
+
allowed_tools:
|
|
85
|
+
- Read
|
|
86
|
+
- Glob
|
|
87
|
+
- Grep
|
|
88
|
+
- WebSearch
|
|
89
|
+
- WebFetch
|
|
90
|
+
instruction: review-ai
|
|
91
|
+
rules:
|
|
92
|
+
- condition: No AI-specific issues
|
|
93
|
+
- condition: AI-specific issues found
|
|
94
|
+
output_contracts:
|
|
95
|
+
report:
|
|
96
|
+
- name: 03-ai-review.md
|
|
97
|
+
format: ai-review
|
|
98
|
+
- name: supervise
|
|
99
|
+
edit: false
|
|
100
|
+
persona: supervisor
|
|
101
|
+
policy: review
|
|
102
|
+
knowledge:
|
|
103
|
+
- backend
|
|
104
|
+
- cqrs-es
|
|
105
|
+
- security
|
|
106
|
+
- architecture
|
|
107
|
+
allowed_tools:
|
|
108
|
+
- Read
|
|
109
|
+
- Glob
|
|
110
|
+
- Grep
|
|
111
|
+
- Bash
|
|
112
|
+
- WebSearch
|
|
113
|
+
- WebFetch
|
|
114
|
+
instruction: supervise
|
|
115
|
+
rules:
|
|
116
|
+
- condition: All checks passed
|
|
117
|
+
- condition: Requirements unmet, tests failing
|
|
118
|
+
output_contracts:
|
|
119
|
+
report:
|
|
120
|
+
- name: supervisor-validation.md
|
|
121
|
+
format: supervisor-validation
|
|
122
|
+
- name: summary.md
|
|
123
|
+
format: summary
|
|
124
|
+
use_judge: false
|
|
125
|
+
rules:
|
|
126
|
+
- condition: all("No AI-specific issues", "All checks passed")
|
|
127
|
+
next: COMPLETE
|
|
128
|
+
- condition: all("AI-specific issues found", "Requirements unmet, tests failing")
|
|
129
|
+
next: fix_both
|
|
130
|
+
- condition: any("AI-specific issues found")
|
|
131
|
+
next: ai_fix
|
|
132
|
+
- condition: any("Requirements unmet, tests failing")
|
|
133
|
+
next: supervise_fix
|
|
134
|
+
- name: fix_both
|
|
135
|
+
parallel:
|
|
136
|
+
- name: ai_fix_parallel
|
|
137
|
+
edit: true
|
|
138
|
+
persona: coder
|
|
139
|
+
policy:
|
|
140
|
+
- coding
|
|
141
|
+
- testing
|
|
142
|
+
knowledge:
|
|
143
|
+
- backend
|
|
144
|
+
- cqrs-es
|
|
145
|
+
- security
|
|
146
|
+
- architecture
|
|
147
|
+
allowed_tools:
|
|
148
|
+
- Read
|
|
149
|
+
- Glob
|
|
150
|
+
- Grep
|
|
151
|
+
- Edit
|
|
152
|
+
- Bash
|
|
153
|
+
- WebSearch
|
|
154
|
+
- WebFetch
|
|
155
|
+
required_permission_mode: edit
|
|
156
|
+
rules:
|
|
157
|
+
- condition: AI Reviewer's issues fixed
|
|
158
|
+
- condition: No fix needed (verified target files/spec)
|
|
159
|
+
- condition: Cannot proceed, insufficient info
|
|
160
|
+
instruction: ai-fix
|
|
161
|
+
- name: supervise_fix_parallel
|
|
162
|
+
edit: true
|
|
163
|
+
persona: coder
|
|
164
|
+
policy:
|
|
165
|
+
- coding
|
|
166
|
+
- testing
|
|
167
|
+
knowledge:
|
|
168
|
+
- backend
|
|
169
|
+
- cqrs-es
|
|
170
|
+
- security
|
|
171
|
+
- architecture
|
|
172
|
+
allowed_tools:
|
|
173
|
+
- Read
|
|
174
|
+
- Glob
|
|
175
|
+
- Grep
|
|
176
|
+
- Edit
|
|
177
|
+
- Bash
|
|
178
|
+
- WebSearch
|
|
179
|
+
- WebFetch
|
|
180
|
+
required_permission_mode: edit
|
|
181
|
+
rules:
|
|
182
|
+
- condition: Supervisor's issues fixed
|
|
183
|
+
- condition: Cannot proceed, insufficient info
|
|
184
|
+
instruction: fix-supervisor
|
|
185
|
+
rules:
|
|
186
|
+
- condition: all("AI Reviewer's issues fixed", "Supervisor's issues fixed")
|
|
187
|
+
next: reviewers
|
|
188
|
+
- condition: any("No fix needed (verified target files/spec)", "Cannot proceed, insufficient info")
|
|
189
|
+
next: implement
|
|
190
|
+
- name: ai_fix
|
|
191
|
+
edit: true
|
|
192
|
+
persona: coder
|
|
193
|
+
policy:
|
|
194
|
+
- coding
|
|
195
|
+
- testing
|
|
196
|
+
knowledge:
|
|
197
|
+
- backend
|
|
198
|
+
- cqrs-es
|
|
199
|
+
- security
|
|
200
|
+
- architecture
|
|
201
|
+
allowed_tools:
|
|
202
|
+
- Read
|
|
203
|
+
- Glob
|
|
204
|
+
- Grep
|
|
205
|
+
- Edit
|
|
206
|
+
- Write
|
|
207
|
+
- Bash
|
|
208
|
+
- WebSearch
|
|
209
|
+
- WebFetch
|
|
210
|
+
required_permission_mode: edit
|
|
211
|
+
pass_previous_response: false
|
|
212
|
+
rules:
|
|
213
|
+
- condition: AI Reviewer's issues fixed
|
|
214
|
+
next: reviewers
|
|
215
|
+
- condition: No fix needed (verified target files/spec)
|
|
216
|
+
next: implement
|
|
217
|
+
- condition: Cannot proceed, insufficient info
|
|
218
|
+
next: implement
|
|
219
|
+
instruction: ai-fix
|
|
220
|
+
- name: supervise_fix
|
|
221
|
+
edit: true
|
|
222
|
+
persona: coder
|
|
223
|
+
policy:
|
|
224
|
+
- coding
|
|
225
|
+
- testing
|
|
226
|
+
knowledge:
|
|
227
|
+
- backend
|
|
228
|
+
- cqrs-es
|
|
229
|
+
- security
|
|
230
|
+
- architecture
|
|
231
|
+
allowed_tools:
|
|
232
|
+
- Read
|
|
233
|
+
- Glob
|
|
234
|
+
- Grep
|
|
235
|
+
- Edit
|
|
236
|
+
- Write
|
|
237
|
+
- Bash
|
|
238
|
+
- WebSearch
|
|
239
|
+
- WebFetch
|
|
240
|
+
required_permission_mode: edit
|
|
241
|
+
pass_previous_response: false
|
|
242
|
+
rules:
|
|
243
|
+
- condition: Supervisor's issues fixed
|
|
244
|
+
next: reviewers
|
|
245
|
+
- condition: Cannot proceed, insufficient info
|
|
246
|
+
next: implement
|
|
247
|
+
instruction: fix-supervisor
|
|
@@ -6,7 +6,6 @@ piece_config:
|
|
|
6
6
|
network_access: true
|
|
7
7
|
opencode:
|
|
8
8
|
network_access: true
|
|
9
|
-
|
|
10
9
|
max_movements: 30
|
|
11
10
|
initial_movement: plan
|
|
12
11
|
movements:
|
|
@@ -65,8 +64,10 @@ movements:
|
|
|
65
64
|
interactive_only: true
|
|
66
65
|
output_contracts:
|
|
67
66
|
report:
|
|
68
|
-
-
|
|
69
|
-
|
|
67
|
+
- name: coder-scope.md
|
|
68
|
+
format: coder-scope
|
|
69
|
+
- name: coder-decisions.md
|
|
70
|
+
format: coder-decisions
|
|
70
71
|
- name: ai_review
|
|
71
72
|
edit: false
|
|
72
73
|
persona: ai-antipattern-reviewer
|
|
@@ -111,6 +112,7 @@ movements:
|
|
|
111
112
|
- WebSearch
|
|
112
113
|
- WebFetch
|
|
113
114
|
instruction: ai-fix
|
|
115
|
+
pass_previous_response: false
|
|
114
116
|
rules:
|
|
115
117
|
- condition: AI Reviewer's issues have been fixed
|
|
116
118
|
next: ai_review
|
|
@@ -220,6 +222,7 @@ movements:
|
|
|
220
222
|
- WebSearch
|
|
221
223
|
- WebFetch
|
|
222
224
|
required_permission_mode: edit
|
|
225
|
+
pass_previous_response: false
|
|
223
226
|
rules:
|
|
224
227
|
- condition: Fix complete
|
|
225
228
|
next: reviewers
|
|
@@ -237,6 +240,7 @@ movements:
|
|
|
237
240
|
- WebSearch
|
|
238
241
|
- WebFetch
|
|
239
242
|
instruction: supervise
|
|
243
|
+
pass_previous_response: false
|
|
240
244
|
rules:
|
|
241
245
|
- condition: All validations pass and ready to merge
|
|
242
246
|
next: COMPLETE
|
|
@@ -244,8 +248,11 @@ movements:
|
|
|
244
248
|
next: fix_supervisor
|
|
245
249
|
output_contracts:
|
|
246
250
|
report:
|
|
247
|
-
-
|
|
248
|
-
|
|
251
|
+
- name: supervisor-validation.md
|
|
252
|
+
format: supervisor-validation
|
|
253
|
+
- name: summary.md
|
|
254
|
+
format: summary
|
|
255
|
+
use_judge: false
|
|
249
256
|
- name: fix_supervisor
|
|
250
257
|
edit: true
|
|
251
258
|
persona: coder
|
|
@@ -267,6 +274,7 @@ movements:
|
|
|
267
274
|
- WebSearch
|
|
268
275
|
- WebFetch
|
|
269
276
|
instruction: fix-supervisor
|
|
277
|
+
pass_previous_response: false
|
|
270
278
|
rules:
|
|
271
279
|
- condition: Supervisor's issues have been fixed
|
|
272
280
|
next: supervise
|