takt 0.47.0 → 0.48.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 +11 -0
- package/builtins/en/facets/instructions/fix-maintenance.md +1 -1
- package/builtins/en/facets/instructions/implement-maintenance.md +2 -2
- package/builtins/en/facets/instructions/plan-maintenance.md +3 -3
- package/builtins/en/facets/instructions/review-coding.md +6 -4
- package/builtins/en/facets/instructions/review-test.md +6 -1
- package/builtins/en/facets/knowledge/backend.md +2 -0
- package/builtins/en/facets/knowledge/cqrs-es.md +12 -0
- package/builtins/en/facets/knowledge/e2e-testing.md +13 -0
- package/builtins/en/facets/knowledge/existing-system.md +2 -2
- package/builtins/en/facets/knowledge/takt.md +11 -0
- package/builtins/en/facets/policies/existing-system-respect.md +17 -16
- package/builtins/en/facets/policies/testing.md +28 -0
- package/builtins/en/workflow-categories.yaml +1 -0
- package/builtins/en/workflows/backend-maintenance.yaml +540 -0
- package/builtins/en/workflows/draft.yaml +3 -1
- package/builtins/en/workflows/frontend-maintenance.yaml +1 -1
- package/builtins/en/workflows/frontend.yaml +1 -1
- package/builtins/ja/facets/instructions/fix-maintenance.md +1 -1
- package/builtins/ja/facets/instructions/implement-maintenance.md +2 -2
- package/builtins/ja/facets/instructions/plan-maintenance.md +3 -3
- package/builtins/ja/facets/instructions/review-coding.md +6 -4
- package/builtins/ja/facets/instructions/review-test.md +6 -1
- package/builtins/ja/facets/knowledge/backend.md +2 -0
- package/builtins/ja/facets/knowledge/cqrs-es.md +12 -0
- package/builtins/ja/facets/knowledge/e2e-testing.md +13 -0
- package/builtins/ja/facets/knowledge/existing-system.md +2 -2
- package/builtins/ja/facets/knowledge/takt.md +11 -0
- package/builtins/ja/facets/policies/existing-system-respect.md +17 -16
- package/builtins/ja/facets/policies/testing.md +28 -0
- package/builtins/ja/workflow-categories.yaml +1 -0
- package/builtins/ja/workflows/backend-maintenance.yaml +540 -0
- package/builtins/ja/workflows/draft.yaml +3 -1
- package/builtins/ja/workflows/frontend-maintenance.yaml +1 -1
- package/builtins/ja/workflows/frontend.yaml +1 -1
- package/dist/agents/decompose-task-usecase.d.ts +3 -1
- package/dist/agents/decompose-task-usecase.d.ts.map +1 -1
- package/dist/agents/decompose-task-usecase.js +2 -2
- package/dist/agents/decompose-task-usecase.js.map +1 -1
- package/dist/agents/runner.js +4 -4
- package/dist/agents/runner.js.map +1 -1
- package/dist/agents/structured-caller/capability-aware-structured-caller.d.ts +2 -2
- package/dist/agents/structured-caller/capability-aware-structured-caller.d.ts.map +1 -1
- package/dist/agents/structured-caller/capability-aware-structured-caller.js.map +1 -1
- package/dist/agents/structured-caller/contracts.d.ts +2 -2
- package/dist/agents/structured-caller/contracts.d.ts.map +1 -1
- package/dist/agents/structured-caller/default-structured-caller.d.ts +2 -2
- package/dist/agents/structured-caller/default-structured-caller.d.ts.map +1 -1
- package/dist/agents/structured-caller/default-structured-caller.js.map +1 -1
- package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts +2 -2
- package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts.map +1 -1
- package/dist/agents/structured-caller/prompt-based-structured-caller.js +2 -2
- package/dist/agents/structured-caller/prompt-based-structured-caller.js.map +1 -1
- package/dist/agents/team-leader-structured-output.d.ts +2 -2
- package/dist/agents/team-leader-structured-output.d.ts.map +1 -1
- package/dist/agents/team-leader-structured-output.js +42 -9
- package/dist/agents/team-leader-structured-output.js.map +1 -1
- package/dist/commands/repertoire/add.d.ts.map +1 -1
- package/dist/commands/repertoire/add.js +2 -3
- package/dist/commands/repertoire/add.js.map +1 -1
- package/dist/core/models/config-schemas.d.ts +26 -0
- package/dist/core/models/config-schemas.d.ts.map +1 -1
- package/dist/core/models/part.d.ts +7 -0
- package/dist/core/models/part.d.ts.map +1 -1
- package/dist/core/models/schema-base.d.ts +10 -0
- package/dist/core/models/schema-base.d.ts.map +1 -1
- package/dist/core/models/schema-base.js +2 -0
- package/dist/core/models/schema-base.js.map +1 -1
- package/dist/core/models/workflow-provider-options.d.ts +2 -0
- package/dist/core/models/workflow-provider-options.d.ts.map +1 -1
- package/dist/core/models/workflow-provider-options.js.map +1 -1
- package/dist/core/models/workflow-schemas.d.ts +66 -0
- package/dist/core/models/workflow-schemas.d.ts.map +1 -1
- package/dist/core/models/workflow-schemas.js +2 -0
- package/dist/core/models/workflow-schemas.js.map +1 -1
- package/dist/core/workflow/engine/TeamLeaderRunner.d.ts.map +1 -1
- package/dist/core/workflow/engine/TeamLeaderRunner.js +6 -6
- package/dist/core/workflow/engine/TeamLeaderRunner.js.map +1 -1
- package/dist/core/workflow/engine/engine-provider-options.d.ts +1 -0
- package/dist/core/workflow/engine/engine-provider-options.d.ts.map +1 -1
- package/dist/core/workflow/engine/engine-provider-options.js +27 -0
- package/dist/core/workflow/engine/engine-provider-options.js.map +1 -1
- package/dist/core/workflow/engine/team-leader-common.d.ts +1 -0
- package/dist/core/workflow/engine/team-leader-common.d.ts.map +1 -1
- package/dist/core/workflow/engine/team-leader-common.js +13 -1
- package/dist/core/workflow/engine/team-leader-common.js.map +1 -1
- package/dist/core/workflow/observability/workflowSpans.d.ts.map +1 -1
- package/dist/core/workflow/observability/workflowSpans.js +2 -1
- package/dist/core/workflow/observability/workflowSpans.js.map +1 -1
- package/dist/core/workflow/promotion/promotion-runtime.d.ts.map +1 -1
- package/dist/core/workflow/promotion/promotion-runtime.js +3 -2
- package/dist/core/workflow/promotion/promotion-runtime.js.map +1 -1
- package/dist/core/workflow/providerOptionsRedaction.d.ts +4 -0
- package/dist/core/workflow/providerOptionsRedaction.d.ts.map +1 -0
- package/dist/core/workflow/providerOptionsRedaction.js +18 -0
- package/dist/core/workflow/providerOptionsRedaction.js.map +1 -0
- package/dist/features/interactive/clipboardImage.js +2 -2
- package/dist/features/interactive/clipboardImage.js.map +1 -1
- package/dist/features/tasks/execute/sessionLoggerRecordFactory.d.ts.map +1 -1
- package/dist/features/tasks/execute/sessionLoggerRecordFactory.js +2 -1
- package/dist/features/tasks/execute/sessionLoggerRecordFactory.js.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionBootstrap.js +4 -0
- package/dist/features/tasks/execute/workflowExecutionBootstrap.js.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionEvents.d.ts.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionEvents.js +9 -0
- package/dist/features/tasks/execute/workflowExecutionEvents.js.map +1 -1
- package/dist/infra/claude/client.d.ts.map +1 -1
- package/dist/infra/claude/client.js +1 -0
- package/dist/infra/claude/client.js.map +1 -1
- package/dist/infra/claude/mcp-config.d.ts.map +1 -1
- package/dist/infra/claude/mcp-config.js +2 -2
- package/dist/infra/claude/mcp-config.js.map +1 -1
- package/dist/infra/claude/options-builder.d.ts.map +1 -1
- package/dist/infra/claude/options-builder.js +3 -0
- package/dist/infra/claude/options-builder.js.map +1 -1
- package/dist/infra/claude/types.d.ts +4 -0
- package/dist/infra/claude/types.d.ts.map +1 -1
- package/dist/infra/claude-headless/headless-spawn.d.ts.map +1 -1
- package/dist/infra/claude-headless/headless-spawn.js +3 -0
- package/dist/infra/claude-headless/headless-spawn.js.map +1 -1
- package/dist/infra/claude-headless/types.d.ts +2 -0
- package/dist/infra/claude-headless/types.d.ts.map +1 -1
- package/dist/infra/codex/client.d.ts.map +1 -1
- package/dist/infra/codex/client.js +1 -0
- package/dist/infra/codex/client.js.map +1 -1
- package/dist/infra/codex/types.d.ts +2 -0
- package/dist/infra/codex/types.d.ts.map +1 -1
- package/dist/infra/config/configNormalizers.d.ts +3 -2
- package/dist/infra/config/configNormalizers.d.ts.map +1 -1
- package/dist/infra/config/configNormalizers.js +19 -9
- package/dist/infra/config/configNormalizers.js.map +1 -1
- package/dist/infra/config/global/globalConfigCore.d.ts.map +1 -1
- package/dist/infra/config/global/globalConfigCore.js +2 -1
- package/dist/infra/config/global/globalConfigCore.js.map +1 -1
- package/dist/infra/config/loaders/workflowPreview.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowPreview.js +21 -9
- package/dist/infra/config/loaders/workflowPreview.js.map +1 -1
- package/dist/infra/config/loaders/workflowProviderOptionsResolver.js +8 -2
- package/dist/infra/config/loaders/workflowProviderOptionsResolver.js.map +1 -1
- package/dist/infra/config/loaders/workflowStepFeaturesNormalizer.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowStepFeaturesNormalizer.js +32 -1
- package/dist/infra/config/loaders/workflowStepFeaturesNormalizer.js.map +1 -1
- package/dist/infra/config/project/projectConfig.d.ts.map +1 -1
- package/dist/infra/config/project/projectConfig.js +12 -4
- package/dist/infra/config/project/projectConfig.js.map +1 -1
- package/dist/infra/config/providerOptions.d.ts +12 -5
- package/dist/infra/config/providerOptions.d.ts.map +1 -1
- package/dist/infra/config/providerOptions.js +112 -10
- package/dist/infra/config/providerOptions.js.map +1 -1
- package/dist/infra/config/providerOptionsContract.d.ts +4 -3
- package/dist/infra/config/providerOptionsContract.d.ts.map +1 -1
- package/dist/infra/config/providerOptionsContract.js +11 -0
- package/dist/infra/config/providerOptionsContract.js.map +1 -1
- package/dist/infra/config/providerReference.d.ts +3 -2
- package/dist/infra/config/providerReference.d.ts.map +1 -1
- package/dist/infra/config/providerReference.js +6 -6
- package/dist/infra/config/providerReference.js.map +1 -1
- package/dist/infra/config/resolveConfigValue.d.ts.map +1 -1
- package/dist/infra/config/resolveConfigValue.js +95 -25
- package/dist/infra/config/resolveConfigValue.js.map +1 -1
- package/dist/infra/config/traced/tracedConfigLoader.d.ts +3 -2
- package/dist/infra/config/traced/tracedConfigLoader.d.ts.map +1 -1
- package/dist/infra/config/traced/tracedConfigLoader.js +28 -4
- package/dist/infra/config/traced/tracedConfigLoader.js.map +1 -1
- package/dist/infra/config/traced/tracedConfigRuntimeBridge.d.ts.map +1 -1
- package/dist/infra/config/traced/tracedConfigRuntimeBridge.js +2 -2
- package/dist/infra/config/traced/tracedConfigRuntimeBridge.js.map +1 -1
- package/dist/infra/copilot/client.d.ts.map +1 -1
- package/dist/infra/copilot/client.js +3 -3
- package/dist/infra/copilot/client.js.map +1 -1
- package/dist/infra/providers/claude-headless.d.ts +1 -1
- package/dist/infra/providers/claude-headless.d.ts.map +1 -1
- package/dist/infra/providers/claude-headless.js +2 -1
- package/dist/infra/providers/claude-headless.js.map +1 -1
- package/dist/infra/providers/claude-terminal.d.ts +1 -1
- package/dist/infra/providers/claude-terminal.d.ts.map +1 -1
- package/dist/infra/providers/claude-terminal.js +1 -1
- package/dist/infra/providers/claude-terminal.js.map +1 -1
- package/dist/infra/providers/claude.d.ts +1 -1
- package/dist/infra/providers/claude.d.ts.map +1 -1
- package/dist/infra/providers/claude.js +2 -1
- package/dist/infra/providers/claude.js.map +1 -1
- package/dist/infra/providers/codex.d.ts +1 -1
- package/dist/infra/providers/codex.d.ts.map +1 -1
- package/dist/infra/providers/codex.js +2 -1
- package/dist/infra/providers/codex.js.map +1 -1
- package/dist/infra/providers/copilot.d.ts +1 -1
- package/dist/infra/providers/copilot.d.ts.map +1 -1
- package/dist/infra/providers/copilot.js +1 -1
- package/dist/infra/providers/copilot.js.map +1 -1
- package/dist/infra/providers/cursor.d.ts +1 -1
- package/dist/infra/providers/cursor.d.ts.map +1 -1
- package/dist/infra/providers/cursor.js +1 -1
- package/dist/infra/providers/cursor.js.map +1 -1
- package/dist/infra/providers/kiro.d.ts +1 -1
- package/dist/infra/providers/kiro.d.ts.map +1 -1
- package/dist/infra/providers/kiro.js +1 -1
- package/dist/infra/providers/kiro.js.map +1 -1
- package/dist/infra/providers/mock.d.ts +1 -1
- package/dist/infra/providers/mock.d.ts.map +1 -1
- package/dist/infra/providers/mock.js +1 -1
- package/dist/infra/providers/mock.js.map +1 -1
- package/dist/infra/providers/opencode.d.ts +1 -1
- package/dist/infra/providers/opencode.d.ts.map +1 -1
- package/dist/infra/providers/opencode.js +4 -1
- package/dist/infra/providers/opencode.js.map +1 -1
- package/dist/infra/providers/types.d.ts +1 -1
- package/dist/infra/providers/types.d.ts.map +1 -1
- package/dist/infra/task/projectLocalTaktSync.d.ts +1 -0
- package/dist/infra/task/projectLocalTaktSync.d.ts.map +1 -1
- package/dist/infra/task/projectLocalTaktSync.js +40 -0
- package/dist/infra/task/projectLocalTaktSync.js.map +1 -1
- package/dist/shared/team-leader-inspect-tools.d.ts +5 -0
- package/dist/shared/team-leader-inspect-tools.d.ts.map +1 -0
- package/dist/shared/team-leader-inspect-tools.js +8 -0
- package/dist/shared/team-leader-inspect-tools.js.map +1 -0
- package/dist/shared/utils/index.d.ts +1 -0
- package/dist/shared/utils/index.d.ts.map +1 -1
- package/dist/shared/utils/index.js +1 -0
- package/dist/shared/utils/index.js.map +1 -1
- package/dist/shared/utils/tmpdir.d.ts +2 -0
- package/dist/shared/utils/tmpdir.d.ts.map +1 -0
- package/dist/shared/utils/tmpdir.js +8 -0
- package/dist/shared/utils/tmpdir.js.map +1 -0
- package/package.json +10 -5
|
@@ -0,0 +1,540 @@
|
|
|
1
|
+
name: backend-maintenance
|
|
2
|
+
description: Strict backend maintenance workflow for existing production systems
|
|
3
|
+
workflow_config:
|
|
4
|
+
provider_options:
|
|
5
|
+
codex:
|
|
6
|
+
network_access: true
|
|
7
|
+
opencode:
|
|
8
|
+
network_access: true
|
|
9
|
+
max_steps: 60
|
|
10
|
+
initial_step: plan
|
|
11
|
+
loop_monitors:
|
|
12
|
+
- cycle:
|
|
13
|
+
- ai-antipattern-review-1st
|
|
14
|
+
- ai-antipattern-fix
|
|
15
|
+
threshold: 3
|
|
16
|
+
judge:
|
|
17
|
+
persona: supervisor
|
|
18
|
+
instruction: loop-monitor-ai-antipattern-fix
|
|
19
|
+
rules:
|
|
20
|
+
- condition: Healthy (making progress)
|
|
21
|
+
next: ai-antipattern-review-1st
|
|
22
|
+
- condition: Unproductive (no improvement)
|
|
23
|
+
next: reviewers_1
|
|
24
|
+
- cycle:
|
|
25
|
+
- reviewers_1
|
|
26
|
+
- fix
|
|
27
|
+
threshold: 3
|
|
28
|
+
judge:
|
|
29
|
+
persona: supervisor
|
|
30
|
+
instruction: loop-monitor-reviewers-fix
|
|
31
|
+
rules:
|
|
32
|
+
- condition: converging (findings decreasing, fixes applied)
|
|
33
|
+
next: reviewers_1
|
|
34
|
+
- condition: unproductive (same findings repeating)
|
|
35
|
+
next: supervise
|
|
36
|
+
steps:
|
|
37
|
+
- name: plan
|
|
38
|
+
tags:
|
|
39
|
+
- plan
|
|
40
|
+
edit: false
|
|
41
|
+
persona: planner
|
|
42
|
+
policy:
|
|
43
|
+
- existing-system-respect
|
|
44
|
+
knowledge:
|
|
45
|
+
- backend
|
|
46
|
+
- architecture
|
|
47
|
+
- existing-system
|
|
48
|
+
provider_options:
|
|
49
|
+
claude:
|
|
50
|
+
allowed_tools:
|
|
51
|
+
- Read
|
|
52
|
+
- Glob
|
|
53
|
+
- Grep
|
|
54
|
+
- Bash
|
|
55
|
+
- WebSearch
|
|
56
|
+
- WebFetch
|
|
57
|
+
instruction: plan-maintenance
|
|
58
|
+
rules:
|
|
59
|
+
- condition: Task analysis and planning is complete
|
|
60
|
+
next: write_tests
|
|
61
|
+
- condition: Requirements are unclear and planning cannot proceed
|
|
62
|
+
next: ABORT
|
|
63
|
+
output_contracts:
|
|
64
|
+
report:
|
|
65
|
+
- name: plan.md
|
|
66
|
+
format: plan
|
|
67
|
+
- name: write_tests
|
|
68
|
+
tags:
|
|
69
|
+
- coding
|
|
70
|
+
edit: true
|
|
71
|
+
persona: coder
|
|
72
|
+
policy:
|
|
73
|
+
- coding
|
|
74
|
+
- testing
|
|
75
|
+
- existing-system-respect
|
|
76
|
+
knowledge:
|
|
77
|
+
- backend
|
|
78
|
+
- architecture
|
|
79
|
+
- unit-testing
|
|
80
|
+
- e2e-testing
|
|
81
|
+
- existing-system
|
|
82
|
+
provider_options:
|
|
83
|
+
claude:
|
|
84
|
+
allowed_tools:
|
|
85
|
+
- Read
|
|
86
|
+
- Glob
|
|
87
|
+
- Grep
|
|
88
|
+
- Edit
|
|
89
|
+
- Write
|
|
90
|
+
- Bash
|
|
91
|
+
- WebSearch
|
|
92
|
+
- WebFetch
|
|
93
|
+
required_permission_mode: edit
|
|
94
|
+
instruction: write-tests-maintenance
|
|
95
|
+
rules:
|
|
96
|
+
- condition: Test creation is complete
|
|
97
|
+
next: implement
|
|
98
|
+
- condition: Skipping test creation as target is not yet implemented
|
|
99
|
+
next: implement
|
|
100
|
+
- condition: Cannot proceed with test creation
|
|
101
|
+
next: plan
|
|
102
|
+
- condition: User input required for clarification
|
|
103
|
+
next: write_tests
|
|
104
|
+
requires_user_input: true
|
|
105
|
+
interactive_only: true
|
|
106
|
+
output_contracts:
|
|
107
|
+
report:
|
|
108
|
+
- name: test-report.md
|
|
109
|
+
format: test-report
|
|
110
|
+
- name: implement
|
|
111
|
+
tags:
|
|
112
|
+
- coding
|
|
113
|
+
edit: true
|
|
114
|
+
persona: coder
|
|
115
|
+
policy:
|
|
116
|
+
- coding
|
|
117
|
+
- testing
|
|
118
|
+
- existing-system-respect
|
|
119
|
+
session: refresh
|
|
120
|
+
knowledge:
|
|
121
|
+
- backend
|
|
122
|
+
- security
|
|
123
|
+
- architecture
|
|
124
|
+
- existing-system
|
|
125
|
+
provider_options:
|
|
126
|
+
claude:
|
|
127
|
+
allowed_tools:
|
|
128
|
+
- Read
|
|
129
|
+
- Glob
|
|
130
|
+
- Grep
|
|
131
|
+
- Edit
|
|
132
|
+
- Write
|
|
133
|
+
- Bash
|
|
134
|
+
- WebSearch
|
|
135
|
+
- WebFetch
|
|
136
|
+
instruction: implement-maintenance
|
|
137
|
+
rules:
|
|
138
|
+
- condition: Implementation is complete
|
|
139
|
+
next: ai-antipattern-review-1st
|
|
140
|
+
- condition: No implementation (report only)
|
|
141
|
+
next: ai-antipattern-review-1st
|
|
142
|
+
- condition: Cannot proceed with implementation
|
|
143
|
+
next: ai-antipattern-review-1st
|
|
144
|
+
- condition: User input required
|
|
145
|
+
next: implement
|
|
146
|
+
requires_user_input: true
|
|
147
|
+
interactive_only: true
|
|
148
|
+
output_contracts:
|
|
149
|
+
report:
|
|
150
|
+
- name: maintenance-scope.md
|
|
151
|
+
format: maintenance-scope
|
|
152
|
+
- name: coder-decisions.md
|
|
153
|
+
format: coder-decisions
|
|
154
|
+
- name: ai-antipattern-review-1st
|
|
155
|
+
tags:
|
|
156
|
+
- review
|
|
157
|
+
edit: false
|
|
158
|
+
persona: ai-antipattern-reviewer
|
|
159
|
+
policy:
|
|
160
|
+
- review
|
|
161
|
+
- ai-antipattern
|
|
162
|
+
- existing-system-respect
|
|
163
|
+
knowledge:
|
|
164
|
+
- existing-system
|
|
165
|
+
provider_options:
|
|
166
|
+
claude:
|
|
167
|
+
allowed_tools:
|
|
168
|
+
- Read
|
|
169
|
+
- Glob
|
|
170
|
+
- Grep
|
|
171
|
+
- WebSearch
|
|
172
|
+
- WebFetch
|
|
173
|
+
instruction: ai-antipattern-review
|
|
174
|
+
rules:
|
|
175
|
+
- condition: No AI-specific issues found
|
|
176
|
+
next: reviewers_1
|
|
177
|
+
- condition: AI-specific issues detected
|
|
178
|
+
next: ai-antipattern-fix
|
|
179
|
+
output_contracts:
|
|
180
|
+
report:
|
|
181
|
+
- name: ai-antipattern-review.md
|
|
182
|
+
format: ai-antipattern-review
|
|
183
|
+
- name: ai-antipattern-fix
|
|
184
|
+
tags:
|
|
185
|
+
- coding
|
|
186
|
+
edit: true
|
|
187
|
+
persona: coder
|
|
188
|
+
policy:
|
|
189
|
+
- coding
|
|
190
|
+
- testing
|
|
191
|
+
- existing-system-respect
|
|
192
|
+
session: refresh
|
|
193
|
+
knowledge:
|
|
194
|
+
- backend
|
|
195
|
+
- security
|
|
196
|
+
- architecture
|
|
197
|
+
- existing-system
|
|
198
|
+
provider_options:
|
|
199
|
+
claude:
|
|
200
|
+
allowed_tools:
|
|
201
|
+
- Read
|
|
202
|
+
- Glob
|
|
203
|
+
- Grep
|
|
204
|
+
- Edit
|
|
205
|
+
- Write
|
|
206
|
+
- Bash
|
|
207
|
+
- WebSearch
|
|
208
|
+
- WebFetch
|
|
209
|
+
instruction: ai-antipattern-fix
|
|
210
|
+
pass_previous_response: false
|
|
211
|
+
rules:
|
|
212
|
+
- condition: AI Reviewer's issues have been fixed
|
|
213
|
+
next: ai-antipattern-review-1st
|
|
214
|
+
- condition: No fix needed (verified target files/spec)
|
|
215
|
+
next: ai-antipattern-no-fix
|
|
216
|
+
- condition: Unable to proceed with fixes
|
|
217
|
+
next: ai-antipattern-no-fix
|
|
218
|
+
- name: ai-antipattern-no-fix
|
|
219
|
+
tags:
|
|
220
|
+
- review
|
|
221
|
+
edit: false
|
|
222
|
+
persona: architecture-reviewer
|
|
223
|
+
policy:
|
|
224
|
+
- review
|
|
225
|
+
- existing-system-respect
|
|
226
|
+
knowledge:
|
|
227
|
+
- existing-system
|
|
228
|
+
provider_options:
|
|
229
|
+
claude:
|
|
230
|
+
allowed_tools:
|
|
231
|
+
- Read
|
|
232
|
+
- Glob
|
|
233
|
+
- Grep
|
|
234
|
+
rules:
|
|
235
|
+
- condition: ai-antipattern-review-1st's findings are valid (fix required)
|
|
236
|
+
next: ai-antipattern-fix
|
|
237
|
+
- condition: ai-antipattern-fix's judgment is valid (no fix needed)
|
|
238
|
+
next: reviewers_1
|
|
239
|
+
instruction: arbitrate
|
|
240
|
+
- name: reviewers_1
|
|
241
|
+
tags:
|
|
242
|
+
- review
|
|
243
|
+
parallel:
|
|
244
|
+
- name: arch-review
|
|
245
|
+
tags:
|
|
246
|
+
- review
|
|
247
|
+
edit: false
|
|
248
|
+
persona: architecture-reviewer
|
|
249
|
+
policy:
|
|
250
|
+
- review
|
|
251
|
+
- existing-system-respect
|
|
252
|
+
knowledge:
|
|
253
|
+
- architecture
|
|
254
|
+
- backend
|
|
255
|
+
- existing-system
|
|
256
|
+
provider_options:
|
|
257
|
+
claude:
|
|
258
|
+
allowed_tools:
|
|
259
|
+
- Read
|
|
260
|
+
- Glob
|
|
261
|
+
- Grep
|
|
262
|
+
- WebSearch
|
|
263
|
+
- WebFetch
|
|
264
|
+
rules:
|
|
265
|
+
- condition: approved
|
|
266
|
+
- condition: needs_fix
|
|
267
|
+
instruction: review-arch
|
|
268
|
+
output_contracts:
|
|
269
|
+
report:
|
|
270
|
+
- name: architect-review.md
|
|
271
|
+
format: architecture-review
|
|
272
|
+
- name: testing-review
|
|
273
|
+
tags:
|
|
274
|
+
- review
|
|
275
|
+
edit: false
|
|
276
|
+
persona: testing-reviewer
|
|
277
|
+
policy:
|
|
278
|
+
- review
|
|
279
|
+
- testing
|
|
280
|
+
- existing-system-respect
|
|
281
|
+
knowledge:
|
|
282
|
+
- unit-testing
|
|
283
|
+
- e2e-testing
|
|
284
|
+
- existing-system
|
|
285
|
+
provider_options:
|
|
286
|
+
claude:
|
|
287
|
+
allowed_tools:
|
|
288
|
+
- Read
|
|
289
|
+
- Glob
|
|
290
|
+
- Grep
|
|
291
|
+
- WebSearch
|
|
292
|
+
- WebFetch
|
|
293
|
+
rules:
|
|
294
|
+
- condition: approved
|
|
295
|
+
- condition: needs_fix
|
|
296
|
+
instruction: review-test
|
|
297
|
+
output_contracts:
|
|
298
|
+
report:
|
|
299
|
+
- name: testing-review.md
|
|
300
|
+
format: testing-review
|
|
301
|
+
- name: ai-antipattern-review-2nd
|
|
302
|
+
tags:
|
|
303
|
+
- review
|
|
304
|
+
edit: false
|
|
305
|
+
persona: ai-antipattern-reviewer
|
|
306
|
+
policy:
|
|
307
|
+
- review
|
|
308
|
+
- ai-antipattern
|
|
309
|
+
- existing-system-respect
|
|
310
|
+
knowledge:
|
|
311
|
+
- existing-system
|
|
312
|
+
provider_options:
|
|
313
|
+
claude:
|
|
314
|
+
allowed_tools:
|
|
315
|
+
- Read
|
|
316
|
+
- Glob
|
|
317
|
+
- Grep
|
|
318
|
+
- WebSearch
|
|
319
|
+
- WebFetch
|
|
320
|
+
instruction: ai-antipattern-review
|
|
321
|
+
rules:
|
|
322
|
+
- condition: approved
|
|
323
|
+
- condition: needs_fix
|
|
324
|
+
output_contracts:
|
|
325
|
+
report:
|
|
326
|
+
- name: ai-antipattern-review.md
|
|
327
|
+
format: ai-antipattern-review
|
|
328
|
+
rules:
|
|
329
|
+
- condition: all("approved")
|
|
330
|
+
next: reviewers_2
|
|
331
|
+
- condition: any("needs_fix")
|
|
332
|
+
next: fix
|
|
333
|
+
- name: reviewers_2
|
|
334
|
+
tags:
|
|
335
|
+
- review
|
|
336
|
+
parallel:
|
|
337
|
+
- name: security-review
|
|
338
|
+
tags:
|
|
339
|
+
- review
|
|
340
|
+
edit: false
|
|
341
|
+
persona: security-reviewer
|
|
342
|
+
policy:
|
|
343
|
+
- review
|
|
344
|
+
- existing-system-respect
|
|
345
|
+
knowledge:
|
|
346
|
+
- security
|
|
347
|
+
- existing-system
|
|
348
|
+
provider_options:
|
|
349
|
+
claude:
|
|
350
|
+
allowed_tools:
|
|
351
|
+
- Read
|
|
352
|
+
- Glob
|
|
353
|
+
- Grep
|
|
354
|
+
- WebSearch
|
|
355
|
+
- WebFetch
|
|
356
|
+
rules:
|
|
357
|
+
- condition: approved
|
|
358
|
+
- condition: needs_fix
|
|
359
|
+
instruction: review-security
|
|
360
|
+
output_contracts:
|
|
361
|
+
report:
|
|
362
|
+
- name: security-review.md
|
|
363
|
+
format: security-review
|
|
364
|
+
- name: qa-review
|
|
365
|
+
tags:
|
|
366
|
+
- review
|
|
367
|
+
edit: false
|
|
368
|
+
persona: qa-reviewer
|
|
369
|
+
policy:
|
|
370
|
+
- review
|
|
371
|
+
- qa
|
|
372
|
+
- existing-system-respect
|
|
373
|
+
knowledge:
|
|
374
|
+
- existing-system
|
|
375
|
+
provider_options:
|
|
376
|
+
claude:
|
|
377
|
+
allowed_tools:
|
|
378
|
+
- Read
|
|
379
|
+
- Glob
|
|
380
|
+
- Grep
|
|
381
|
+
- WebSearch
|
|
382
|
+
- WebFetch
|
|
383
|
+
rules:
|
|
384
|
+
- condition: approved
|
|
385
|
+
- condition: needs_fix
|
|
386
|
+
instruction: review-qa
|
|
387
|
+
output_contracts:
|
|
388
|
+
report:
|
|
389
|
+
- name: qa-review.md
|
|
390
|
+
format: qa-review
|
|
391
|
+
- name: pure-review
|
|
392
|
+
tags:
|
|
393
|
+
- review
|
|
394
|
+
edit: false
|
|
395
|
+
persona: pure-reviewer
|
|
396
|
+
policy: review
|
|
397
|
+
provider_options:
|
|
398
|
+
claude:
|
|
399
|
+
allowed_tools:
|
|
400
|
+
- Read
|
|
401
|
+
- Glob
|
|
402
|
+
- Grep
|
|
403
|
+
- Bash
|
|
404
|
+
- WebSearch
|
|
405
|
+
- WebFetch
|
|
406
|
+
rules:
|
|
407
|
+
- condition: approved
|
|
408
|
+
- condition: needs_fix
|
|
409
|
+
instruction: review-pure
|
|
410
|
+
output_contracts:
|
|
411
|
+
report:
|
|
412
|
+
- name: pure-review.md
|
|
413
|
+
format: pure-review
|
|
414
|
+
- name: coding-review
|
|
415
|
+
tags:
|
|
416
|
+
- review
|
|
417
|
+
edit: false
|
|
418
|
+
persona: coding-reviewer
|
|
419
|
+
policy:
|
|
420
|
+
- review
|
|
421
|
+
- coding
|
|
422
|
+
provider_options:
|
|
423
|
+
claude:
|
|
424
|
+
allowed_tools:
|
|
425
|
+
- Read
|
|
426
|
+
- Glob
|
|
427
|
+
- Grep
|
|
428
|
+
- Bash
|
|
429
|
+
- WebSearch
|
|
430
|
+
- WebFetch
|
|
431
|
+
instruction: review-coding
|
|
432
|
+
output_contracts:
|
|
433
|
+
report:
|
|
434
|
+
- name: coding-review.md
|
|
435
|
+
format: coding-review
|
|
436
|
+
rules:
|
|
437
|
+
- condition: approved
|
|
438
|
+
- condition: needs_fix
|
|
439
|
+
rules:
|
|
440
|
+
- condition: all("approved")
|
|
441
|
+
next: supervise
|
|
442
|
+
- condition: any("needs_fix")
|
|
443
|
+
next: fix
|
|
444
|
+
- name: fix
|
|
445
|
+
tags:
|
|
446
|
+
- coding
|
|
447
|
+
edit: true
|
|
448
|
+
persona: coder
|
|
449
|
+
policy:
|
|
450
|
+
- coding
|
|
451
|
+
- testing
|
|
452
|
+
- existing-system-respect
|
|
453
|
+
knowledge:
|
|
454
|
+
- backend
|
|
455
|
+
- security
|
|
456
|
+
- architecture
|
|
457
|
+
- existing-system
|
|
458
|
+
provider_options:
|
|
459
|
+
claude:
|
|
460
|
+
allowed_tools:
|
|
461
|
+
- Read
|
|
462
|
+
- Glob
|
|
463
|
+
- Grep
|
|
464
|
+
- Edit
|
|
465
|
+
- Write
|
|
466
|
+
- Bash
|
|
467
|
+
- WebSearch
|
|
468
|
+
- WebFetch
|
|
469
|
+
required_permission_mode: edit
|
|
470
|
+
pass_previous_response: false
|
|
471
|
+
rules:
|
|
472
|
+
- condition: Fix complete
|
|
473
|
+
next: reviewers_1
|
|
474
|
+
- condition: Cannot proceed, insufficient info
|
|
475
|
+
next: plan
|
|
476
|
+
instruction: fix-maintenance
|
|
477
|
+
- name: supervise
|
|
478
|
+
tags:
|
|
479
|
+
- review
|
|
480
|
+
edit: false
|
|
481
|
+
persona: dual-supervisor
|
|
482
|
+
policy:
|
|
483
|
+
- review
|
|
484
|
+
- existing-system-respect
|
|
485
|
+
knowledge:
|
|
486
|
+
- existing-system
|
|
487
|
+
provider_options:
|
|
488
|
+
claude:
|
|
489
|
+
allowed_tools:
|
|
490
|
+
- Read
|
|
491
|
+
- Glob
|
|
492
|
+
- Grep
|
|
493
|
+
- WebSearch
|
|
494
|
+
- WebFetch
|
|
495
|
+
instruction: supervise-maintenance
|
|
496
|
+
pass_previous_response: false
|
|
497
|
+
rules:
|
|
498
|
+
- condition: All validations pass and ready to merge
|
|
499
|
+
next: COMPLETE
|
|
500
|
+
- condition: Issues detected during final review
|
|
501
|
+
next: fix_supervisor
|
|
502
|
+
output_contracts:
|
|
503
|
+
report:
|
|
504
|
+
- name: supervisor-validation.md
|
|
505
|
+
format: supervisor-validation
|
|
506
|
+
- name: summary.md
|
|
507
|
+
format: summary
|
|
508
|
+
use_judge: false
|
|
509
|
+
- name: fix_supervisor
|
|
510
|
+
tags:
|
|
511
|
+
- coding
|
|
512
|
+
edit: true
|
|
513
|
+
persona: coder
|
|
514
|
+
policy:
|
|
515
|
+
- coding
|
|
516
|
+
- testing
|
|
517
|
+
- existing-system-respect
|
|
518
|
+
knowledge:
|
|
519
|
+
- backend
|
|
520
|
+
- security
|
|
521
|
+
- architecture
|
|
522
|
+
- existing-system
|
|
523
|
+
provider_options:
|
|
524
|
+
claude:
|
|
525
|
+
allowed_tools:
|
|
526
|
+
- Read
|
|
527
|
+
- Glob
|
|
528
|
+
- Grep
|
|
529
|
+
- Edit
|
|
530
|
+
- Write
|
|
531
|
+
- Bash
|
|
532
|
+
- WebSearch
|
|
533
|
+
- WebFetch
|
|
534
|
+
instruction: fix-maintenance
|
|
535
|
+
pass_previous_response: false
|
|
536
|
+
rules:
|
|
537
|
+
- condition: Supervisor's issues have been fixed
|
|
538
|
+
next: supervise
|
|
539
|
+
- condition: Unable to proceed with fixes
|
|
540
|
+
next: plan
|
|
@@ -43,7 +43,7 @@ loop_monitors:
|
|
|
43
43
|
steps:
|
|
44
44
|
- name: implement
|
|
45
45
|
tags:
|
|
46
|
-
-
|
|
46
|
+
- leader
|
|
47
47
|
edit: true
|
|
48
48
|
persona: coder
|
|
49
49
|
policy:
|
|
@@ -57,6 +57,8 @@ steps:
|
|
|
57
57
|
required_permission_mode: edit
|
|
58
58
|
team_leader:
|
|
59
59
|
max_parts: 2
|
|
60
|
+
part_tags:
|
|
61
|
+
- coding
|
|
60
62
|
part_persona: coder
|
|
61
63
|
part_edit: true
|
|
62
64
|
part_permission_mode: edit
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
計画に従い、既存契約を保ちつつ、要求と因果関係のある範囲で実装してください。
|
|
2
2
|
Workflow Contextに示されたReport Directory内のファイルのみ参照してください。他のレポートディレクトリは検索/参照しないでください。
|
|
3
3
|
Report Directory内のレポートを一次情報として参照してください。不足情報の補完が必要な場合に限り、Previous Responseや会話履歴を補助的に参照して構いません(Previous Responseは提供されない場合があります)。情報が競合する場合は、Report Directory内のレポートと実際のファイル内容を優先してください。
|
|
4
4
|
|
|
@@ -14,7 +14,7 @@ Report Directory内のレポートを一次情報として参照してくださ
|
|
|
14
14
|
- 実装前に差分予定を「必須変更」「関連変更」「不要変更」に分類する
|
|
15
15
|
- 必須変更と関連変更だけを実装する
|
|
16
16
|
- 変更ファイル内という理由だけで、作法改善、改名、ファイル移動、hook戻り値変更、コメント削除、テスト期待値変更を行わない
|
|
17
|
-
-
|
|
17
|
+
- 要求と因果関係のない構造変更をしない
|
|
18
18
|
- 仕様変更で廃止された旧設計について、旧仕様の不在確認だけのコード・テストを残さない
|
|
19
19
|
- 実装後に全差分を確認し、不要変更を戻す
|
|
20
20
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
既存機能の保守変更としてタスクを分析し、設計を含めた因果差分の実装方針を立ててください。
|
|
2
2
|
|
|
3
3
|
**注意:** Previous Responseがある場合は差し戻しのため、その内容と現在のファイル内容を照合して計画を見直してください(replan)。
|
|
4
4
|
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
- 変更ファイル内、近い責務、一般作法という理由だけでは関連変更にしない
|
|
30
30
|
- 不要変更は Coder に実装させない
|
|
31
31
|
6. ファイル構成・設計パターンを決定する(必要な場合)
|
|
32
|
-
-
|
|
32
|
+
- 要求と因果関係のない範囲では、理想的でなくても既存構造を優先する
|
|
33
33
|
7. 実装アプローチを決める
|
|
34
34
|
- 実装アプローチがナレッジ・ポリシーの制約に違反しないか照合する
|
|
35
35
|
- 利用者向け機能の追加や変更がある場合、利用者がその機能へ到達する条件・入口・起動経路を固定する
|
|
@@ -48,4 +48,4 @@
|
|
|
48
48
|
## 既存契約
|
|
49
49
|
- {守るべき既存契約}
|
|
50
50
|
## 実装方針
|
|
51
|
-
- {
|
|
51
|
+
- {因果差分の方針}
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
5. 共通ヘルパー、正規化関数、builder、adapter の追加・変更がある場合、既存の同種分岐にも同じ契約が適用されているか確認する
|
|
9
9
|
6. 型、スキーマ、validator、resolver のいずれかが変わった場合、対応する契約も同じ変更で整合しているか確認する
|
|
10
10
|
7. 複数レイヤーで解決・合成される値は、単体の正規化処理だけでなく、実際の入口から検証処理までの経路を追う
|
|
11
|
-
8.
|
|
12
|
-
9.
|
|
13
|
-
10.
|
|
14
|
-
11.
|
|
11
|
+
8. 実行とは別に同じ値を表示・検証・説明する入口がある場合、主実行経路と同じ正規化済み入力・override 順・resolver で解決されているか比較する
|
|
12
|
+
9. テストがある場合、値の存在だけでなく、未設定・設定・不正値・override・継承・非継承・非対応対象など元要件の分岐条件を踏んでいるか確認する
|
|
13
|
+
10. 副作用や状態変更を伴う差分は、入口・正常終了・早期終了・例外・後片付けの経路を追う
|
|
14
|
+
11. 指摘は現在の差分に起因し、ユーザーが修正すべきものだけにする
|
|
15
|
+
12. 各指摘には場所、影響、修正方針を含める
|
|
16
|
+
13. 根拠のない推測、好みだけの変更、今回の差分と無関係な既存問題は指摘しない
|
|
@@ -11,4 +11,9 @@
|
|
|
11
11
|
2. 外部契約があるのに入力位置(root body / query / path)の検証が欠けている場合、カバレッジ不足として扱う
|
|
12
12
|
3. 副作用や状態遷移を伴う変更では、正常系だけでなく代表的な失敗経路のテスト有無を確認する
|
|
13
13
|
4. 共通化・抽象化で契約を統一した変更では、新しい共通経路だけでなく既存の同種分岐にも契約テストがあるか確認する
|
|
14
|
-
5.
|
|
14
|
+
5. 設定値、実行時に選択される能力・バックエンド・オプション、権限の変更では、値の存在ではなく、未設定・設定・override・継承・非継承など元要件の分岐条件を踏むテストか確認する
|
|
15
|
+
6. 実行とは別に同じ値を表示・検証・説明する入口がある変更では、表示値だけでなく実行時の解決入力と一致することを検証しているか確認する
|
|
16
|
+
7. モックで代替した検証は、実連携まで確認したものとして扱わない
|
|
17
|
+
8. 禁止・拒否・非継承・非対応・隔離の検証が、完全一致文字列の不在だけでなく、観測単位を抽出して禁止値ごとに確認しているか確認する
|
|
18
|
+
9. 新しい設定境界では、空文字列、空白だけの文字列、空配列、大小文字違いなどの正規化対象を必要に応じて確認する
|
|
19
|
+
10. E2E の timeout、cleanup、強制終了の扱いが既存の同種テスト規約と一致しているか確認する
|
|
@@ -218,6 +218,8 @@ fun confirm(confirmedBy: String): OrderConfirmedEvent {
|
|
|
218
218
|
| 読み取り用のクラス名やメソッド名なのに副作用を持つ | REJECT |
|
|
219
219
|
| 単純な参照APIが問い合わせ層を呼び、レスポンスDTOに変換するだけ | OK |
|
|
220
220
|
| 単純な状態変更APIが構造検証と認可境界の解決後にコマンドを1つ送るだけ | OK |
|
|
221
|
+
| Controller向けの読み取り調整役が認可境界、複数Read Model、ページング等を扱う | ApplicationService または ReadService として表現 |
|
|
222
|
+
| QueryHandler と同じ領域に QueryService という名前の送信側・調整側コンポーネントを置く | 警告。クエリ受信側と混同しやすい |
|
|
221
223
|
| 複数のRead Model参照、外部連携、複数コマンド、結果待機をControllerに置く | REJECT。UseCase層に分離 |
|
|
222
224
|
| UseCaseが別サービスへの薄い委譲だけでドメイン上の判断や調整を持たない | 削除を検討 |
|
|
223
225
|
|
|
@@ -471,6 +471,18 @@ Query側はイベント駆動のPubSubモデルで動作する。Projection が
|
|
|
471
471
|
| Command と Query を同じサービスに混在させる | REJECT。責務と命名を分離 |
|
|
472
472
|
| Query側で存在確認やスコープ確認を行い、呼び出し元がコマンドを送る | OK |
|
|
473
473
|
|
|
474
|
+
### QueryHandler と ApplicationService の命名
|
|
475
|
+
|
|
476
|
+
CQRSではクエリを受けるコンポーネントを QueryHandler と呼び、クエリを送る入口は QueryGateway / QueryBus として扱う。Controller から読み取りユースケースを呼ぶ facade は、QueryHandler と混同しないよう ApplicationService または ReadService と名付ける。
|
|
477
|
+
|
|
478
|
+
| 基準 | 判定 |
|
|
479
|
+
|------|------|
|
|
480
|
+
| Query を受けて Read Model を参照し、Query結果の型を返す | QueryHandler |
|
|
481
|
+
| Controller から複数Query、認可境界、ページング、DTO組み立てを調整する | ApplicationService または ReadService |
|
|
482
|
+
| Query送信や読み取り調整だけのクラスを QueryService と呼ぶ | 警告。QueryHandler と混同しやすい |
|
|
483
|
+
| QueryHandler がHTTPリクエスト/レスポンスやController都合のエラー変換を知る | REJECT |
|
|
484
|
+
| 追加判断のない単純な読み取り wrapper を作る | 削除を検討。Controller から QueryGateway 直でもよい |
|
|
485
|
+
|
|
474
486
|
レイヤー間の型:
|
|
475
487
|
- `application/query/` - Query結果の型(例: `OrderDetail`)
|
|
476
488
|
- `adapter/protocol/` - RESTレスポンスの型(例: `OrderDetailResponse`)
|