takt 0.10.0 → 0.11.1

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.
Files changed (224) hide show
  1. package/README.md +1 -0
  2. package/builtins/en/instructions/ai-fix.md +1 -0
  3. package/builtins/en/instructions/fix-supervisor.md +1 -0
  4. package/builtins/en/instructions/fix.md +2 -1
  5. package/builtins/en/instructions/implement-e2e-test.md +51 -0
  6. package/builtins/en/instructions/implement.md +1 -0
  7. package/builtins/en/instructions/plan-e2e-test.md +11 -0
  8. package/builtins/en/piece-categories.yaml +3 -0
  9. package/builtins/en/pieces/coding.yaml +0 -22
  10. package/builtins/en/pieces/compound-eye.yaml +0 -5
  11. package/builtins/en/pieces/default.yaml +0 -33
  12. package/builtins/en/pieces/e2e-test.yaml +236 -0
  13. package/builtins/en/pieces/expert-cqrs.yaml +4 -44
  14. package/builtins/en/pieces/expert.yaml +4 -42
  15. package/builtins/en/pieces/magi.yaml +0 -4
  16. package/builtins/en/pieces/minimal.yaml +0 -17
  17. package/builtins/en/pieces/passthrough.yaml +0 -5
  18. package/builtins/en/pieces/research.yaml +0 -4
  19. package/builtins/en/pieces/review-fix-minimal.yaml +0 -17
  20. package/builtins/en/pieces/review-only.yaml +0 -22
  21. package/builtins/en/pieces/structural-reform.yaml +0 -25
  22. package/builtins/en/pieces/unit-test.yaml +0 -31
  23. package/builtins/en/policies/review.md +30 -0
  24. package/builtins/ja/instructions/ai-fix.md +1 -0
  25. package/builtins/ja/instructions/fix-supervisor.md +1 -0
  26. package/builtins/ja/instructions/fix.md +2 -1
  27. package/builtins/ja/instructions/implement-e2e-test.md +51 -0
  28. package/builtins/ja/instructions/implement.md +1 -0
  29. package/builtins/ja/instructions/plan-e2e-test.md +11 -0
  30. package/builtins/ja/piece-categories.yaml +3 -0
  31. package/builtins/ja/pieces/coding.yaml +0 -22
  32. package/builtins/ja/pieces/compound-eye.yaml +0 -5
  33. package/builtins/ja/pieces/default.yaml +0 -33
  34. package/builtins/ja/pieces/e2e-test.yaml +236 -0
  35. package/builtins/ja/pieces/expert-cqrs.yaml +4 -44
  36. package/builtins/ja/pieces/expert.yaml +4 -42
  37. package/builtins/ja/pieces/magi.yaml +0 -4
  38. package/builtins/ja/pieces/minimal.yaml +0 -17
  39. package/builtins/ja/pieces/passthrough.yaml +0 -5
  40. package/builtins/ja/pieces/research.yaml +0 -4
  41. package/builtins/ja/pieces/review-fix-minimal.yaml +0 -17
  42. package/builtins/ja/pieces/review-only.yaml +0 -22
  43. package/builtins/ja/pieces/structural-reform.yaml +0 -25
  44. package/builtins/ja/pieces/unit-test.yaml +0 -31
  45. package/builtins/ja/policies/review.md +30 -0
  46. package/builtins/skill/references/yaml-schema.md +2 -2
  47. package/dist/agents/ai-judge.d.ts +23 -0
  48. package/dist/agents/ai-judge.d.ts.map +1 -0
  49. package/dist/agents/ai-judge.js +51 -0
  50. package/dist/agents/ai-judge.js.map +1 -0
  51. package/dist/agents/index.d.ts +1 -0
  52. package/dist/agents/index.d.ts.map +1 -1
  53. package/dist/agents/index.js +1 -0
  54. package/dist/agents/index.js.map +1 -1
  55. package/dist/core/models/schemas.d.ts +2 -1
  56. package/dist/core/models/schemas.d.ts.map +1 -1
  57. package/dist/core/models/schemas.js +1 -0
  58. package/dist/core/models/schemas.js.map +1 -1
  59. package/dist/core/models/status.d.ts +1 -1
  60. package/dist/core/models/status.d.ts.map +1 -1
  61. package/dist/core/piece/engine/ParallelRunner.js +5 -5
  62. package/dist/core/piece/engine/ParallelRunner.js.map +1 -1
  63. package/dist/core/piece/engine/PieceEngine.d.ts.map +1 -1
  64. package/dist/core/piece/engine/PieceEngine.js +6 -0
  65. package/dist/core/piece/engine/PieceEngine.js.map +1 -1
  66. package/dist/features/config/resetCategories.d.ts +1 -1
  67. package/dist/features/config/resetCategories.d.ts.map +1 -1
  68. package/dist/features/config/resetCategories.js +3 -5
  69. package/dist/features/config/resetCategories.js.map +1 -1
  70. package/dist/features/config/switchPiece.js +1 -1
  71. package/dist/features/config/switchPiece.js.map +1 -1
  72. package/dist/features/interactive/conversationLoop.js +2 -2
  73. package/dist/features/interactive/conversationLoop.js.map +1 -1
  74. package/dist/features/tasks/add/index.d.ts +6 -3
  75. package/dist/features/tasks/add/index.d.ts.map +1 -1
  76. package/dist/features/tasks/add/index.js +15 -38
  77. package/dist/features/tasks/add/index.js.map +1 -1
  78. package/dist/features/tasks/execute/parallelExecution.d.ts.map +1 -1
  79. package/dist/features/tasks/execute/parallelExecution.js +23 -7
  80. package/dist/features/tasks/execute/parallelExecution.js.map +1 -1
  81. package/dist/features/tasks/execute/pieceExecution.d.ts.map +1 -1
  82. package/dist/features/tasks/execute/pieceExecution.js +4 -1
  83. package/dist/features/tasks/execute/pieceExecution.js.map +1 -1
  84. package/dist/features/tasks/execute/resolveTask.d.ts +1 -1
  85. package/dist/features/tasks/execute/resolveTask.d.ts.map +1 -1
  86. package/dist/features/tasks/execute/resolveTask.js +10 -1
  87. package/dist/features/tasks/execute/resolveTask.js.map +1 -1
  88. package/dist/features/tasks/execute/selectAndExecute.js +1 -1
  89. package/dist/features/tasks/execute/selectAndExecute.js.map +1 -1
  90. package/dist/features/tasks/execute/taskExecution.d.ts.map +1 -1
  91. package/dist/features/tasks/execute/taskExecution.js +27 -15
  92. package/dist/features/tasks/execute/taskExecution.js.map +1 -1
  93. package/dist/features/tasks/execute/types.d.ts +2 -0
  94. package/dist/features/tasks/execute/types.d.ts.map +1 -1
  95. package/dist/features/tasks/list/index.d.ts.map +1 -1
  96. package/dist/features/tasks/list/index.js +5 -4
  97. package/dist/features/tasks/list/index.js.map +1 -1
  98. package/dist/features/tasks/list/listNonInteractive.d.ts.map +1 -1
  99. package/dist/features/tasks/list/listNonInteractive.js +3 -2
  100. package/dist/features/tasks/list/listNonInteractive.js.map +1 -1
  101. package/dist/features/tasks/list/taskActions.d.ts.map +1 -1
  102. package/dist/features/tasks/list/taskActions.js +39 -15
  103. package/dist/features/tasks/list/taskActions.js.map +1 -1
  104. package/dist/features/tasks/list/taskDeleteActions.d.ts +1 -1
  105. package/dist/features/tasks/list/taskDeleteActions.d.ts.map +1 -1
  106. package/dist/features/tasks/list/taskDeleteActions.js +11 -5
  107. package/dist/features/tasks/list/taskDeleteActions.js.map +1 -1
  108. package/dist/features/tasks/list/taskRetryActions.d.ts +0 -1
  109. package/dist/features/tasks/list/taskRetryActions.d.ts.map +1 -1
  110. package/dist/features/tasks/list/taskRetryActions.js +15 -137
  111. package/dist/features/tasks/list/taskRetryActions.js.map +1 -1
  112. package/dist/features/tasks/list/taskStatusLabel.d.ts +3 -0
  113. package/dist/features/tasks/list/taskStatusLabel.d.ts.map +1 -0
  114. package/dist/features/tasks/list/taskStatusLabel.js +8 -0
  115. package/dist/features/tasks/list/taskStatusLabel.js.map +1 -0
  116. package/dist/features/tasks/watch/index.d.ts +1 -1
  117. package/dist/features/tasks/watch/index.d.ts.map +1 -1
  118. package/dist/features/tasks/watch/index.js +5 -1
  119. package/dist/features/tasks/watch/index.js.map +1 -1
  120. package/dist/index.d.ts +1 -1
  121. package/dist/index.d.ts.map +1 -1
  122. package/dist/index.js +1 -1
  123. package/dist/index.js.map +1 -1
  124. package/dist/infra/claude/client.d.ts +0 -34
  125. package/dist/infra/claude/client.d.ts.map +1 -1
  126. package/dist/infra/claude/client.js +2 -52
  127. package/dist/infra/claude/client.js.map +1 -1
  128. package/dist/infra/claude/index.d.ts +1 -1
  129. package/dist/infra/claude/index.d.ts.map +1 -1
  130. package/dist/infra/claude/index.js +1 -1
  131. package/dist/infra/claude/index.js.map +1 -1
  132. package/dist/infra/codex/client.d.ts +2 -0
  133. package/dist/infra/codex/client.d.ts.map +1 -1
  134. package/dist/infra/codex/client.js +203 -140
  135. package/dist/infra/codex/client.js.map +1 -1
  136. package/dist/infra/config/global/index.d.ts +1 -1
  137. package/dist/infra/config/global/index.d.ts.map +1 -1
  138. package/dist/infra/config/global/index.js +1 -1
  139. package/dist/infra/config/global/index.js.map +1 -1
  140. package/dist/infra/config/global/pieceCategories.d.ts +3 -10
  141. package/dist/infra/config/global/pieceCategories.d.ts.map +1 -1
  142. package/dist/infra/config/global/pieceCategories.js +9 -37
  143. package/dist/infra/config/global/pieceCategories.js.map +1 -1
  144. package/dist/infra/config/loaders/pieceCategories.d.ts +8 -6
  145. package/dist/infra/config/loaders/pieceCategories.d.ts.map +1 -1
  146. package/dist/infra/config/loaders/pieceCategories.js +116 -32
  147. package/dist/infra/config/loaders/pieceCategories.js.map +1 -1
  148. package/dist/infra/config/loaders/pieceParser.d.ts.map +1 -1
  149. package/dist/infra/config/loaders/pieceParser.js +11 -7
  150. package/dist/infra/config/loaders/pieceParser.js.map +1 -1
  151. package/dist/infra/config/loaders/resource-resolver.d.ts +1 -1
  152. package/dist/infra/config/loaders/resource-resolver.d.ts.map +1 -1
  153. package/dist/infra/config/loaders/resource-resolver.js +1 -1
  154. package/dist/infra/config/loaders/resource-resolver.js.map +1 -1
  155. package/dist/infra/mock/scenario.js +1 -1
  156. package/dist/infra/mock/scenario.js.map +1 -1
  157. package/dist/infra/mock/types.d.ts +2 -2
  158. package/dist/infra/mock/types.d.ts.map +1 -1
  159. package/dist/infra/providers/codex.js +4 -4
  160. package/dist/infra/providers/codex.js.map +1 -1
  161. package/dist/infra/task/branchBaseCandidateResolver.d.ts +4 -0
  162. package/dist/infra/task/branchBaseCandidateResolver.d.ts.map +1 -0
  163. package/dist/infra/task/branchBaseCandidateResolver.js +102 -0
  164. package/dist/infra/task/branchBaseCandidateResolver.js.map +1 -0
  165. package/dist/infra/task/branchBaseRefCache.d.ts +7 -0
  166. package/dist/infra/task/branchBaseRefCache.d.ts.map +1 -0
  167. package/dist/infra/task/branchBaseRefCache.js +44 -0
  168. package/dist/infra/task/branchBaseRefCache.js.map +1 -0
  169. package/dist/infra/task/branchEntryPointResolver.d.ts +7 -0
  170. package/dist/infra/task/branchEntryPointResolver.d.ts.map +1 -0
  171. package/dist/infra/task/branchEntryPointResolver.js +24 -0
  172. package/dist/infra/task/branchEntryPointResolver.js.map +1 -0
  173. package/dist/infra/task/branchGitCommands.d.ts +3 -0
  174. package/dist/infra/task/branchGitCommands.d.ts.map +1 -0
  175. package/dist/infra/task/branchGitCommands.js +22 -0
  176. package/dist/infra/task/branchGitCommands.js.map +1 -0
  177. package/dist/infra/task/branchGitResolver.d.ts +15 -0
  178. package/dist/infra/task/branchGitResolver.d.ts.map +1 -0
  179. package/dist/infra/task/branchGitResolver.js +63 -0
  180. package/dist/infra/task/branchGitResolver.js.map +1 -0
  181. package/dist/infra/task/branchList.d.ts +4 -3
  182. package/dist/infra/task/branchList.d.ts.map +1 -1
  183. package/dist/infra/task/branchList.js +68 -19
  184. package/dist/infra/task/branchList.js.map +1 -1
  185. package/dist/infra/task/display.d.ts.map +1 -1
  186. package/dist/infra/task/display.js +2 -3
  187. package/dist/infra/task/display.js.map +1 -1
  188. package/dist/infra/task/index.d.ts +1 -2
  189. package/dist/infra/task/index.d.ts.map +1 -1
  190. package/dist/infra/task/index.js +1 -2
  191. package/dist/infra/task/index.js.map +1 -1
  192. package/dist/infra/task/mapper.d.ts +8 -0
  193. package/dist/infra/task/mapper.d.ts.map +1 -0
  194. package/dist/infra/task/mapper.js +72 -0
  195. package/dist/infra/task/mapper.js.map +1 -0
  196. package/dist/infra/task/naming.d.ts +4 -0
  197. package/dist/infra/task/naming.d.ts.map +1 -0
  198. package/dist/infra/task/naming.js +19 -0
  199. package/dist/infra/task/naming.js.map +1 -0
  200. package/dist/infra/task/runner.d.ts +15 -93
  201. package/dist/infra/task/runner.d.ts.map +1 -1
  202. package/dist/infra/task/runner.js +198 -307
  203. package/dist/infra/task/runner.js.map +1 -1
  204. package/dist/infra/task/schema.d.ts +87 -20
  205. package/dist/infra/task/schema.d.ts.map +1 -1
  206. package/dist/infra/task/schema.js +153 -22
  207. package/dist/infra/task/schema.js.map +1 -1
  208. package/dist/infra/task/store.d.ts +21 -0
  209. package/dist/infra/task/store.d.ts.map +1 -0
  210. package/dist/infra/task/store.js +167 -0
  211. package/dist/infra/task/store.js.map +1 -0
  212. package/dist/infra/task/types.d.ts +6 -1
  213. package/dist/infra/task/types.d.ts.map +1 -1
  214. package/dist/infra/task/watcher.d.ts +1 -1
  215. package/dist/infra/task/watcher.d.ts.map +1 -1
  216. package/dist/infra/task/watcher.js +3 -2
  217. package/dist/infra/task/watcher.js.map +1 -1
  218. package/dist/shared/prompts/en/score_summary_system_prompt.md +6 -1
  219. package/dist/shared/prompts/ja/score_summary_system_prompt.md +6 -1
  220. package/package.json +1 -1
  221. package/dist/infra/task/parser.d.ts +0 -33
  222. package/dist/infra/task/parser.d.ts.map +0 -1
  223. package/dist/infra/task/parser.js +0 -86
  224. package/dist/infra/task/parser.js.map +0 -1
