takt 0.38.0 → 0.40.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 +2 -2
- package/builtins/en/facets/instructions/arbitrate.md +6 -6
- package/builtins/en/facets/instructions/{loop-monitor-ai-fix.md → loop-monitor-ai-antipattern-fix.md} +2 -2
- package/builtins/en/facets/instructions/review-arch.md +1 -1
- package/builtins/en/facets/instructions/review-cqrs-es.md +1 -1
- package/builtins/en/facets/instructions/review-terraform.md +1 -1
- package/builtins/en/facets/policies/review.md +19 -0
- package/builtins/en/workflow-categories.yaml +2 -0
- package/builtins/en/workflows/auto-improvement-loop.yaml +56 -21
- package/builtins/en/workflows/backend-cqrs-mini.yaml +9 -9
- package/builtins/en/workflows/backend-cqrs.yaml +43 -21
- package/builtins/en/workflows/backend-mini.yaml +9 -9
- package/builtins/en/workflows/backend.yaml +43 -21
- package/builtins/en/workflows/default-draft.yaml +128 -0
- package/builtins/en/workflows/default-high.yaml +26 -295
- package/builtins/en/workflows/default-mini.yaml +60 -0
- package/builtins/en/workflows/default-peer-review.yaml +130 -0
- package/builtins/en/workflows/default.yaml +21 -208
- package/builtins/en/workflows/draft.yaml +166 -0
- package/builtins/en/workflows/dual-cqrs-mini.yaml +9 -9
- package/builtins/en/workflows/dual-cqrs.yaml +44 -22
- package/builtins/en/workflows/dual-mini.yaml +9 -9
- package/builtins/en/workflows/dual.yaml +43 -21
- package/builtins/en/workflows/frontend-mini.yaml +9 -9
- package/builtins/en/workflows/frontend.yaml +43 -21
- package/builtins/en/workflows/peer-review.yaml +208 -0
- package/builtins/en/workflows/review-fix-takt-default.yaml +23 -23
- package/builtins/en/workflows/review-takt-default.yaml +5 -5
- package/builtins/en/workflows/takt-default-refresh-all.yaml +42 -20
- package/builtins/en/workflows/takt-default-refresh-fast.yaml +42 -20
- package/builtins/en/workflows/takt-default.yaml +26 -308
- package/builtins/en/workflows/terraform.yaml +11 -11
- package/builtins/ja/INSTRUCTION_STYLE_GUIDE.md +2 -2
- package/builtins/ja/facets/instructions/arbitrate.md +6 -6
- package/builtins/ja/facets/instructions/{loop-monitor-ai-fix.md → loop-monitor-ai-antipattern-fix.md} +2 -2
- package/builtins/ja/facets/instructions/review-arch.md +1 -1
- package/builtins/ja/facets/instructions/review-cqrs-es.md +1 -1
- package/builtins/ja/facets/instructions/review-terraform.md +1 -1
- package/builtins/ja/facets/policies/review.md +19 -0
- package/builtins/ja/workflow-categories.yaml +2 -0
- package/builtins/ja/workflows/auto-improvement-loop.yaml +56 -21
- package/builtins/ja/workflows/backend-cqrs-mini.yaml +9 -9
- package/builtins/ja/workflows/backend-cqrs.yaml +43 -21
- package/builtins/ja/workflows/backend-mini.yaml +9 -9
- package/builtins/ja/workflows/backend.yaml +43 -21
- package/builtins/ja/workflows/default-draft.yaml +128 -0
- package/builtins/ja/workflows/default-high.yaml +26 -295
- package/builtins/ja/workflows/default-mini.yaml +60 -0
- package/builtins/ja/workflows/default-peer-review.yaml +130 -0
- package/builtins/ja/workflows/default.yaml +21 -208
- package/builtins/ja/workflows/draft.yaml +166 -0
- package/builtins/ja/workflows/dual-cqrs-mini.yaml +9 -9
- package/builtins/ja/workflows/dual-cqrs.yaml +44 -22
- package/builtins/ja/workflows/dual-mini.yaml +9 -9
- package/builtins/ja/workflows/dual.yaml +43 -21
- package/builtins/ja/workflows/frontend-mini.yaml +9 -9
- package/builtins/ja/workflows/frontend.yaml +43 -21
- package/builtins/ja/workflows/peer-review.yaml +208 -0
- package/builtins/ja/workflows/review-fix-takt-default.yaml +23 -23
- package/builtins/ja/workflows/review-takt-default.yaml +5 -5
- package/builtins/ja/workflows/takt-default-refresh-all.yaml +42 -20
- package/builtins/ja/workflows/takt-default-refresh-fast.yaml +42 -20
- package/builtins/ja/workflows/takt-default.yaml +18 -300
- package/builtins/ja/workflows/terraform.yaml +11 -11
- package/builtins/schemas/followup-task.json +8 -8
- package/builtins/schemas/pr-followup-task.json +21 -0
- package/builtins/skill/references/engine.md +4 -4
- package/dist/app/cli/immediateSigintExit.d.ts +2 -1
- package/dist/app/cli/immediateSigintExit.d.ts.map +1 -1
- package/dist/app/cli/immediateSigintExit.js +12 -4
- package/dist/app/cli/immediateSigintExit.js.map +1 -1
- package/dist/app/cli/index.d.ts.map +1 -1
- package/dist/app/cli/index.js +17 -4
- package/dist/app/cli/index.js.map +1 -1
- package/dist/app/cli/opencodeExitCleanup.d.ts +6 -0
- package/dist/app/cli/opencodeExitCleanup.d.ts.map +1 -0
- package/dist/app/cli/opencodeExitCleanup.js +7 -0
- package/dist/app/cli/opencodeExitCleanup.js.map +1 -0
- 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/response.d.ts +8 -0
- package/dist/core/models/response.d.ts.map +1 -1
- package/dist/core/models/response.js +7 -1
- package/dist/core/models/response.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/models/workflow-issue-system-schemas.d.ts +1 -0
- package/dist/core/models/workflow-issue-system-schemas.d.ts.map +1 -1
- package/dist/core/models/workflow-issue-system-schemas.js +1 -0
- package/dist/core/models/workflow-issue-system-schemas.js.map +1 -1
- package/dist/core/models/workflow-schemas.d.ts +1333 -4
- package/dist/core/models/workflow-schemas.d.ts.map +1 -1
- package/dist/core/models/workflow-schemas.js +11 -0
- package/dist/core/models/workflow-schemas.js.map +1 -1
- package/dist/core/models/workflow-system-input-types.d.ts +4 -0
- package/dist/core/models/workflow-system-input-types.d.ts.map +1 -1
- package/dist/core/models/workflow-system-schemas.d.ts +4 -0
- package/dist/core/models/workflow-system-schemas.d.ts.map +1 -1
- package/dist/core/models/workflow-system-schemas.js +24 -0
- package/dist/core/models/workflow-system-schemas.js.map +1 -1
- package/dist/core/models/workflow-types.d.ts +3 -0
- package/dist/core/models/workflow-types.d.ts.map +1 -1
- package/dist/core/workflow/engine/ArpeggioRunner.d.ts.map +1 -1
- package/dist/core/workflow/engine/ArpeggioRunner.js +12 -3
- package/dist/core/workflow/engine/ArpeggioRunner.js.map +1 -1
- package/dist/core/workflow/engine/SystemStepExecutor.d.ts.map +1 -1
- package/dist/core/workflow/engine/SystemStepExecutor.js +4 -1
- package/dist/core/workflow/engine/SystemStepExecutor.js.map +1 -1
- package/dist/core/workflow/engine/TeamLeaderRunner.d.ts.map +1 -1
- package/dist/core/workflow/engine/TeamLeaderRunner.js +14 -1
- package/dist/core/workflow/engine/TeamLeaderRunner.js.map +1 -1
- package/dist/core/workflow/engine/abort-signal.d.ts.map +1 -1
- package/dist/core/workflow/engine/abort-signal.js +2 -1
- package/dist/core/workflow/engine/abort-signal.js.map +1 -1
- package/dist/core/workflow/engine/team-leader-common.d.ts.map +1 -1
- package/dist/core/workflow/engine/team-leader-common.js +8 -0
- package/dist/core/workflow/engine/team-leader-common.js.map +1 -1
- package/dist/core/workflow/engine/team-leader-part-runner.d.ts +1 -1
- package/dist/core/workflow/engine/team-leader-part-runner.d.ts.map +1 -1
- package/dist/core/workflow/engine/team-leader-part-runner.js +15 -3
- package/dist/core/workflow/engine/team-leader-part-runner.js.map +1 -1
- package/dist/core/workflow/instruction/InstructionBuilder.d.ts.map +1 -1
- package/dist/core/workflow/instruction/InstructionBuilder.js +5 -1
- package/dist/core/workflow/instruction/InstructionBuilder.js.map +1 -1
- package/dist/core/workflow/instruction/ReportInstructionBuilder.d.ts.map +1 -1
- package/dist/core/workflow/instruction/ReportInstructionBuilder.js +5 -0
- package/dist/core/workflow/instruction/ReportInstructionBuilder.js.map +1 -1
- package/dist/core/workflow/instruction/escape.d.ts.map +1 -1
- package/dist/core/workflow/instruction/escape.js +5 -2
- package/dist/core/workflow/instruction/escape.js.map +1 -1
- package/dist/core/workflow/instruction/instruction-context.d.ts +3 -0
- package/dist/core/workflow/instruction/instruction-context.d.ts.map +1 -1
- package/dist/core/workflow/instruction/instruction-context.js +23 -0
- package/dist/core/workflow/instruction/instruction-context.js.map +1 -1
- package/dist/core/workflow/report-phase-runner.d.ts.map +1 -1
- package/dist/core/workflow/report-phase-runner.js +5 -3
- package/dist/core/workflow/report-phase-runner.js.map +1 -1
- package/dist/core/workflow/run/order-content.d.ts.map +1 -1
- package/dist/core/workflow/run/order-content.js +12 -0
- package/dist/core/workflow/run/order-content.js.map +1 -1
- package/dist/core/workflow/run/run-meta.d.ts +2 -0
- package/dist/core/workflow/run/run-meta.d.ts.map +1 -1
- package/dist/core/workflow/run/run-meta.js.map +1 -1
- package/dist/core/workflow/system/system-step-effect-runner.d.ts.map +1 -1
- package/dist/core/workflow/system/system-step-effect-runner.js +4 -1
- package/dist/core/workflow/system/system-step-effect-runner.js.map +1 -1
- package/dist/core/workflow/system/system-step-services.d.ts +1 -0
- package/dist/core/workflow/system/system-step-services.d.ts.map +1 -1
- package/dist/features/interactive/conversationLoop.d.ts.map +1 -1
- package/dist/features/interactive/conversationLoop.js +17 -2
- package/dist/features/interactive/conversationLoop.js.map +1 -1
- package/dist/features/interactive/lineEditor.d.ts.map +1 -1
- package/dist/features/interactive/lineEditor.js +1 -6
- package/dist/features/interactive/lineEditor.js.map +1 -1
- package/dist/features/interactive/passthroughMode.js +1 -1
- package/dist/features/interactive/passthroughMode.js.map +1 -1
- package/dist/features/interactive/quietMode.js +1 -1
- package/dist/features/interactive/quietMode.js.map +1 -1
- package/dist/features/tasks/execute/runMeta.d.ts +1 -0
- package/dist/features/tasks/execute/runMeta.d.ts.map +1 -1
- package/dist/features/tasks/execute/runMeta.js +10 -0
- package/dist/features/tasks/execute/runMeta.js.map +1 -1
- package/dist/features/tasks/execute/sessionLoggerRecordFactory.d.ts.map +1 -1
- package/dist/features/tasks/execute/sessionLoggerRecordFactory.js +1 -0
- package/dist/features/tasks/execute/sessionLoggerRecordFactory.js.map +1 -1
- package/dist/features/tasks/execute/taskWorkflowExecution.d.ts.map +1 -1
- package/dist/features/tasks/execute/taskWorkflowExecution.js +0 -2
- package/dist/features/tasks/execute/taskWorkflowExecution.js.map +1 -1
- package/dist/features/tasks/execute/traceReportParser.d.ts.map +1 -1
- package/dist/features/tasks/execute/traceReportParser.js +1 -0
- package/dist/features/tasks/execute/traceReportParser.js.map +1 -1
- package/dist/features/tasks/execute/traceReportRenderer.d.ts.map +1 -1
- package/dist/features/tasks/execute/traceReportRenderer.js +3 -0
- package/dist/features/tasks/execute/traceReportRenderer.js.map +1 -1
- package/dist/features/tasks/execute/traceReportTypes.d.ts +2 -0
- package/dist/features/tasks/execute/traceReportTypes.d.ts.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionEvents.d.ts.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionEvents.js +2 -0
- package/dist/features/tasks/execute/workflowExecutionEvents.js.map +1 -1
- package/dist/features/tasks/list/index.d.ts.map +1 -1
- package/dist/features/tasks/list/index.js +8 -4
- package/dist/features/tasks/list/index.js.map +1 -1
- package/dist/features/tasks/list/requeueHelpers.d.ts +3 -1
- package/dist/features/tasks/list/requeueHelpers.d.ts.map +1 -1
- package/dist/features/tasks/list/requeueHelpers.js +78 -37
- package/dist/features/tasks/list/requeueHelpers.js.map +1 -1
- package/dist/features/tasks/list/taskInstructionActions.d.ts.map +1 -1
- package/dist/features/tasks/list/taskInstructionActions.js +20 -18
- package/dist/features/tasks/list/taskInstructionActions.js.map +1 -1
- package/dist/features/tasks/list/taskRetryActions.d.ts +1 -0
- package/dist/features/tasks/list/taskRetryActions.d.ts.map +1 -1
- package/dist/features/tasks/list/taskRetryActions.js +139 -71
- package/dist/features/tasks/list/taskRetryActions.js.map +1 -1
- package/dist/infra/claude/client.d.ts.map +1 -1
- package/dist/infra/claude/client.js +2 -0
- package/dist/infra/claude/client.js.map +1 -1
- package/dist/infra/claude/executor.d.ts.map +1 -1
- package/dist/infra/claude/executor.js +47 -8
- package/dist/infra/claude/executor.js.map +1 -1
- package/dist/infra/claude/types.d.ts +15 -83
- package/dist/infra/claude/types.d.ts.map +1 -1
- package/dist/infra/codex/CodexStreamHandler.d.ts +3 -2
- package/dist/infra/codex/CodexStreamHandler.d.ts.map +1 -1
- package/dist/infra/codex/CodexStreamHandler.js +2 -1
- package/dist/infra/codex/CodexStreamHandler.js.map +1 -1
- package/dist/infra/codex/client.d.ts +4 -0
- package/dist/infra/codex/client.d.ts.map +1 -1
- package/dist/infra/codex/client.js +82 -61
- package/dist/infra/codex/client.js.map +1 -1
- package/dist/infra/codex/types.d.ts +1 -1
- package/dist/infra/codex/types.d.ts.map +1 -1
- package/dist/infra/config/loaders/resource-resolver.d.ts +20 -3
- package/dist/infra/config/loaders/resource-resolver.d.ts.map +1 -1
- package/dist/infra/config/loaders/resource-resolver.js +201 -5
- package/dist/infra/config/loaders/resource-resolver.js.map +1 -1
- package/dist/infra/config/loaders/workflowDoctor.d.ts +1 -1
- package/dist/infra/config/loaders/workflowDoctor.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowDoctor.js +0 -5
- package/dist/infra/config/loaders/workflowDoctor.js.map +1 -1
- package/dist/infra/config/loaders/workflowFileLoader.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowFileLoader.js +1 -1
- package/dist/infra/config/loaders/workflowFileLoader.js.map +1 -1
- package/dist/infra/config/loaders/workflowLoopMonitorNormalizer.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowLoopMonitorNormalizer.js +1 -1
- package/dist/infra/config/loaders/workflowLoopMonitorNormalizer.js.map +1 -1
- package/dist/infra/config/loaders/workflowParser.d.ts +1 -2
- package/dist/infra/config/loaders/workflowParser.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowParser.js +15 -16
- package/dist/infra/config/loaders/workflowParser.js.map +1 -1
- package/dist/infra/config/loaders/workflowResolvedLoader.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowResolvedLoader.js +0 -4
- package/dist/infra/config/loaders/workflowResolvedLoader.js.map +1 -1
- package/dist/infra/config/loaders/workflowStepFeaturesNormalizer.d.ts +2 -2
- package/dist/infra/config/loaders/workflowStepFeaturesNormalizer.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowStepFeaturesNormalizer.js.map +1 -1
- package/dist/infra/config/loaders/workflowStepNormalizer.d.ts +1 -1
- package/dist/infra/config/loaders/workflowStepNormalizer.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowStepNormalizer.js +7 -6
- package/dist/infra/config/loaders/workflowStepNormalizer.js.map +1 -1
- package/dist/infra/config/loaders/workflowSystemStepNormalizer.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowSystemStepNormalizer.js +5 -0
- package/dist/infra/config/loaders/workflowSystemStepNormalizer.js.map +1 -1
- package/dist/infra/config/loaders/workflowTrustBoundary.d.ts +0 -9
- package/dist/infra/config/loaders/workflowTrustBoundary.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowTrustBoundary.js +24 -31
- package/dist/infra/config/loaders/workflowTrustBoundary.js.map +1 -1
- package/dist/infra/copilot/types.d.ts +1 -1
- package/dist/infra/copilot/types.d.ts.map +1 -1
- package/dist/infra/cursor/types.d.ts +1 -1
- package/dist/infra/cursor/types.d.ts.map +1 -1
- package/dist/infra/fs/session.d.ts.map +1 -1
- package/dist/infra/fs/session.js +1 -0
- package/dist/infra/fs/session.js.map +1 -1
- package/dist/infra/git/types.d.ts +1 -0
- package/dist/infra/git/types.d.ts.map +1 -1
- package/dist/infra/github/GitHubProvider.d.ts +1 -0
- package/dist/infra/github/GitHubProvider.d.ts.map +1 -1
- package/dist/infra/github/GitHubProvider.js +4 -1
- package/dist/infra/github/GitHubProvider.js.map +1 -1
- package/dist/infra/github/pr.d.ts +1 -0
- package/dist/infra/github/pr.d.ts.map +1 -1
- package/dist/infra/github/pr.js +19 -0
- package/dist/infra/github/pr.js.map +1 -1
- package/dist/infra/gitlab/GitLabProvider.d.ts +1 -0
- package/dist/infra/gitlab/GitLabProvider.d.ts.map +1 -1
- package/dist/infra/gitlab/GitLabProvider.js +4 -1
- package/dist/infra/gitlab/GitLabProvider.js.map +1 -1
- package/dist/infra/gitlab/pr.d.ts +1 -0
- package/dist/infra/gitlab/pr.d.ts.map +1 -1
- package/dist/infra/gitlab/pr.js +19 -0
- package/dist/infra/gitlab/pr.js.map +1 -1
- package/dist/infra/mock/client.d.ts.map +1 -1
- package/dist/infra/mock/types.d.ts +1 -1
- package/dist/infra/mock/types.d.ts.map +1 -1
- package/dist/infra/opencode/OpenCodeStreamHandler.d.ts +1 -1
- package/dist/infra/opencode/OpenCodeStreamHandler.d.ts.map +1 -1
- package/dist/infra/opencode/types.d.ts +1 -1
- package/dist/infra/opencode/types.d.ts.map +1 -1
- package/dist/infra/providers/types.d.ts +2 -1
- package/dist/infra/providers/types.d.ts.map +1 -1
- package/dist/infra/task/runner.d.ts +2 -2
- package/dist/infra/task/runner.d.ts.map +1 -1
- package/dist/infra/task/runner.js +4 -4
- package/dist/infra/task/runner.js.map +1 -1
- package/dist/infra/task/taskConfigSerialization.d.ts +1 -1
- package/dist/infra/task/taskConfigSerialization.d.ts.map +1 -1
- package/dist/infra/task/taskConfigSerialization.js +30 -3
- package/dist/infra/task/taskConfigSerialization.js.map +1 -1
- package/dist/infra/task/taskExecutionSchemas.d.ts +2 -2
- package/dist/infra/task/taskLifecycleService.d.ts +1 -0
- package/dist/infra/task/taskLifecycleService.d.ts.map +1 -1
- package/dist/infra/task/taskLifecycleService.js +22 -3
- package/dist/infra/task/taskLifecycleService.js.map +1 -1
- package/dist/infra/task/taskRecordMutations.d.ts +2 -2
- package/dist/infra/task/taskRecordMutations.d.ts.map +1 -1
- package/dist/infra/task/taskRecordMutations.js +14 -9
- package/dist/infra/task/taskRecordMutations.js.map +1 -1
- package/dist/infra/task/taskRecordSchemas.d.ts +2 -2
- package/dist/infra/task/taskRetryService.d.ts +2 -2
- package/dist/infra/task/taskRetryService.d.ts.map +1 -1
- package/dist/infra/task/taskRetryService.js +9 -10
- package/dist/infra/task/taskRetryService.js.map +1 -1
- package/dist/infra/workflow/system/DefaultSystemStepServices.d.ts.map +1 -1
- package/dist/infra/workflow/system/DefaultSystemStepServices.js +3 -1
- package/dist/infra/workflow/system/DefaultSystemStepServices.js.map +1 -1
- package/dist/infra/workflow/system/system-issue-input-resolver.d.ts +8 -2
- package/dist/infra/workflow/system/system-issue-input-resolver.d.ts.map +1 -1
- package/dist/infra/workflow/system/system-issue-input-resolver.js +140 -6
- package/dist/infra/workflow/system/system-issue-input-resolver.js.map +1 -1
- package/dist/infra/workflow/system/system-pr-effects.d.ts +3 -0
- package/dist/infra/workflow/system/system-pr-effects.d.ts.map +1 -1
- package/dist/infra/workflow/system/system-pr-effects.js +8 -0
- package/dist/infra/workflow/system/system-pr-effects.js.map +1 -1
- package/dist/infra/workflow/system/system-selection-helpers.d.ts +2 -0
- package/dist/infra/workflow/system/system-selection-helpers.d.ts.map +1 -1
- package/dist/infra/workflow/system/system-selection-helpers.js +15 -0
- package/dist/infra/workflow/system/system-selection-helpers.js.map +1 -1
- package/dist/shared/i18n/labels_en.yaml +4 -0
- package/dist/shared/i18n/labels_ja.yaml +4 -0
- package/dist/shared/prompts/en/perform_phase1_message.md +8 -7
- package/dist/shared/prompts/en/perform_phase2_message.md +4 -3
- package/dist/shared/prompts/ja/perform_phase1_message.md +8 -7
- package/dist/shared/prompts/ja/perform_phase2_message.md +4 -3
- package/dist/shared/types/agent-failure.d.ts +23 -0
- package/dist/shared/types/agent-failure.d.ts.map +1 -0
- package/dist/shared/types/agent-failure.js +72 -0
- package/dist/shared/types/agent-failure.js.map +1 -0
- package/dist/shared/types/provider.d.ts +2 -0
- package/dist/shared/types/provider.d.ts.map +1 -1
- package/dist/shared/utils/types.d.ts +4 -0
- package/dist/shared/utils/types.d.ts.map +1 -1
- package/dist/shared/utils/types.js +0 -6
- package/dist/shared/utils/types.js.map +1 -1
- package/package.json +1 -1
- package/builtins/en/facets/instructions/review-ai.md +0 -11
- package/builtins/ja/facets/instructions/review-ai.md +0 -11
- /package/builtins/en/facets/instructions/{ai-fix.md → ai-antipattern-fix.md} +0 -0
- /package/builtins/en/facets/instructions/{ai-review.md → ai-antipattern-review.md} +0 -0
- /package/builtins/en/facets/output-contracts/{ai-review.md → ai-antipattern-review.md} +0 -0
- /package/builtins/ja/facets/instructions/{ai-fix.md → ai-antipattern-fix.md} +0 -0
- /package/builtins/ja/facets/instructions/{ai-review.md → ai-antipattern-review.md} +0 -0
- /package/builtins/ja/facets/output-contracts/{ai-review.md → ai-antipattern-review.md} +0 -0
package/README.md
CHANGED
|
@@ -86,7 +86,7 @@ takt run
|
|
|
86
86
|
### Manage results
|
|
87
87
|
|
|
88
88
|
```bash
|
|
89
|
-
# List task branches — merge, retry, force-fail, or delete
|
|
89
|
+
# List task branches — merge, retry, requeue, force-fail, or delete
|
|
90
90
|
takt list
|
|
91
91
|
```
|
|
92
92
|
|
|
@@ -150,7 +150,7 @@ See the [Builtin Catalog](./docs/builtin-catalog.md) for all workflows and perso
|
|
|
150
150
|
|---------|-------------|
|
|
151
151
|
| `takt` | Talk to AI, refine requirements, execute or queue tasks |
|
|
152
152
|
| `takt run` | Execute all pending tasks |
|
|
153
|
-
| `takt list` | Manage task branches (merge, retry, force-fail, instruct, delete) |
|
|
153
|
+
| `takt list` | Manage task branches (merge, retry, requeue, force-fail, instruct, delete) |
|
|
154
154
|
| `takt #N` | Execute GitHub Issue as task |
|
|
155
155
|
| `takt eject` | Copy builtin workflows/facets for customization |
|
|
156
156
|
| `takt workflow init` | Create a new workflow scaffold |
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
The
|
|
1
|
+
The ai-antipattern-review-1st (reviewer) and ai-antipattern-fix (coder) disagree.
|
|
2
2
|
|
|
3
|
-
-
|
|
4
|
-
-
|
|
3
|
+
- ai-antipattern-review-1st flagged issues and issued a REJECT
|
|
4
|
+
- ai-antipattern-fix reviewed and determined "no fix needed"
|
|
5
5
|
|
|
6
6
|
Review both outputs and arbitrate which judgment is valid.
|
|
7
7
|
|
|
8
8
|
**Reports to reference:**
|
|
9
|
-
- AI review results: {report:ai-review.md}
|
|
9
|
+
- AI review results: {report:ai-antipattern-review.md}
|
|
10
10
|
|
|
11
11
|
**Judgment criteria:**
|
|
12
|
-
- Whether
|
|
13
|
-
- Whether
|
|
12
|
+
- Whether ai-antipattern-review-1st's findings are specific and point to real issues in the code
|
|
13
|
+
- Whether ai-antipattern-fix's rebuttal has evidence (file verification results, test results)
|
|
14
14
|
- Whether the findings are non-blocking (record only) level or actually require fixes
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
The
|
|
1
|
+
The ai-antipattern-review-1st ↔ ai-antipattern-fix loop has repeated {cycle_count} times.
|
|
2
2
|
|
|
3
3
|
Review the reports from each cycle and determine whether this loop
|
|
4
4
|
is healthy (making progress) or unproductive (repeating the same issues).
|
|
5
5
|
|
|
6
6
|
**Reports to reference:**
|
|
7
|
-
- AI Review results: {report:ai-review.md}
|
|
7
|
+
- AI Review results: {report:ai-antipattern-review.md}
|
|
8
8
|
|
|
9
9
|
**Judgment criteria:**
|
|
10
10
|
- Are the same finding_ids persisting across multiple cycles?
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Focus on reviewing **architecture and design**.
|
|
2
|
-
Do not review AI-specific issues (already covered by the
|
|
2
|
+
Do not review AI-specific issues (already covered by the ai-antipattern-review-1st step).
|
|
3
3
|
|
|
4
4
|
**Review criteria:**
|
|
5
5
|
- Structural and design validity
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Review the changes from the perspective of CQRS (Command Query Responsibility Segregation) and Event Sourcing.
|
|
2
|
-
AI-specific issue review is not needed (already covered by the
|
|
2
|
+
AI-specific issue review is not needed (already covered by the ai-antipattern-review-1st step).
|
|
3
3
|
|
|
4
4
|
**Review criteria:**
|
|
5
5
|
- Aggregate design validity
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Focus on reviewing **Terraform convention compliance**.
|
|
2
|
-
Do not review AI-specific issues (already covered by the
|
|
2
|
+
Do not review AI-specific issues (already covered by the ai-antipattern-review-1st step).
|
|
3
3
|
|
|
4
4
|
**Review criteria:**
|
|
5
5
|
- Variable declaration compliance (type, description, sensitive)
|
|
@@ -150,6 +150,25 @@ Test file length and duplication are warning-level maintainability concerns by d
|
|
|
150
150
|
- inability to detect regressions
|
|
151
151
|
- "Too long" or "duplicated" alone is not sufficient for `REJECT`
|
|
152
152
|
|
|
153
|
+
## Handling Changelog and History Files
|
|
154
|
+
|
|
155
|
+
Files or sections that record point-in-time facts (e.g., `CHANGELOG.md`, `RELEASE_NOTES.md`, `MIGRATION.md`) are history, not specifications of the current code. Judge them by their correctness as history.
|
|
156
|
+
|
|
157
|
+
| Target | Judgment |
|
|
158
|
+
|--------|----------|
|
|
159
|
+
| Past entry's config keys, API names, or behaviors do not match current code | REJECT prohibited |
|
|
160
|
+
| Records that were correct at the time of the relevant release | Modification requests prohibited |
|
|
161
|
+
| Factual errors in newly added entries (relative to the target release) | REJECT allowed |
|
|
162
|
+
| Markdown formatting issues, duplication, broken links, obvious typos | REJECT or Warning allowed |
|
|
163
|
+
|
|
164
|
+
### Judgment Criteria
|
|
165
|
+
|
|
166
|
+
- History records "what changed at that point in time," not "how the system currently works"
|
|
167
|
+
- Even if names or behaviors have been changed in current code, that is not grounds to rewrite past entries
|
|
168
|
+
- To request modification of a past entry, demonstrate that it was incorrect even at the relevant release point
|
|
169
|
+
- Identify history files/sections by file name (`CHANGELOG.md`, etc.) or conventional headings (`### Changed`, `### Added`, dated release headings)
|
|
170
|
+
- Do not REJECT a history file or section based solely on disagreement with current schema or current config keys
|
|
171
|
+
|
|
153
172
|
## Boy Scout Rule
|
|
154
173
|
|
|
155
174
|
Leave it better than you found it.
|
|
@@ -6,6 +6,7 @@ max_steps: infinite
|
|
|
6
6
|
initial_step: route_context
|
|
7
7
|
schemas:
|
|
8
8
|
followup-task: followup-task
|
|
9
|
+
pr-followup-task: pr-followup-task
|
|
9
10
|
steps:
|
|
10
11
|
- name: route_context
|
|
11
12
|
mode: system
|
|
@@ -37,6 +38,10 @@ steps:
|
|
|
37
38
|
- type: issue_selection
|
|
38
39
|
source: current_project
|
|
39
40
|
as: selected_issue
|
|
41
|
+
- type: issue_list
|
|
42
|
+
source: current_project
|
|
43
|
+
as: tracked_issues
|
|
44
|
+
exclude_selected_from: selected_issue
|
|
40
45
|
rules:
|
|
41
46
|
- when: context.route_context.selected_pr.exists == true
|
|
42
47
|
next: plan_from_existing_pr
|
|
@@ -62,22 +67,39 @@ steps:
|
|
|
62
67
|
- task_exists: {context:route_context.task.exists}
|
|
63
68
|
- branch_exists: {context:route_context.branch.exists}
|
|
64
69
|
|
|
65
|
-
Do not implement anything. Output only the next task instruction in task_markdown.
|
|
66
|
-
Output the next action in action.
|
|
67
|
-
If needed, output the issue creation plan in issue.
|
|
68
70
|
Current execution context:
|
|
69
71
|
- task_exists: {context:route_context.task.exists}
|
|
70
72
|
- branch_exists: {context:route_context.branch.exists}
|
|
71
73
|
|
|
74
|
+
Open managed PR snapshot for overlap checks:
|
|
75
|
+
{context:route_context.prs}
|
|
76
|
+
|
|
77
|
+
Other open issue metadata for overlap checks:
|
|
78
|
+
{context:route_context.tracked_issues}
|
|
79
|
+
- other_open_issue_count: {context:route_context.tracked_issues.length}
|
|
80
|
+
|
|
81
|
+
Prioritize user value. Prefer bug fix > missing capability completion > UX/quality improvement > cosmetic.
|
|
82
|
+
Plan exactly one task.
|
|
83
|
+
Only propose a task when it has a concrete deliverable and explicit completion criteria.
|
|
84
|
+
Avoid cosmetic-only changes unless they clearly unlock meaningful user value.
|
|
85
|
+
Treat the current issue itself as in-scope, not as a duplicate.
|
|
86
|
+
Avoid tasks that materially duplicate or overlap with an open PR or the other open issues listed above.
|
|
87
|
+
|
|
88
|
+
Do not implement anything. Output only the next task instruction in task_markdown.
|
|
89
|
+
Output the next action in action.
|
|
90
|
+
Always output task_markdown and issue.
|
|
91
|
+
For wait_before_next_scan, set task_markdown to an empty string and issue to { create: false, labels: [] }.
|
|
92
|
+
For an existing issue task, set issue.create to false unless a new GitHub Issue is explicitly needed.
|
|
93
|
+
|
|
72
94
|
Allowed action values:
|
|
73
95
|
- enqueue_new_task
|
|
74
|
-
-
|
|
96
|
+
- wait_before_next_scan
|
|
75
97
|
structured_output:
|
|
76
98
|
schema_ref: followup-task
|
|
77
99
|
rules:
|
|
78
100
|
- when: structured.plan_from_issue.action == "enqueue_new_task"
|
|
79
101
|
next: enqueue_from_issue
|
|
80
|
-
- when: structured.plan_from_issue.action == "
|
|
102
|
+
- when: structured.plan_from_issue.action == "wait_before_next_scan"
|
|
81
103
|
next: wait_before_next_scan
|
|
82
104
|
- when: "true"
|
|
83
105
|
next: ABORT
|
|
@@ -112,19 +134,35 @@ steps:
|
|
|
112
134
|
Inspect the current codebase,
|
|
113
135
|
and plan exactly one next improvement task.
|
|
114
136
|
|
|
137
|
+
Open managed PR snapshot for overlap checks:
|
|
138
|
+
{context:route_context.prs}
|
|
139
|
+
|
|
140
|
+
Open issue metadata already tracked:
|
|
141
|
+
{context:route_context.tracked_issues}
|
|
142
|
+
- open_issue_count: {context:route_context.tracked_issues.length}
|
|
143
|
+
|
|
144
|
+
Prioritize user value. Prefer bug fix > missing capability completion > UX/quality improvement > cosmetic.
|
|
145
|
+
Plan exactly one task.
|
|
146
|
+
Only propose a task when it has a concrete deliverable and explicit completion criteria.
|
|
147
|
+
Avoid cosmetic-only changes unless they clearly unlock meaningful user value.
|
|
148
|
+
Avoid tasks that materially duplicate or overlap with an open PR or tracked open issue.
|
|
149
|
+
If you cannot identify a clearly distinct, high-value task, choose wait_before_next_scan.
|
|
150
|
+
|
|
115
151
|
Do not implement anything. Output only the next task instruction in task_markdown.
|
|
116
152
|
Output the next action in action.
|
|
117
|
-
|
|
153
|
+
Always output task_markdown and issue.
|
|
154
|
+
For wait_before_next_scan, set task_markdown to an empty string and issue to { create: false, labels: [] }.
|
|
155
|
+
For a fresh improvement task, set issue.create to true so the task is backed by a GitHub Issue.
|
|
118
156
|
|
|
119
157
|
Allowed action values:
|
|
120
158
|
- enqueue_new_task
|
|
121
|
-
-
|
|
159
|
+
- wait_before_next_scan
|
|
122
160
|
structured_output:
|
|
123
161
|
schema_ref: followup-task
|
|
124
162
|
rules:
|
|
125
163
|
- when: structured.plan_fresh_improvement.action == "enqueue_new_task"
|
|
126
164
|
next: enqueue_fresh
|
|
127
|
-
- when: structured.plan_fresh_improvement.action == "
|
|
165
|
+
- when: structured.plan_fresh_improvement.action == "wait_before_next_scan"
|
|
128
166
|
next: wait_before_next_scan
|
|
129
167
|
- when: "true"
|
|
130
168
|
next: ABORT
|
|
@@ -165,36 +203,33 @@ steps:
|
|
|
165
203
|
- head_branch: {context:route_context.selected_pr.head_branch}
|
|
166
204
|
|
|
167
205
|
Output the next action in action.
|
|
168
|
-
|
|
169
|
-
|
|
206
|
+
Always output task_markdown.
|
|
207
|
+
For prepare_merge or reject_pr, set task_markdown to an empty string.
|
|
208
|
+
For enqueue_from_pr, output the follow-up implementation task in task_markdown.
|
|
170
209
|
|
|
171
210
|
Allowed action values:
|
|
172
|
-
- comment_on_pr
|
|
173
211
|
- enqueue_from_pr
|
|
174
212
|
- prepare_merge
|
|
175
|
-
-
|
|
213
|
+
- reject_pr
|
|
176
214
|
structured_output:
|
|
177
|
-
schema_ref: followup-task
|
|
215
|
+
schema_ref: pr-followup-task
|
|
178
216
|
rules:
|
|
179
|
-
- when: structured.plan_from_existing_pr.action == "comment_on_pr"
|
|
180
|
-
next: comment_on_existing_pr
|
|
181
217
|
- when: structured.plan_from_existing_pr.action == "enqueue_from_pr"
|
|
182
218
|
next: enqueue_from_pr
|
|
183
219
|
- when: structured.plan_from_existing_pr.action == "prepare_merge"
|
|
184
220
|
next: prepare_merge
|
|
185
|
-
- when: structured.plan_from_existing_pr.action == "
|
|
186
|
-
next:
|
|
221
|
+
- when: structured.plan_from_existing_pr.action == "reject_pr"
|
|
222
|
+
next: reject_pr
|
|
187
223
|
- when: "true"
|
|
188
224
|
next: ABORT
|
|
189
225
|
|
|
190
|
-
- name:
|
|
226
|
+
- name: reject_pr
|
|
191
227
|
mode: system
|
|
192
228
|
effects:
|
|
193
|
-
- type:
|
|
229
|
+
- type: close_pr
|
|
194
230
|
pr: "{context:route_context.selected_pr.number}"
|
|
195
|
-
body: "{structured:plan_from_existing_pr.pr_comment_markdown}"
|
|
196
231
|
rules:
|
|
197
|
-
- when: effect.
|
|
232
|
+
- when: effect.reject_pr.close_pr.success == true
|
|
198
233
|
next: wait_before_next_scan
|
|
199
234
|
- when: "true"
|
|
200
235
|
next: ABORT
|
|
@@ -92,7 +92,7 @@ steps:
|
|
|
92
92
|
format: coder-decisions
|
|
93
93
|
- name: reviewers
|
|
94
94
|
parallel:
|
|
95
|
-
- name:
|
|
95
|
+
- name: ai-antipattern-review-2nd
|
|
96
96
|
edit: false
|
|
97
97
|
persona: ai-antipattern-reviewer
|
|
98
98
|
policy:
|
|
@@ -106,14 +106,14 @@ steps:
|
|
|
106
106
|
- Grep
|
|
107
107
|
- WebSearch
|
|
108
108
|
- WebFetch
|
|
109
|
-
instruction: review
|
|
109
|
+
instruction: ai-antipattern-review
|
|
110
110
|
rules:
|
|
111
111
|
- condition: No AI-specific issues
|
|
112
112
|
- condition: AI-specific issues found
|
|
113
113
|
output_contracts:
|
|
114
114
|
report:
|
|
115
|
-
- name: ai-review.md
|
|
116
|
-
format: ai-review
|
|
115
|
+
- name: ai-antipattern-review.md
|
|
116
|
+
format: ai-antipattern-review
|
|
117
117
|
- name: supervise
|
|
118
118
|
edit: false
|
|
119
119
|
persona: supervisor
|
|
@@ -149,12 +149,12 @@ steps:
|
|
|
149
149
|
- condition: all("AI-specific issues found", "Requirements unmet, tests failing")
|
|
150
150
|
next: fix_both
|
|
151
151
|
- condition: any("AI-specific issues found")
|
|
152
|
-
next:
|
|
152
|
+
next: ai-antipattern-fix
|
|
153
153
|
- condition: any("Requirements unmet, tests failing")
|
|
154
154
|
next: supervise_fix
|
|
155
155
|
- name: fix_both
|
|
156
156
|
parallel:
|
|
157
|
-
- name:
|
|
157
|
+
- name: ai-antipattern-fix-parallel
|
|
158
158
|
edit: true
|
|
159
159
|
persona: coder
|
|
160
160
|
policy:
|
|
@@ -180,7 +180,7 @@ steps:
|
|
|
180
180
|
- condition: AI Reviewer's issues fixed
|
|
181
181
|
- condition: No fix needed (verified target files/spec)
|
|
182
182
|
- condition: Cannot proceed, insufficient info
|
|
183
|
-
instruction: ai-fix
|
|
183
|
+
instruction: ai-antipattern-fix
|
|
184
184
|
- name: supervise_fix_parallel
|
|
185
185
|
edit: true
|
|
186
186
|
persona: coder
|
|
@@ -212,7 +212,7 @@ steps:
|
|
|
212
212
|
next: reviewers
|
|
213
213
|
- condition: any("No fix needed (verified target files/spec)", "Cannot proceed, insufficient info")
|
|
214
214
|
next: implement
|
|
215
|
-
- name:
|
|
215
|
+
- name: ai-antipattern-fix
|
|
216
216
|
edit: true
|
|
217
217
|
persona: coder
|
|
218
218
|
policy:
|
|
@@ -243,7 +243,7 @@ steps:
|
|
|
243
243
|
next: implement
|
|
244
244
|
- condition: Cannot proceed, insufficient info
|
|
245
245
|
next: implement
|
|
246
|
-
instruction: ai-fix
|
|
246
|
+
instruction: ai-antipattern-fix
|
|
247
247
|
- name: supervise_fix
|
|
248
248
|
edit: true
|
|
249
249
|
persona: coder
|
|
@@ -10,15 +10,15 @@ max_steps: 60
|
|
|
10
10
|
initial_step: plan
|
|
11
11
|
loop_monitors:
|
|
12
12
|
- cycle:
|
|
13
|
-
-
|
|
14
|
-
-
|
|
13
|
+
- ai-antipattern-review-1st
|
|
14
|
+
- ai-antipattern-fix
|
|
15
15
|
threshold: 3
|
|
16
16
|
judge:
|
|
17
17
|
persona: supervisor
|
|
18
|
-
instruction: loop-monitor-ai-fix
|
|
18
|
+
instruction: loop-monitor-ai-antipattern-fix
|
|
19
19
|
rules:
|
|
20
20
|
- condition: Healthy (making progress)
|
|
21
|
-
next:
|
|
21
|
+
next: ai-antipattern-review-1st
|
|
22
22
|
- condition: Unproductive (no improvement)
|
|
23
23
|
next: reviewers_1
|
|
24
24
|
- cycle:
|
|
@@ -126,11 +126,11 @@ steps:
|
|
|
126
126
|
instruction: implement
|
|
127
127
|
rules:
|
|
128
128
|
- condition: Implementation is complete
|
|
129
|
-
next:
|
|
129
|
+
next: ai-antipattern-review-1st
|
|
130
130
|
- condition: No implementation (report only)
|
|
131
|
-
next:
|
|
131
|
+
next: ai-antipattern-review-1st
|
|
132
132
|
- condition: Cannot proceed with implementation
|
|
133
|
-
next:
|
|
133
|
+
next: ai-antipattern-review-1st
|
|
134
134
|
- condition: User input required
|
|
135
135
|
next: implement
|
|
136
136
|
requires_user_input: true
|
|
@@ -141,7 +141,7 @@ steps:
|
|
|
141
141
|
format: coder-scope
|
|
142
142
|
- name: coder-decisions.md
|
|
143
143
|
format: coder-decisions
|
|
144
|
-
- name:
|
|
144
|
+
- name: ai-antipattern-review-1st
|
|
145
145
|
edit: false
|
|
146
146
|
persona: ai-antipattern-reviewer
|
|
147
147
|
policy:
|
|
@@ -155,17 +155,17 @@ steps:
|
|
|
155
155
|
- Grep
|
|
156
156
|
- WebSearch
|
|
157
157
|
- WebFetch
|
|
158
|
-
instruction: ai-review
|
|
158
|
+
instruction: ai-antipattern-review
|
|
159
159
|
rules:
|
|
160
160
|
- condition: No AI-specific issues found
|
|
161
161
|
next: reviewers_1
|
|
162
162
|
- condition: AI-specific issues detected
|
|
163
|
-
next:
|
|
163
|
+
next: ai-antipattern-fix
|
|
164
164
|
output_contracts:
|
|
165
165
|
report:
|
|
166
|
-
- name: ai-review.md
|
|
167
|
-
format: ai-review
|
|
168
|
-
- name:
|
|
166
|
+
- name: ai-antipattern-review.md
|
|
167
|
+
format: ai-antipattern-review
|
|
168
|
+
- name: ai-antipattern-fix
|
|
169
169
|
edit: true
|
|
170
170
|
persona: coder
|
|
171
171
|
policy:
|
|
@@ -188,16 +188,16 @@ steps:
|
|
|
188
188
|
- Bash
|
|
189
189
|
- WebSearch
|
|
190
190
|
- WebFetch
|
|
191
|
-
instruction: ai-fix
|
|
191
|
+
instruction: ai-antipattern-fix
|
|
192
192
|
pass_previous_response: false
|
|
193
193
|
rules:
|
|
194
194
|
- condition: AI Reviewer's issues have been fixed
|
|
195
|
-
next:
|
|
195
|
+
next: ai-antipattern-review-1st
|
|
196
196
|
- condition: No fix needed (verified target files/spec)
|
|
197
|
-
next:
|
|
197
|
+
next: ai-antipattern-no-fix
|
|
198
198
|
- condition: Unable to proceed with fixes
|
|
199
|
-
next:
|
|
200
|
-
- name:
|
|
199
|
+
next: ai-antipattern-no-fix
|
|
200
|
+
- name: ai-antipattern-no-fix
|
|
201
201
|
edit: false
|
|
202
202
|
persona: architecture-reviewer
|
|
203
203
|
policy: review
|
|
@@ -208,9 +208,9 @@ steps:
|
|
|
208
208
|
- Glob
|
|
209
209
|
- Grep
|
|
210
210
|
rules:
|
|
211
|
-
- condition:
|
|
212
|
-
next:
|
|
213
|
-
- condition:
|
|
211
|
+
- condition: ai-antipattern-review-1st's findings are valid (fix required)
|
|
212
|
+
next: ai-antipattern-fix
|
|
213
|
+
- condition: ai-antipattern-fix's judgment is valid (no fix needed)
|
|
214
214
|
next: reviewers_1
|
|
215
215
|
instruction: arbitrate
|
|
216
216
|
- name: reviewers_1
|
|
@@ -263,6 +263,28 @@ steps:
|
|
|
263
263
|
report:
|
|
264
264
|
- name: testing-review.md
|
|
265
265
|
format: testing-review
|
|
266
|
+
- name: ai-antipattern-review-2nd
|
|
267
|
+
edit: false
|
|
268
|
+
persona: ai-antipattern-reviewer
|
|
269
|
+
policy:
|
|
270
|
+
- review
|
|
271
|
+
- ai-antipattern
|
|
272
|
+
provider_options:
|
|
273
|
+
claude:
|
|
274
|
+
allowed_tools:
|
|
275
|
+
- Read
|
|
276
|
+
- Glob
|
|
277
|
+
- Grep
|
|
278
|
+
- WebSearch
|
|
279
|
+
- WebFetch
|
|
280
|
+
instruction: ai-antipattern-review
|
|
281
|
+
rules:
|
|
282
|
+
- condition: approved
|
|
283
|
+
- condition: needs_fix
|
|
284
|
+
output_contracts:
|
|
285
|
+
report:
|
|
286
|
+
- name: ai-antipattern-review.md
|
|
287
|
+
format: ai-antipattern-review
|
|
266
288
|
rules:
|
|
267
289
|
- condition: all("approved")
|
|
268
290
|
next: reviewers_2
|
|
@@ -90,7 +90,7 @@ steps:
|
|
|
90
90
|
format: coder-decisions
|
|
91
91
|
- name: reviewers
|
|
92
92
|
parallel:
|
|
93
|
-
- name:
|
|
93
|
+
- name: ai-antipattern-review-2nd
|
|
94
94
|
edit: false
|
|
95
95
|
persona: ai-antipattern-reviewer
|
|
96
96
|
policy:
|
|
@@ -104,14 +104,14 @@ steps:
|
|
|
104
104
|
- Grep
|
|
105
105
|
- WebSearch
|
|
106
106
|
- WebFetch
|
|
107
|
-
instruction: review
|
|
107
|
+
instruction: ai-antipattern-review
|
|
108
108
|
rules:
|
|
109
109
|
- condition: No AI-specific issues
|
|
110
110
|
- condition: AI-specific issues found
|
|
111
111
|
output_contracts:
|
|
112
112
|
report:
|
|
113
|
-
- name: ai-review.md
|
|
114
|
-
format: ai-review
|
|
113
|
+
- name: ai-antipattern-review.md
|
|
114
|
+
format: ai-antipattern-review
|
|
115
115
|
- name: supervise
|
|
116
116
|
edit: false
|
|
117
117
|
persona: supervisor
|
|
@@ -146,12 +146,12 @@ steps:
|
|
|
146
146
|
- condition: all("AI-specific issues found", "Requirements unmet, tests failing")
|
|
147
147
|
next: fix_both
|
|
148
148
|
- condition: any("AI-specific issues found")
|
|
149
|
-
next:
|
|
149
|
+
next: ai-antipattern-fix
|
|
150
150
|
- condition: any("Requirements unmet, tests failing")
|
|
151
151
|
next: supervise_fix
|
|
152
152
|
- name: fix_both
|
|
153
153
|
parallel:
|
|
154
|
-
- name:
|
|
154
|
+
- name: ai-antipattern-fix-parallel
|
|
155
155
|
edit: true
|
|
156
156
|
persona: coder
|
|
157
157
|
policy:
|
|
@@ -176,7 +176,7 @@ steps:
|
|
|
176
176
|
- condition: AI Reviewer's issues fixed
|
|
177
177
|
- condition: No fix needed (verified target files/spec)
|
|
178
178
|
- condition: Cannot proceed, insufficient info
|
|
179
|
-
instruction: ai-fix
|
|
179
|
+
instruction: ai-antipattern-fix
|
|
180
180
|
- name: supervise_fix_parallel
|
|
181
181
|
edit: true
|
|
182
182
|
persona: coder
|
|
@@ -207,7 +207,7 @@ steps:
|
|
|
207
207
|
next: reviewers
|
|
208
208
|
- condition: any("No fix needed (verified target files/spec)", "Cannot proceed, insufficient info")
|
|
209
209
|
next: implement
|
|
210
|
-
- name:
|
|
210
|
+
- name: ai-antipattern-fix
|
|
211
211
|
edit: true
|
|
212
212
|
persona: coder
|
|
213
213
|
policy:
|
|
@@ -237,7 +237,7 @@ steps:
|
|
|
237
237
|
next: implement
|
|
238
238
|
- condition: Cannot proceed, insufficient info
|
|
239
239
|
next: implement
|
|
240
|
-
instruction: ai-fix
|
|
240
|
+
instruction: ai-antipattern-fix
|
|
241
241
|
- name: supervise_fix
|
|
242
242
|
edit: true
|
|
243
243
|
persona: coder
|
|
@@ -10,15 +10,15 @@ max_steps: 60
|
|
|
10
10
|
initial_step: plan
|
|
11
11
|
loop_monitors:
|
|
12
12
|
- cycle:
|
|
13
|
-
-
|
|
14
|
-
-
|
|
13
|
+
- ai-antipattern-review-1st
|
|
14
|
+
- ai-antipattern-fix
|
|
15
15
|
threshold: 3
|
|
16
16
|
judge:
|
|
17
17
|
persona: supervisor
|
|
18
|
-
instruction: loop-monitor-ai-fix
|
|
18
|
+
instruction: loop-monitor-ai-antipattern-fix
|
|
19
19
|
rules:
|
|
20
20
|
- condition: Healthy (making progress)
|
|
21
|
-
next:
|
|
21
|
+
next: ai-antipattern-review-1st
|
|
22
22
|
- condition: Unproductive (no improvement)
|
|
23
23
|
next: reviewers_1
|
|
24
24
|
- cycle:
|
|
@@ -123,11 +123,11 @@ steps:
|
|
|
123
123
|
instruction: implement
|
|
124
124
|
rules:
|
|
125
125
|
- condition: Implementation is complete
|
|
126
|
-
next:
|
|
126
|
+
next: ai-antipattern-review-1st
|
|
127
127
|
- condition: No implementation (report only)
|
|
128
|
-
next:
|
|
128
|
+
next: ai-antipattern-review-1st
|
|
129
129
|
- condition: Cannot proceed with implementation
|
|
130
|
-
next:
|
|
130
|
+
next: ai-antipattern-review-1st
|
|
131
131
|
- condition: User input required
|
|
132
132
|
next: implement
|
|
133
133
|
requires_user_input: true
|
|
@@ -138,7 +138,7 @@ steps:
|
|
|
138
138
|
format: coder-scope
|
|
139
139
|
- name: coder-decisions.md
|
|
140
140
|
format: coder-decisions
|
|
141
|
-
- name:
|
|
141
|
+
- name: ai-antipattern-review-1st
|
|
142
142
|
edit: false
|
|
143
143
|
persona: ai-antipattern-reviewer
|
|
144
144
|
policy:
|
|
@@ -152,17 +152,17 @@ steps:
|
|
|
152
152
|
- Grep
|
|
153
153
|
- WebSearch
|
|
154
154
|
- WebFetch
|
|
155
|
-
instruction: ai-review
|
|
155
|
+
instruction: ai-antipattern-review
|
|
156
156
|
rules:
|
|
157
157
|
- condition: No AI-specific issues found
|
|
158
158
|
next: reviewers_1
|
|
159
159
|
- condition: AI-specific issues detected
|
|
160
|
-
next:
|
|
160
|
+
next: ai-antipattern-fix
|
|
161
161
|
output_contracts:
|
|
162
162
|
report:
|
|
163
|
-
- name: ai-review.md
|
|
164
|
-
format: ai-review
|
|
165
|
-
- name:
|
|
163
|
+
- name: ai-antipattern-review.md
|
|
164
|
+
format: ai-antipattern-review
|
|
165
|
+
- name: ai-antipattern-fix
|
|
166
166
|
edit: true
|
|
167
167
|
persona: coder
|
|
168
168
|
policy:
|
|
@@ -184,16 +184,16 @@ steps:
|
|
|
184
184
|
- Bash
|
|
185
185
|
- WebSearch
|
|
186
186
|
- WebFetch
|
|
187
|
-
instruction: ai-fix
|
|
187
|
+
instruction: ai-antipattern-fix
|
|
188
188
|
pass_previous_response: false
|
|
189
189
|
rules:
|
|
190
190
|
- condition: AI Reviewer's issues have been fixed
|
|
191
|
-
next:
|
|
191
|
+
next: ai-antipattern-review-1st
|
|
192
192
|
- condition: No fix needed (verified target files/spec)
|
|
193
|
-
next:
|
|
193
|
+
next: ai-antipattern-no-fix
|
|
194
194
|
- condition: Unable to proceed with fixes
|
|
195
|
-
next:
|
|
196
|
-
- name:
|
|
195
|
+
next: ai-antipattern-no-fix
|
|
196
|
+
- name: ai-antipattern-no-fix
|
|
197
197
|
edit: false
|
|
198
198
|
persona: architecture-reviewer
|
|
199
199
|
policy: review
|
|
@@ -204,9 +204,9 @@ steps:
|
|
|
204
204
|
- Glob
|
|
205
205
|
- Grep
|
|
206
206
|
rules:
|
|
207
|
-
- condition:
|
|
208
|
-
next:
|
|
209
|
-
- condition:
|
|
207
|
+
- condition: ai-antipattern-review-1st's findings are valid (fix required)
|
|
208
|
+
next: ai-antipattern-fix
|
|
209
|
+
- condition: ai-antipattern-fix's judgment is valid (no fix needed)
|
|
210
210
|
next: reviewers_1
|
|
211
211
|
instruction: arbitrate
|
|
212
212
|
- name: reviewers_1
|
|
@@ -259,6 +259,28 @@ steps:
|
|
|
259
259
|
report:
|
|
260
260
|
- name: testing-review.md
|
|
261
261
|
format: testing-review
|
|
262
|
+
- name: ai-antipattern-review-2nd
|
|
263
|
+
edit: false
|
|
264
|
+
persona: ai-antipattern-reviewer
|
|
265
|
+
policy:
|
|
266
|
+
- review
|
|
267
|
+
- ai-antipattern
|
|
268
|
+
provider_options:
|
|
269
|
+
claude:
|
|
270
|
+
allowed_tools:
|
|
271
|
+
- Read
|
|
272
|
+
- Glob
|
|
273
|
+
- Grep
|
|
274
|
+
- WebSearch
|
|
275
|
+
- WebFetch
|
|
276
|
+
instruction: ai-antipattern-review
|
|
277
|
+
rules:
|
|
278
|
+
- condition: approved
|
|
279
|
+
- condition: needs_fix
|
|
280
|
+
output_contracts:
|
|
281
|
+
report:
|
|
282
|
+
- name: ai-antipattern-review.md
|
|
283
|
+
format: ai-antipattern-review
|
|
262
284
|
rules:
|
|
263
285
|
- condition: all("approved")
|
|
264
286
|
next: reviewers_2
|