package/README.md CHANGED
@@ -465,6 +465,7 @@ TAKT includes multiple builtin pieces:
465
465
  | `review-only` | Read-only code review piece that makes no changes. |
466
466
  | `structural-reform` | Full project review and structural reform: iterative codebase restructuring with staged file splits. |
467
467
  | `unit-test` | Unit test focused piece: test analysis → test implementation → review → fix. |
468
+ | `e2e-test` | E2E test focused piece: E2E analysis → E2E implementation → review → fix (Vitest-based E2E flow). |
468
469
 
469
470
  **Per-persona provider overrides:** Use `persona_providers` in config to route specific personas to different providers (e.g., coder on Codex, reviewers on Claude) without duplicating pieces.
470
471
 
@@ -1,4 +1,5 @@
1
1
  **This is AI Review iteration #{movement_iteration}.**
2
+ Use reports in the Report Directory as the primary source of truth. If additional context is needed, you may consult Previous Response and conversation history as secondary sources (Previous Response may be unavailable). If information conflicts, prioritize reports in the Report Directory and actual file contents.
2
3
 
3
4
  From the 2nd iteration onward, it means the previous fixes were not actually applied.
4
5
  **Your belief that they were "already fixed" is incorrect.**
@@ -1,4 +1,5 @@
1
1
  Fix the issues raised by the supervisor.
2
+ Use reports in the Report Directory as the primary source of truth. If additional context is needed, you may consult Previous Response and conversation history as secondary sources (Previous Response may be unavailable). If information conflicts, prioritize reports in the Report Directory and actual file contents.
2
3
 
3
4
  The supervisor has flagged problems from an overall perspective.
4
5
  Address items in order of priority, starting with the highest.
@@ -1,5 +1,6 @@
1
1
  Address the reviewer's feedback.
2
- Review the session conversation history and fix the issues raised by the reviewer.
2
+ Use reports in the Report Directory shown in the Piece Context and fix the issues raised by the reviewer.
3
+ Use files in the Report Directory as primary evidence. If additional context is needed, you may consult Previous Response and conversation history as secondary sources (Previous Response may be unavailable). If information conflicts, prioritize reports in the Report Directory and actual file contents.
3
4
 
4
5
  **Required output (include headings)**
5
6
  ## Work results
@@ -0,0 +1,51 @@
1
+ Implement E2E tests according to the test plan.
2
+ Refer only to files within the Report Directory shown in the Piece Context. Do not search or reference other report directories.
3
+
4
+ **Actions:**
5
+ 1. Review the test plan report
6
+ 2. Implement or update tests following existing E2E layout (e.g., `e2e/specs/`)
7
+ 3. Run E2E tests (minimum: `npm run test:e2e:mock`, and targeted spec runs when needed)
8
+ 4. If tests fail, analyze root cause, fix test or code, and rerun
9
+ 5. Confirm related existing tests are not broken
10
+
11
+ **Constraints:**
12
+ - Keep the current E2E framework (Vitest) unchanged
13
+ - Keep one scenario per test and make assertions explicit
14
+ - Reuse existing fixtures/helpers/mock strategy for external dependencies
15
+
16
+ **Scope output contract (create at the start of implementation):**
17
+ ```markdown
18
+ # Change Scope Declaration
19
+
20
+ ## Task
21
+ {One-line task summary}
22
+
23
+ ## Planned changes
24
+ | Type | File |
25
+ |------|------|
26
+ | Create | `e2e/specs/example.e2e.ts` |
27
+
28
+ ## Estimated size
29
+ Small / Medium / Large
30
+
31
+ ## Impact area
32
+ - {Affected modules or features}
33
+ ```
34
+
35
+ **Decisions output contract (at implementation completion, only if decisions were made):**
36
+ ```markdown
37
+ # Decision Log
38
+
39
+ ## 1. {Decision}
40
+ - **Context**: {Why the decision was needed}
41
+ - **Options considered**: {List of options}
42
+ - **Rationale**: {Reason for the choice}
43
+ ```
44
+
45
+ **Required output (include headings)**
46
+ ## Work results
47
+ - {Summary of actions taken}
48
+ ## Changes made
49
+ - {Summary of changes}
50
+ ## Test results
51
+ - {Command executed and results}
@@ -1,5 +1,6 @@
1
1
  Implement according to the plan.
2
2
  Refer only to files within the Report Directory shown in the Piece Context. Do not search or reference other report directories.
3
+ Use reports in the Report Directory as the primary source of truth. If additional context is needed, you may consult Previous Response and conversation history as secondary sources (Previous Response may be unavailable). If information conflicts, prioritize reports in the Report Directory and actual file contents.
3
4
 
4
5
  **Important**: Add unit tests alongside the implementation.
5
6
  - Add unit tests for newly created classes and functions
@@ -0,0 +1,11 @@
1
+ Analyze the target code and identify missing E2E tests.
2
+
3
+ **Note:** If a Previous Response exists, this is a replan due to rejection.
4
+ Revise the test plan taking that feedback into account.
5
+
6
+ **Actions:**
7
+ 1. Read target features, implementation, and existing E2E specs (`e2e/specs/**/*.e2e.ts`) to understand behavior
8
+ 2. Summarize current E2E coverage (happy path, failure path, regression points)
9
+ 3. Identify missing E2E scenarios with expected outcomes and observability points
10
+ 4. Specify execution commands (`npm run test:e2e:mock` and, when needed, `npx vitest run e2e/specs/<target>.e2e.ts`)
11
+ 5. Provide concrete guidance for failure analysis → fix → rerun workflow
@@ -10,7 +10,10 @@ piece_categories:
10
10
  pieces:
11
11
  - review-fix-minimal
12
12
  - review-only
13
+ 🧪 Testing:
14
+ pieces:
13
15
  - unit-test
16
+ - e2e-test
14
17
  🎨 Frontend: {}
15
18
  ⚙️ Backend: {}
16
19
  🔧 Expert:
@@ -1,24 +1,6 @@
1
1
  name: coding
2
2
  description: Lightweight development piece with planning and parallel reviews (plan -> implement -> parallel review -> complete)
3
3
  max_iterations: 20
4
- policies:
5
- coding: ../policies/coding.md
6
- review: ../policies/review.md
7
- testing: ../policies/testing.md
8
- ai-antipattern: ../policies/ai-antipattern.md
9
- knowledge:
10
- architecture: ../knowledge/architecture.md
11
- personas:
12
- planner: ../personas/planner.md
13
- coder: ../personas/coder.md
14
- ai-antipattern-reviewer: ../personas/ai-antipattern-reviewer.md
15
- architecture-reviewer: ../personas/architecture-reviewer.md
16
- instructions:
17
- plan: ../instructions/plan.md
18
- implement: ../instructions/implement.md
19
- ai-review: ../instructions/ai-review.md
20
- review-arch: ../instructions/review-arch.md
21
- fix: ../instructions/fix.md
22
4
  initial_movement: plan
23
5
  movements:
24
6
  - name: plan
@@ -150,7 +132,3 @@ movements:
150
132
  - condition: Cannot determine, insufficient information
151
133
  next: ABORT
152
134
  instruction: fix
153
- report_formats:
154
- plan: ../output-contracts/plan.md
155
- ai-review: ../output-contracts/ai-review.md
156
- architecture-review: ../output-contracts/architecture-review.md
@@ -1,11 +1,6 @@
1
1
  name: compound-eye
2
2
  description: Multi-model review - send the same instruction to Claude and Codex simultaneously, synthesize both responses
3
3
  max_iterations: 10
4
- knowledge:
5
- architecture: ../knowledge/architecture.md
6
- personas:
7
- coder: ../personas/coder.md
8
- supervisor: ../personas/supervisor.md
9
4
  initial_movement: evaluate
10
5
  movements:
11
6
  - name: evaluate
@@ -1,32 +1,6 @@
1
1
  name: default
2
2
  description: Standard development piece with planning and specialized reviews
3
3
  max_iterations: 30
4
- policies:
5
- coding: ../policies/coding.md
6
- review: ../policies/review.md
7
- testing: ../policies/testing.md
8
- ai-antipattern: ../policies/ai-antipattern.md
9
- qa: ../policies/qa.md
10
- knowledge:
11
- backend: ../knowledge/backend.md
12
- architecture: ../knowledge/architecture.md
13
- personas:
14
- planner: ../personas/planner.md
15
- coder: ../personas/coder.md
16
- ai-antipattern-reviewer: ../personas/ai-antipattern-reviewer.md
17
- architecture-reviewer: ../personas/architecture-reviewer.md
18
- qa-reviewer: ../personas/qa-reviewer.md
19
- supervisor: ../personas/supervisor.md
20
- instructions:
21
- plan: ../instructions/plan.md
22
- implement: ../instructions/implement.md
23
- ai-review: ../instructions/ai-review.md
24
- ai-fix: ../instructions/ai-fix.md
25
- arbitrate: ../instructions/arbitrate.md
26
- review-arch: ../instructions/review-arch.md
27
- review-qa: ../instructions/review-qa.md
28
- fix: ../instructions/fix.md
29
- supervise: ../instructions/supervise.md
30
4
  initial_movement: plan
31
5
  loop_monitors:
32
6
  - cycle:
@@ -282,10 +256,3 @@ movements:
282
256
  report:
283
257
  - Validation: 07-supervisor-validation.md
284
258
  - Summary: summary.md
285
- report_formats:
286
- plan: ../output-contracts/plan.md
287
- ai-review: ../output-contracts/ai-review.md
288
- architecture-review: ../output-contracts/architecture-review.md
289
- qa-review: ../output-contracts/qa-review.md
290
- validation: ../output-contracts/validation.md
291
- summary: ../output-contracts/summary.md
@@ -0,0 +1,236 @@
1
+ name: e2e-test
2
+ description: E2E test focused piece (E2E analysis → E2E implementation → review → fix)
3
+ max_iterations: 20
4
+ initial_movement: plan_test
5
+ loop_monitors:
6
+ - cycle:
7
+ - ai_review
8
+ - ai_fix
9
+ threshold: 3
10
+ judge:
11
+ persona: supervisor
12
+ instruction_template: |
13
+ The ai_review ↔ ai_fix loop has repeated {cycle_count} times.
14
+
15
+ Review the reports from each cycle and determine whether this loop
16
+ is healthy (making progress) or unproductive (repeating the same issues).
17
+
18
+ **Reports to reference:**
19
+ - AI Review results: {report:04-ai-review.md}
20
+
21
+ **Judgment criteria:**
22
+ - Are new issues being found/fixed in each cycle?
23
+ - Are the same findings being repeated?
24
+ - Are fixes actually being applied?
25
+ rules:
26
+ - condition: Healthy (making progress)
27
+ next: ai_review
28
+ - condition: Unproductive (no improvement)
29
+ next: review_test
30
+ movements:
31
+ - name: plan_test
32
+ edit: false
33
+ persona: test-planner
34
+ policy: testing
35
+ knowledge:
36
+ - architecture
37
+ - backend
38
+ allowed_tools:
39
+ - Read
40
+ - Glob
41
+ - Grep
42
+ - Bash
43
+ - WebSearch
44
+ - WebFetch
45
+ rules:
46
+ - condition: Test plan complete
47
+ next: implement_test
48
+ - condition: User is asking a question (not an E2E test task)
49
+ next: COMPLETE
50
+ - condition: Requirements unclear, insufficient info
51
+ next: ABORT
52
+ appendix: |
53
+ Clarifications needed:
54
+ - {Question 1}
55
+ - {Question 2}
56
+ instruction: plan-e2e-test
57
+ output_contracts:
58
+ report:
59
+ - name: 00-test-plan.md
60
+ format: test-plan
61
+
62
+ - name: implement_test
63
+ edit: true
64
+ persona: coder
65
+ policy:
66
+ - coding
67
+ - testing
68
+ session: refresh
69
+ knowledge:
70
+ - backend
71
+ - architecture
72
+ allowed_tools:
73
+ - Read
74
+ - Glob
75
+ - Grep
76
+ - Edit
77
+ - Write
78
+ - Bash
79
+ - WebSearch
80
+ - WebFetch
81
+ permission_mode: edit
82
+ rules:
83
+ - condition: Test implementation complete
84
+ next: ai_review
85
+ - condition: No implementation (report only)
86
+ next: ai_review
87
+ - condition: Cannot proceed, insufficient info
88
+ next: ai_review
89
+ - condition: User input required
90
+ next: implement_test
91
+ requires_user_input: true
92
+ interactive_only: true
93
+ instruction: implement-e2e-test
94
+ output_contracts:
95
+ report:
96
+ - Scope: 02-coder-scope.md
97
+ - Decisions: 03-coder-decisions.md
98
+
99
+ - name: ai_review
100
+ edit: false
101
+ persona: ai-antipattern-reviewer
102
+ policy:
103
+ - review
104
+ - ai-antipattern
105
+ allowed_tools:
106
+ - Read
107
+ - Glob
108
+ - Grep
109
+ - WebSearch
110
+ - WebFetch
111
+ rules:
112
+ - condition: No AI-specific issues
113
+ next: review_test
114
+ - condition: AI-specific issues found
115
+ next: ai_fix
116
+ instruction: ai-review
117
+ output_contracts:
118
+ report:
119
+ - name: 04-ai-review.md
120
+ format: ai-review
121
+
122
+ - name: ai_fix
123
+ edit: true
124
+ persona: coder
125
+ policy:
126
+ - coding
127
+ - testing
128
+ session: refresh
129
+ knowledge:
130
+ - backend
131
+ - architecture
132
+ allowed_tools:
133
+ - Read
134
+ - Glob
135
+ - Grep
136
+ - Edit
137
+ - Write
138
+ - Bash
139
+ - WebSearch
140
+ - WebFetch
141
+ permission_mode: edit
142
+ rules:
143
+ - condition: AI issues fixed
144
+ next: ai_review
145
+ - condition: No fix needed (verified target files/spec)
146
+ next: ai_no_fix
147
+ - condition: Cannot proceed, insufficient info
148
+ next: ai_no_fix
149
+ instruction: ai-fix
150
+
151
+ - name: ai_no_fix
152
+ edit: false
153
+ persona: architecture-reviewer
154
+ policy: review
155
+ allowed_tools:
156
+ - Read
157
+ - Glob
158
+ - Grep
159
+ rules:
160
+ - condition: ai_review's findings are valid (fix required)
161
+ next: ai_fix
162
+ - condition: ai_fix's judgment is valid (no fix needed)
163
+ next: review_test
164
+ instruction: arbitrate
165
+
166
+ - name: review_test
167
+ edit: false
168
+ persona: qa-reviewer
169
+ policy:
170
+ - review
171
+ - qa
172
+ allowed_tools:
173
+ - Read
174
+ - Glob
175
+ - Grep
176
+ - WebSearch
177
+ - WebFetch
178
+ rules:
179
+ - condition: approved
180
+ next: supervise
181
+ - condition: needs_fix
182
+ next: fix
183
+ instruction: review-test
184
+ output_contracts:
185
+ report:
186
+ - name: 05-qa-review.md
187
+ format: qa-review
188
+
189
+ - name: fix
190
+ edit: true
191
+ persona: coder
192
+ policy:
193
+ - coding
194
+ - testing
195
+ session: refresh
196
+ knowledge:
197
+ - backend
198
+ - architecture
199
+ allowed_tools:
200
+ - Read
201
+ - Glob
202
+ - Grep
203
+ - Edit
204
+ - Write
205
+ - Bash
206
+ - WebSearch
207
+ - WebFetch
208
+ permission_mode: edit
209
+ rules:
210
+ - condition: Fix complete
211
+ next: review_test
212
+ - condition: Cannot proceed, insufficient info
213
+ next: plan_test
214
+ instruction: fix
215
+
216
+ - name: supervise
217
+ edit: false
218
+ persona: supervisor
219
+ policy: review
220
+ allowed_tools:
221
+ - Read
222
+ - Glob
223
+ - Grep
224
+ - Bash
225
+ - WebSearch
226
+ - WebFetch
227
+ rules:
228
+ - condition: All checks passed
229
+ next: COMPLETE
230
+ - condition: Requirements unmet, tests failing, build errors
231
+ next: plan_test
232
+ instruction: supervise
233
+ output_contracts:
234
+ report:
235
+ - Validation: 06-supervisor-validation.md
236
+ - Summary: summary.md
@@ -1,41 +1,6 @@
1
1
  name: expert-cqrs
2
2
  description: CQRS+ES, Frontend, Security, QA Expert Review
3
3
  max_iterations: 30
4
- policies:
5
- coding: ../policies/coding.md
6
- review: ../policies/review.md
7
- testing: ../policies/testing.md
8
- ai-antipattern: ../policies/ai-antipattern.md
9
- qa: ../policies/qa.md
10
- knowledge:
11
- frontend: ../knowledge/frontend.md
12
- backend: ../knowledge/backend.md
13
- cqrs-es: ../knowledge/cqrs-es.md
14
- security: ../knowledge/security.md
15
- architecture: ../knowledge/architecture.md
16
- personas:
17
- planner: ../personas/planner.md
18
- coder: ../personas/coder.md
19
- ai-antipattern-reviewer: ../personas/ai-antipattern-reviewer.md
20
- architecture-reviewer: ../personas/architecture-reviewer.md
21
- cqrs-es-reviewer: ../personas/cqrs-es-reviewer.md
22
- frontend-reviewer: ../personas/frontend-reviewer.md
23
- security-reviewer: ../personas/security-reviewer.md
24
- qa-reviewer: ../personas/qa-reviewer.md
25
- expert-supervisor: ../personas/expert-supervisor.md
26
- instructions:
27
- plan: ../instructions/plan.md
28
- implement: ../instructions/implement.md
29
- ai-review: ../instructions/ai-review.md
30
- ai-fix: ../instructions/ai-fix.md
31
- arbitrate: ../instructions/arbitrate.md
32
- review-cqrs-es: ../instructions/review-cqrs-es.md
33
- review-frontend: ../instructions/review-frontend.md
34
- review-security: ../instructions/review-security.md
35
- review-qa: ../instructions/review-qa.md
36
- fix: ../instructions/fix.md
37
- supervise: ../instructions/supervise.md
38
- fix-supervisor: ../instructions/fix-supervisor.md
39
4
  initial_movement: plan
40
5
  movements:
41
6
  - name: plan
@@ -61,6 +26,7 @@ movements:
61
26
  - name: implement
62
27
  edit: true
63
28
  persona: coder
29
+ pass_previous_response: false
64
30
  policy:
65
31
  - coding
66
32
  - testing
@@ -121,6 +87,7 @@ movements:
121
87
  - name: ai_fix
122
88
  edit: true
123
89
  persona: coder
90
+ pass_previous_response: false
124
91
  policy:
125
92
  - coding
126
93
  - testing
@@ -251,6 +218,7 @@ movements:
251
218
  - name: fix
252
219
  edit: true
253
220
  persona: coder
221
+ pass_previous_response: false
254
222
  policy:
255
223
  - coding
256
224
  - testing
@@ -299,6 +267,7 @@ movements:
299
267
  - name: fix_supervisor
300
268
  edit: true
301
269
  persona: coder
270
+ pass_previous_response: false
302
271
  policy:
303
272
  - coding
304
273
  - testing
@@ -323,12 +292,3 @@ movements:
323
292
  next: supervise
324
293
  - condition: Unable to proceed with fixes
325
294
  next: plan
326
- report_formats:
327
- plan: ../output-contracts/plan.md
328
- ai-review: ../output-contracts/ai-review.md
329
- cqrs-es-review: ../output-contracts/cqrs-es-review.md
330
- frontend-review: ../output-contracts/frontend-review.md
331
- security-review: ../output-contracts/security-review.md
332
- qa-review: ../output-contracts/qa-review.md
333
- validation: ../output-contracts/validation.md
334
- summary: ../output-contracts/summary.md
@@ -1,39 +1,6 @@
1
1
  name: expert
2
2
  description: Architecture, Frontend, Security, QA Expert Review
3
3
  max_iterations: 30
4
- policies:
5
- coding: ../policies/coding.md
6
- review: ../policies/review.md
7
- testing: ../policies/testing.md
8
- ai-antipattern: ../policies/ai-antipattern.md
9
- qa: ../policies/qa.md
10
- knowledge:
11
- frontend: ../knowledge/frontend.md
12
- backend: ../knowledge/backend.md
13
- security: ../knowledge/security.md
14
- architecture: ../knowledge/architecture.md
15
- personas:
16
- planner: ../personas/planner.md
17
- coder: ../personas/coder.md
18
- ai-antipattern-reviewer: ../personas/ai-antipattern-reviewer.md
19
- architecture-reviewer: ../personas/architecture-reviewer.md
20
- frontend-reviewer: ../personas/frontend-reviewer.md
21
- security-reviewer: ../personas/security-reviewer.md
22
- qa-reviewer: ../personas/qa-reviewer.md
23
- expert-supervisor: ../personas/expert-supervisor.md
24
- instructions:
25
- plan: ../instructions/plan.md
26
- implement: ../instructions/implement.md
27
- ai-review: ../instructions/ai-review.md
28
- ai-fix: ../instructions/ai-fix.md
29
- arbitrate: ../instructions/arbitrate.md
30
- review-arch: ../instructions/review-arch.md
31
- review-frontend: ../instructions/review-frontend.md
32
- review-security: ../instructions/review-security.md
33
- review-qa: ../instructions/review-qa.md
34
- fix: ../instructions/fix.md
35
- supervise: ../instructions/supervise.md
36
- fix-supervisor: ../instructions/fix-supervisor.md
37
4
  initial_movement: plan
38
5
  movements:
39
6
  - name: plan
@@ -59,6 +26,7 @@ movements:
59
26
  - name: implement
60
27
  edit: true
61
28
  persona: coder
29
+ pass_previous_response: false
62
30
  policy:
63
31
  - coding
64
32
  - testing
@@ -118,6 +86,7 @@ movements:
118
86
  - name: ai_fix
119
87
  edit: true
120
88
  persona: coder
89
+ pass_previous_response: false
121
90
  policy:
122
91
  - coding
123
92
  - testing
@@ -247,6 +216,7 @@ movements:
247
216
  - name: fix
248
217
  edit: true
249
218
  persona: coder
219
+ pass_previous_response: false
250
220
  policy:
251
221
  - coding
252
222
  - testing
@@ -294,6 +264,7 @@ movements:
294
264
  - name: fix_supervisor
295
265
  edit: true
296
266
  persona: coder
267
+ pass_previous_response: false
297
268
  policy:
298
269
  - coding
299
270
  - testing
@@ -317,12 +288,3 @@ movements:
317
288
  next: supervise
318
289
  - condition: Unable to proceed with fixes
319
290
  next: plan
320
- report_formats:
321
- plan: ../output-contracts/plan.md
322
- ai-review: ../output-contracts/ai-review.md
323
- architecture-review: ../output-contracts/architecture-review.md
324
- frontend-review: ../output-contracts/frontend-review.md
325
- security-review: ../output-contracts/security-review.md
326
- qa-review: ../output-contracts/qa-review.md
327
- validation: ../output-contracts/validation.md
328
- summary: ../output-contracts/summary.md
@@ -1,10 +1,6 @@
1
1
  name: magi
2
2
  description: MAGI Deliberation System - Analyze from 3 perspectives and decide by majority
3
3
  max_iterations: 5
4
- personas:
5
- melchior: ../personas/melchior.md
6
- balthasar: ../personas/balthasar.md
7
- casper: ../personas/casper.md
8
4
  initial_movement: melchior
9
5
  movements:
10
6
  - name: melchior
@@ -1,21 +1,6 @@
1
1
  name: minimal
2
2
  description: Minimal development piece (implement -> parallel review -> fix if needed -> complete)
3
3
  max_iterations: 20
4
- policies:
5
- coding: ../policies/coding.md
6
- review: ../policies/review.md
7
- testing: ../policies/testing.md
8
- ai-antipattern: ../policies/ai-antipattern.md
9
- personas:
10
- coder: ../personas/coder.md
11
- ai-antipattern-reviewer: ../personas/ai-antipattern-reviewer.md
12
- supervisor: ../personas/supervisor.md
13
- instructions:
14
- implement: ../instructions/implement.md
15
- review-ai: ../instructions/review-ai.md
16
- ai-fix: ../instructions/ai-fix.md
17
- supervise: ../instructions/supervise.md
18
- fix-supervisor: ../instructions/fix-supervisor.md
19
4
  initial_movement: implement
20
5
  movements:
21
6
  - name: implement
@@ -190,5 +175,3 @@ movements:
190
175
  - condition: Cannot proceed, insufficient info
191
176
  next: implement
192
177
  instruction: fix-supervisor
193
- report_formats:
194
- ai-review: ../output-contracts/ai-review.md
@@ -1,11 +1,6 @@
1
1
  name: passthrough
2
2
  description: Single-agent thin wrapper. Pass task directly to coder as-is.
3
3
  max_iterations: 10
4
- policies:
5
- coding: ../policies/coding.md
6
- testing: ../policies/testing.md
7
- personas:
8
- coder: ../personas/coder.md
9
4
  initial_movement: execute
10
5
  movements:
11
6
  - name: execute
@@ -1,10 +1,6 @@
1
1
  name: research
2
2
  description: Research piece - autonomously executes research without asking questions
3
3
  max_iterations: 10
4
- personas:
5
- research-planner: ../personas/research-planner.md
6
- research-digger: ../personas/research-digger.md
7
- research-supervisor: ../personas/research-supervisor.md
8
4
  initial_movement: plan
9
5
  movements:
10
6
  - name: plan