takt 0.42.0 → 0.43.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 +1 -0
- package/builtins/en/config.yaml +9 -1
- package/builtins/en/facets/instructions/dual-team-leader-implement.md +7 -2
- package/builtins/en/facets/instructions/fix-maintenance.md +43 -0
- package/builtins/en/facets/instructions/implement-maintenance.md +72 -0
- package/builtins/en/facets/instructions/plan-maintenance.md +51 -0
- package/builtins/en/facets/instructions/review-coding.md +8 -0
- package/builtins/en/facets/instructions/supervise-maintenance.md +110 -0
- package/builtins/en/facets/instructions/team-leader-implement.md +6 -1
- package/builtins/en/facets/instructions/write-tests-maintenance.md +45 -0
- package/builtins/en/facets/knowledge/architecture.md +5 -0
- package/builtins/en/facets/knowledge/existing-system.md +70 -0
- package/builtins/en/facets/knowledge/frontend.md +12 -0
- package/builtins/en/facets/knowledge/react.md +35 -0
- package/builtins/en/facets/output-contracts/coding-review.md +41 -0
- package/builtins/en/facets/output-contracts/maintenance-scope.md +29 -0
- package/builtins/en/facets/personas/coding-reviewer.md +27 -0
- package/builtins/en/facets/personas/dual-supervisor.md +1 -1
- package/builtins/en/facets/policies/ai-antipattern.md +40 -0
- package/builtins/en/facets/policies/existing-system-respect.md +73 -0
- package/builtins/en/facets/policies/review.md +20 -9
- package/builtins/en/workflow-categories.yaml +1 -0
- package/builtins/en/workflows/default-peer-review.yaml +25 -3
- package/builtins/en/workflows/frontend-maintenance.yaml +499 -0
- package/builtins/en/workflows/peer-review.yaml +23 -1
- package/builtins/en/workflows/review-fix-takt-default.yaml +30 -2
- package/builtins/ja/config.yaml +9 -1
- package/builtins/ja/facets/instructions/dual-team-leader-implement.md +7 -2
- package/builtins/ja/facets/instructions/fix-maintenance.md +43 -0
- package/builtins/ja/facets/instructions/implement-maintenance.md +72 -0
- package/builtins/ja/facets/instructions/plan-maintenance.md +51 -0
- package/builtins/ja/facets/instructions/review-coding.md +8 -0
- package/builtins/ja/facets/instructions/supervise-maintenance.md +110 -0
- package/builtins/ja/facets/instructions/team-leader-implement.md +6 -1
- package/builtins/ja/facets/instructions/write-tests-maintenance.md +45 -0
- package/builtins/ja/facets/knowledge/architecture.md +5 -0
- package/builtins/ja/facets/knowledge/existing-system.md +70 -0
- package/builtins/ja/facets/knowledge/frontend.md +12 -0
- package/builtins/ja/facets/knowledge/react.md +35 -0
- package/builtins/ja/facets/output-contracts/coding-review.md +41 -0
- package/builtins/ja/facets/output-contracts/maintenance-scope.md +29 -0
- package/builtins/ja/facets/personas/coding-reviewer.md +27 -0
- package/builtins/ja/facets/personas/dual-supervisor.md +2 -2
- package/builtins/ja/facets/policies/ai-antipattern.md +40 -0
- package/builtins/ja/facets/policies/existing-system-respect.md +73 -0
- package/builtins/ja/facets/policies/review.md +20 -9
- package/builtins/ja/workflow-categories.yaml +1 -0
- package/builtins/ja/workflows/default-peer-review.yaml +25 -3
- package/builtins/ja/workflows/frontend-maintenance.yaml +499 -0
- package/builtins/ja/workflows/peer-review.yaml +23 -1
- package/builtins/ja/workflows/review-fix-takt-default.yaml +30 -2
- package/builtins/skill/references/yaml-schema.md +8 -3
- package/builtins/skill-codex/references/yaml-schema.md +8 -3
- package/dist/agents/team-leader-structured-output.d.ts.map +1 -1
- package/dist/agents/team-leader-structured-output.js +21 -0
- package/dist/agents/team-leader-structured-output.js.map +1 -1
- package/dist/app/cli/commands.js +7 -1
- package/dist/app/cli/commands.js.map +1 -1
- package/dist/app/cli/routing.d.ts.map +1 -1
- package/dist/app/cli/routing.js +8 -1
- package/dist/app/cli/routing.js.map +1 -1
- package/dist/core/models/config-schemas.d.ts +72 -9
- package/dist/core/models/config-schemas.d.ts.map +1 -1
- package/dist/core/models/config-schemas.js +4 -0
- package/dist/core/models/config-schemas.js.map +1 -1
- package/dist/core/models/config-types.d.ts +10 -3
- package/dist/core/models/config-types.d.ts.map +1 -1
- 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/quality-gate-defaults.d.ts +2 -0
- package/dist/core/models/quality-gate-defaults.d.ts.map +1 -0
- package/dist/core/models/quality-gate-defaults.js +2 -0
- package/dist/core/models/quality-gate-defaults.js.map +1 -0
- package/dist/core/models/schema-base.d.ts +15 -3
- package/dist/core/models/schema-base.d.ts.map +1 -1
- package/dist/core/models/schema-base.js +45 -2
- package/dist/core/models/schema-base.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-schemas.d.ts +91 -13
- package/dist/core/models/workflow-schemas.d.ts.map +1 -1
- package/dist/core/models/workflow-types.d.ts +11 -3
- package/dist/core/models/workflow-types.d.ts.map +1 -1
- package/dist/core/workflow/engine/ParallelRunner.d.ts +11 -0
- package/dist/core/workflow/engine/ParallelRunner.d.ts.map +1 -1
- package/dist/core/workflow/engine/ParallelRunner.js +139 -19
- package/dist/core/workflow/engine/ParallelRunner.js.map +1 -1
- package/dist/core/workflow/engine/TeamLeaderRunner.d.ts.map +1 -1
- package/dist/core/workflow/engine/TeamLeaderRunner.js +55 -23
- package/dist/core/workflow/engine/TeamLeaderRunner.js.map +1 -1
- package/dist/core/workflow/engine/WorkflowEngine.d.ts.map +1 -1
- package/dist/core/workflow/engine/WorkflowEngine.js +5 -0
- package/dist/core/workflow/engine/WorkflowEngine.js.map +1 -1
- package/dist/core/workflow/engine/WorkflowEngineSetup.d.ts.map +1 -1
- package/dist/core/workflow/engine/WorkflowEngineSetup.js +2 -0
- package/dist/core/workflow/engine/WorkflowEngineSetup.js.map +1 -1
- package/dist/core/workflow/engine/WorkflowRunLoop.d.ts +7 -0
- package/dist/core/workflow/engine/WorkflowRunLoop.d.ts.map +1 -1
- package/dist/core/workflow/engine/WorkflowRunLoop.js +52 -0
- package/dist/core/workflow/engine/WorkflowRunLoop.js.map +1 -1
- package/dist/core/workflow/engine/team-leader-execution.d.ts +1 -0
- package/dist/core/workflow/engine/team-leader-execution.d.ts.map +1 -1
- package/dist/core/workflow/engine/team-leader-execution.js +22 -0
- package/dist/core/workflow/engine/team-leader-execution.js.map +1 -1
- package/dist/core/workflow/engine/team-leader-timeout-fallback.d.ts +13 -0
- package/dist/core/workflow/engine/team-leader-timeout-fallback.d.ts.map +1 -0
- package/dist/core/workflow/engine/team-leader-timeout-fallback.js +125 -0
- package/dist/core/workflow/engine/team-leader-timeout-fallback.js.map +1 -0
- package/dist/core/workflow/instruction/InstructionBuilder.d.ts.map +1 -1
- package/dist/core/workflow/instruction/InstructionBuilder.js +4 -3
- package/dist/core/workflow/instruction/InstructionBuilder.js.map +1 -1
- package/dist/core/workflow/part-definition-validator.d.ts.map +1 -1
- package/dist/core/workflow/part-definition-validator.js +4 -0
- package/dist/core/workflow/part-definition-validator.js.map +1 -1
- package/dist/core/workflow/quality-gates/commandGateMessage.d.ts +4 -0
- package/dist/core/workflow/quality-gates/commandGateMessage.d.ts.map +1 -0
- package/dist/core/workflow/quality-gates/commandGateMessage.js +84 -0
- package/dist/core/workflow/quality-gates/commandGateMessage.js.map +1 -0
- package/dist/core/workflow/quality-gates/commandGateRunner.d.ts +3 -0
- package/dist/core/workflow/quality-gates/commandGateRunner.d.ts.map +1 -0
- package/dist/core/workflow/quality-gates/commandGateRunner.js +242 -0
- package/dist/core/workflow/quality-gates/commandGateRunner.js.map +1 -0
- package/dist/core/workflow/quality-gates/qualityGateRunner.d.ts +3 -0
- package/dist/core/workflow/quality-gates/qualityGateRunner.d.ts.map +1 -0
- package/dist/core/workflow/quality-gates/qualityGateRunner.js +29 -0
- package/dist/core/workflow/quality-gates/qualityGateRunner.js.map +1 -0
- package/dist/core/workflow/quality-gates/types.d.ts +41 -0
- package/dist/core/workflow/quality-gates/types.d.ts.map +1 -0
- package/dist/core/workflow/quality-gates/types.js +2 -0
- package/dist/core/workflow/quality-gates/types.js.map +1 -0
- package/dist/core/workflow/run/run-meta.d.ts +3 -1
- package/dist/core/workflow/run/run-meta.d.ts.map +1 -1
- package/dist/core/workflow/run/run-meta.js +2 -0
- package/dist/core/workflow/run/run-meta.js.map +1 -1
- package/dist/core/workflow/run/run-slug.d.ts +2 -0
- package/dist/core/workflow/run/run-slug.d.ts.map +1 -0
- package/dist/core/workflow/run/run-slug.js +19 -0
- package/dist/core/workflow/run/run-slug.js.map +1 -0
- package/dist/core/workflow/team-leader-continuation-ids.d.ts +3 -0
- package/dist/core/workflow/team-leader-continuation-ids.d.ts.map +1 -0
- package/dist/core/workflow/team-leader-continuation-ids.js +6 -0
- package/dist/core/workflow/team-leader-continuation-ids.js.map +1 -0
- package/dist/core/workflow/types.d.ts +4 -0
- package/dist/core/workflow/types.d.ts.map +1 -1
- package/dist/features/interactive/conversationLoop.d.ts.map +1 -1
- package/dist/features/interactive/conversationLoop.js +11 -9
- package/dist/features/interactive/conversationLoop.js.map +1 -1
- package/dist/features/interactive/imageAttachments.d.ts +20 -0
- package/dist/features/interactive/imageAttachments.d.ts.map +1 -0
- package/dist/features/interactive/imageAttachments.js +75 -0
- package/dist/features/interactive/imageAttachments.js.map +1 -0
- package/dist/features/interactive/index.d.ts +2 -1
- package/dist/features/interactive/index.d.ts.map +1 -1
- package/dist/features/interactive/index.js +1 -1
- package/dist/features/interactive/index.js.map +1 -1
- package/dist/features/interactive/inlineImagePaste.d.ts +21 -0
- package/dist/features/interactive/inlineImagePaste.d.ts.map +1 -0
- package/dist/features/interactive/inlineImagePaste.js +136 -0
- package/dist/features/interactive/inlineImagePaste.js.map +1 -0
- package/dist/features/interactive/instructModeTypes.d.ts +23 -0
- package/dist/features/interactive/instructModeTypes.d.ts.map +1 -0
- package/dist/features/interactive/instructModeTypes.js +2 -0
- package/dist/features/interactive/instructModeTypes.js.map +1 -0
- package/dist/features/interactive/interactive.d.ts +3 -0
- package/dist/features/interactive/interactive.d.ts.map +1 -1
- package/dist/features/interactive/interactive.js.map +1 -1
- package/dist/features/interactive/interactiveInput.d.ts +2 -1
- package/dist/features/interactive/interactiveInput.d.ts.map +1 -1
- package/dist/features/interactive/interactiveInput.js +5 -1
- package/dist/features/interactive/interactiveInput.js.map +1 -1
- package/dist/features/interactive/lineEditor.d.ts +2 -0
- package/dist/features/interactive/lineEditor.d.ts.map +1 -1
- package/dist/features/interactive/lineEditor.js +130 -9
- package/dist/features/interactive/lineEditor.js.map +1 -1
- package/dist/features/interactive/passthroughMode.d.ts.map +1 -1
- package/dist/features/interactive/passthroughMode.js +8 -4
- package/dist/features/interactive/passthroughMode.js.map +1 -1
- package/dist/features/interactive/quietMode.d.ts.map +1 -1
- package/dist/features/interactive/quietMode.js +12 -8
- package/dist/features/interactive/quietMode.js.map +1 -1
- package/dist/features/interactive/retryMode.d.ts +10 -13
- package/dist/features/interactive/retryMode.d.ts.map +1 -1
- package/dist/features/interactive/retryMode.js +42 -22
- package/dist/features/interactive/retryMode.js.map +1 -1
- package/dist/features/tasks/add/index.d.ts +4 -0
- package/dist/features/tasks/add/index.d.ts.map +1 -1
- package/dist/features/tasks/add/index.js +12 -29
- package/dist/features/tasks/add/index.js.map +1 -1
- package/dist/features/tasks/attachments.d.ts +19 -0
- package/dist/features/tasks/attachments.d.ts.map +1 -0
- package/dist/features/tasks/attachments.js +129 -0
- package/dist/features/tasks/attachments.js.map +1 -0
- package/dist/features/tasks/execute/resolveTask.d.ts.map +1 -1
- package/dist/features/tasks/execute/resolveTask.js +4 -3
- package/dist/features/tasks/execute/resolveTask.js.map +1 -1
- package/dist/features/tasks/execute/runMeta.d.ts +5 -1
- package/dist/features/tasks/execute/runMeta.d.ts.map +1 -1
- package/dist/features/tasks/execute/runMeta.js +10 -4
- package/dist/features/tasks/execute/runMeta.js.map +1 -1
- package/dist/features/tasks/execute/selectAndExecute.d.ts.map +1 -1
- package/dist/features/tasks/execute/selectAndExecute.js +48 -4
- package/dist/features/tasks/execute/selectAndExecute.js.map +1 -1
- package/dist/features/tasks/execute/taskSpecContext.d.ts +7 -2
- package/dist/features/tasks/execute/taskSpecContext.d.ts.map +1 -1
- package/dist/features/tasks/execute/taskSpecContext.js +23 -36
- package/dist/features/tasks/execute/taskSpecContext.js.map +1 -1
- package/dist/features/tasks/execute/taskWorkflowExecution.d.ts.map +1 -1
- package/dist/features/tasks/execute/taskWorkflowExecution.js +2 -1
- package/dist/features/tasks/execute/taskWorkflowExecution.js.map +1 -1
- package/dist/features/tasks/execute/traceReportRedaction.d.ts +0 -1
- package/dist/features/tasks/execute/traceReportRedaction.d.ts.map +1 -1
- package/dist/features/tasks/execute/traceReportRedaction.js +1 -9
- package/dist/features/tasks/execute/traceReportRedaction.js.map +1 -1
- package/dist/features/tasks/execute/types.d.ts +8 -0
- package/dist/features/tasks/execute/types.d.ts.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionBootstrap.js +1 -1
- package/dist/features/tasks/execute/workflowExecutionBootstrap.js.map +1 -1
- package/dist/features/tasks/index.d.ts +1 -0
- package/dist/features/tasks/index.d.ts.map +1 -1
- package/dist/features/tasks/index.js +1 -0
- package/dist/features/tasks/index.js.map +1 -1
- package/dist/features/tasks/list/instructMode.d.ts +2 -20
- package/dist/features/tasks/list/instructMode.d.ts.map +1 -1
- package/dist/features/tasks/list/instructMode.js +15 -4
- package/dist/features/tasks/list/instructMode.js.map +1 -1
- package/dist/features/tasks/list/retryTaskSpecAttachments.d.ts +8 -0
- package/dist/features/tasks/list/retryTaskSpecAttachments.d.ts.map +1 -0
- package/dist/features/tasks/list/retryTaskSpecAttachments.js +87 -0
- package/dist/features/tasks/list/retryTaskSpecAttachments.js.map +1 -0
- package/dist/features/tasks/list/taskInstructionActions.d.ts.map +1 -1
- package/dist/features/tasks/list/taskInstructionActions.js +20 -2
- package/dist/features/tasks/list/taskInstructionActions.js.map +1 -1
- package/dist/features/tasks/list/taskRetryActions.d.ts.map +1 -1
- package/dist/features/tasks/list/taskRetryActions.js +24 -6
- package/dist/features/tasks/list/taskRetryActions.js.map +1 -1
- package/dist/features/tasks/resume/directInstructMode.d.ts +13 -0
- package/dist/features/tasks/resume/directInstructMode.d.ts.map +1 -0
- package/dist/features/tasks/resume/directInstructMode.js +67 -0
- package/dist/features/tasks/resume/directInstructMode.js.map +1 -0
- package/dist/features/tasks/resume/directRunFinder.d.ts +7 -0
- package/dist/features/tasks/resume/directRunFinder.d.ts.map +1 -0
- package/dist/features/tasks/resume/directRunFinder.js +43 -0
- package/dist/features/tasks/resume/directRunFinder.js.map +1 -0
- package/dist/features/tasks/resume/index.d.ts +3 -0
- package/dist/features/tasks/resume/index.d.ts.map +1 -0
- package/dist/features/tasks/resume/index.js +229 -0
- package/dist/features/tasks/resume/index.js.map +1 -0
- package/dist/features/tasks/taskSpecFile.d.ts +2 -0
- package/dist/features/tasks/taskSpecFile.d.ts.map +1 -0
- package/dist/features/tasks/taskSpecFile.js +38 -0
- package/dist/features/tasks/taskSpecFile.js.map +1 -0
- package/dist/infra/claude-terminal/tmux-backend.js +1 -1
- package/dist/infra/claude-terminal/tmux-backend.js.map +1 -1
- package/dist/infra/codex/CodexStreamHandler.d.ts +4 -2
- package/dist/infra/codex/CodexStreamHandler.d.ts.map +1 -1
- package/dist/infra/codex/CodexStreamHandler.js +55 -21
- package/dist/infra/codex/CodexStreamHandler.js.map +1 -1
- package/dist/infra/codex/client.d.ts +2 -0
- package/dist/infra/codex/client.d.ts.map +1 -1
- package/dist/infra/codex/client.js +42 -6
- package/dist/infra/codex/client.js.map +1 -1
- package/dist/infra/config/configNormalizers.d.ts +16 -15
- package/dist/infra/config/configNormalizers.d.ts.map +1 -1
- package/dist/infra/config/configNormalizers.js +38 -6
- package/dist/infra/config/configNormalizers.js.map +1 -1
- package/dist/infra/config/env/global-current-env-specs.d.ts.map +1 -1
- package/dist/infra/config/env/global-current-env-specs.js +2 -0
- package/dist/infra/config/env/global-current-env-specs.js.map +1 -1
- package/dist/infra/config/env/project-current-env-specs.d.ts.map +1 -1
- package/dist/infra/config/env/project-current-env-specs.js +2 -0
- package/dist/infra/config/env/project-current-env-specs.js.map +1 -1
- package/dist/infra/config/global/globalConfigCore.d.ts.map +1 -1
- package/dist/infra/config/global/globalConfigCore.js +3 -0
- package/dist/infra/config/global/globalConfigCore.js.map +1 -1
- package/dist/infra/config/global/globalConfigSerializer.d.ts.map +1 -1
- package/dist/infra/config/global/globalConfigSerializer.js +5 -0
- package/dist/infra/config/global/globalConfigSerializer.js.map +1 -1
- package/dist/infra/config/loaders/qualityGateOverrides.d.ts +3 -2
- package/dist/infra/config/loaders/qualityGateOverrides.d.ts.map +1 -1
- package/dist/infra/config/loaders/qualityGateOverrides.js +42 -3
- package/dist/infra/config/loaders/qualityGateOverrides.js.map +1 -1
- package/dist/infra/config/loaders/workflowFileLoader.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowFileLoader.js +2 -2
- package/dist/infra/config/loaders/workflowFileLoader.js.map +1 -1
- package/dist/infra/config/loaders/workflowNormalizationPolicies.d.ts +3 -1
- package/dist/infra/config/loaders/workflowNormalizationPolicies.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowNormalizationPolicies.js +28 -0
- package/dist/infra/config/loaders/workflowNormalizationPolicies.js.map +1 -1
- package/dist/infra/config/loaders/workflowParser.d.ts +2 -2
- package/dist/infra/config/loaders/workflowParser.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowParser.js +3 -2
- package/dist/infra/config/loaders/workflowParser.js.map +1 -1
- package/dist/infra/config/loaders/workflowStepNormalizer.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowStepNormalizer.js +2 -1
- package/dist/infra/config/loaders/workflowStepNormalizer.js.map +1 -1
- package/dist/infra/config/project/projectConfig.d.ts.map +1 -1
- package/dist/infra/config/project/projectConfig.js +4 -3
- package/dist/infra/config/project/projectConfig.js.map +1 -1
- package/dist/infra/config/project/projectConfigTransforms.d.ts +5 -1
- package/dist/infra/config/project/projectConfigTransforms.d.ts.map +1 -1
- package/dist/infra/config/project/projectConfigTransforms.js +8 -0
- package/dist/infra/config/project/projectConfigTransforms.js.map +1 -1
- package/dist/infra/config/traced/tracedConfigSchema.d.ts.map +1 -1
- package/dist/infra/config/traced/tracedConfigSchema.js +4 -0
- package/dist/infra/config/traced/tracedConfigSchema.js.map +1 -1
- package/dist/infra/task/clone.d.ts +1 -0
- package/dist/infra/task/clone.d.ts.map +1 -1
- package/dist/infra/task/clone.js +19 -2
- package/dist/infra/task/clone.js.map +1 -1
- package/dist/infra/task/projectLocalTaktSync.d.ts.map +1 -1
- package/dist/infra/task/projectLocalTaktSync.js +6 -2
- package/dist/infra/task/projectLocalTaktSync.js.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/taskRecordMutations.d.ts +1 -1
- package/dist/infra/task/taskRecordMutations.d.ts.map +1 -1
- package/dist/infra/task/taskRecordMutations.js +5 -1
- package/dist/infra/task/taskRecordMutations.js.map +1 -1
- 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 +4 -4
- package/dist/infra/task/taskRetryService.js.map +1 -1
- package/dist/shared/prompts/en/score_direct_instruct_system_prompt.md +63 -0
- package/dist/shared/prompts/en/score_retry_system_prompt.md +2 -2
- package/dist/shared/prompts/ja/score_direct_instruct_system_prompt.md +63 -0
- package/dist/shared/prompts/ja/score_retry_system_prompt.md +2 -2
- package/dist/shared/utils/sensitiveText.d.ts +2 -0
- package/dist/shared/utils/sensitiveText.d.ts.map +1 -0
- package/dist/shared/utils/sensitiveText.js +40 -0
- package/dist/shared/utils/sensitiveText.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Coding Reviewer
|
|
2
|
+
|
|
3
|
+
You are a code reviewer for an AI coding agent. You read the task intent and diff, then identify concrete implementation bugs, regressions, security risks, and missing tests.
|
|
4
|
+
|
|
5
|
+
## Role Boundaries
|
|
6
|
+
|
|
7
|
+
**Do:**
|
|
8
|
+
- Inspect the diff and nearby code
|
|
9
|
+
- Check whether the implementation works for the task intent
|
|
10
|
+
- Detect changes that break existing behavior
|
|
11
|
+
- Detect failures in error handling, edge cases, persistence, concurrency, and external integration
|
|
12
|
+
- Flag clear security or data-protection issues
|
|
13
|
+
- Flag missing tests or verification when they matter
|
|
14
|
+
|
|
15
|
+
**Don't:**
|
|
16
|
+
- Write code yourself
|
|
17
|
+
- Turn unsupported speculation into findings
|
|
18
|
+
- Require preference-only refactors
|
|
19
|
+
- Mix unrelated pre-existing issues into this review
|
|
20
|
+
|
|
21
|
+
## Behavioral Principles
|
|
22
|
+
|
|
23
|
+
- Ground findings in actual code, the diff, or execution evidence
|
|
24
|
+
- Do not include findings with weak fix justification
|
|
25
|
+
- Report higher-impact issues first
|
|
26
|
+
- State location, impact, and fix direction briefly and concretely
|
|
27
|
+
- Approve when there are no issues
|
|
@@ -138,7 +138,7 @@ When any of the following apply:
|
|
|
138
138
|
- **Stop loops**: Suggest design revision for 3+ iterations
|
|
139
139
|
- **Don't forget business value**: Value delivery over technical perfection
|
|
140
140
|
- **Consider context**: Judge according to project situation
|
|
141
|
-
- **Verify non-blocking classifications**: Always verify issues classified as "non-blocking," "existing problems," or "informational" by reviewers. If an issue in
|
|
141
|
+
- **Verify non-blocking classifications**: Always verify issues classified as "non-blocking," "existing problems," or "informational" by reviewers. If an issue in changed code or in an area directly related to correctness, contracts, or wiring of the change was marked as non-blocking, escalate it to blocking and REJECT
|
|
142
142
|
- **Do not invent command outcomes**: If there is no execution evidence, treat it as unverified
|
|
143
143
|
|
|
144
144
|
## Execution Evidence
|
|
@@ -144,10 +144,50 @@ AI tends to over-deliver. Check for unnecessary additions.
|
|
|
144
144
|
| Premature abstraction | Interfaces/abstractions for single implementations |
|
|
145
145
|
| Over-configuration | Making things configurable that don't need to be |
|
|
146
146
|
| Gold-plating | "Nice-to-have" additions not asked for |
|
|
147
|
+
| Extra changes disguised as related work | Cleanup, renames, or moves justified only because they are near the edited code |
|
|
148
|
+
| Incidental observable contract changes | Changing values observed by users or tests without being asked |
|
|
147
149
|
| Unnecessary legacy support | Adding mapping/normalization logic for old values without explicit instruction |
|
|
148
150
|
|
|
149
151
|
The best code is the minimum code that solves the problem.
|
|
150
152
|
|
|
153
|
+
### Extra Changes Disguised as Related Work
|
|
154
|
+
|
|
155
|
+
AI often justifies unnecessary cleanup as related work because it is "in the touched file", "near the same responsibility", or "more idiomatic". Whether a change is related is determined by causal necessity for the request, not by file proximity.
|
|
156
|
+
|
|
157
|
+
| Pattern | Verdict |
|
|
158
|
+
|---------|---------|
|
|
159
|
+
| Renaming, moving, or responsibility changes justified only because the file was touched | REJECT |
|
|
160
|
+
| Changing Props type names, return shapes, or public function names without direct implementation need | REJECT |
|
|
161
|
+
| Deleting existing comments after assuming they are merely explanatory | REJECT |
|
|
162
|
+
| Removing or weakening tested existing behavior just to make tests pass | REJECT |
|
|
163
|
+
| Mixing framework-style improvements without explicit request | REJECT |
|
|
164
|
+
| Adding parameters or updating call sites required to wire the new feature | OK |
|
|
165
|
+
| Deleting old implementation that is genuinely no longer used | OK |
|
|
166
|
+
|
|
167
|
+
Verification approach:
|
|
168
|
+
1. Obtain the entire cumulative diff from the task's starting point (the base) and list renames, moves, deletions, responsibility changes, and test expectation changes (do not look only at the most recent fix; unrelated changes buried in earlier iterations do not appear in the latest fix report)
|
|
169
|
+
2. For each change, ask whether the request fails without it
|
|
170
|
+
3. Do not accept "more readable", "more idiomatic", or "cleanup while here" as necessity
|
|
171
|
+
4. Revert changes whose necessity cannot be explained before completing the task
|
|
172
|
+
|
|
173
|
+
### Incidental Observable Contract Changes
|
|
174
|
+
|
|
175
|
+
AI often changes existing contracts under the banner of "improvement", "standardization", or "clarity" even when the task does not require it. UI copy, accessible names, event names, return values, error messages, log formats, public APIs, type names, file placement, comments, and behavior asserted by tests are observable contracts.
|
|
176
|
+
|
|
177
|
+
| Pattern | Verdict |
|
|
178
|
+
|---------|---------|
|
|
179
|
+
| Contract change unrelated to the request | REJECT |
|
|
180
|
+
| Tests are updated only to follow the new contract | REJECT |
|
|
181
|
+
| New contract required by new functionality | OK |
|
|
182
|
+
| Missing information is added while preserving the existing contract | OK |
|
|
183
|
+
| Reason, impact scope, and migration path for the contract change are explicit | OK |
|
|
184
|
+
|
|
185
|
+
Verification approach:
|
|
186
|
+
1. Inspect changed strings, attributes, event names, return values, error messages, and log formats in the diff
|
|
187
|
+
2. Check whether each one is directly required by the task
|
|
188
|
+
3. If test expectations merely follow implementation changes, check whether the original contract can be preserved
|
|
189
|
+
4. If the contract change is necessary, verify that reason and impact scope are explained
|
|
190
|
+
|
|
151
191
|
Legacy support criteria:
|
|
152
192
|
- Unless explicitly instructed to "support legacy values" or "maintain backward compatibility", legacy support is unnecessary
|
|
153
193
|
- Do not add `.transform()` normalization, `LEGACY_*_MAP` mappings, or `@deprecated` type definitions
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Existing System Respect Policy
|
|
2
|
+
|
|
3
|
+
For released or operational systems, make only the minimum changes required by the request and avoid changing existing contracts unnecessarily.
|
|
4
|
+
|
|
5
|
+
## Principles
|
|
6
|
+
|
|
7
|
+
| Principle | Criteria |
|
|
8
|
+
|-----------|----------|
|
|
9
|
+
| Existing contracts first | Preserve contracts relied on by users, tests, and operations |
|
|
10
|
+
| Minimum diff | Keep only changes required to satisfy the request |
|
|
11
|
+
| Necessity over proximity | Do not use nearby code as a reason to change it |
|
|
12
|
+
| Respect existing structure | Do not change file placement, type names, public APIs, or responsibility boundaries without explicit need |
|
|
13
|
+
| Preserve comments | Do not delete comments that explain intent, constraints, or calculation rationale |
|
|
14
|
+
| Tests are contracts | Do not treat behavior asserted by existing tests as incidental |
|
|
15
|
+
| Separate improvements | Style or cleanup improvements must be directly required by the task |
|
|
16
|
+
| Maintenance constraints first | Prefer preserving existing behavior and structure over general quality improvements |
|
|
17
|
+
|
|
18
|
+
## Change Boundary
|
|
19
|
+
|
|
20
|
+
| Criteria | Verdict |
|
|
21
|
+
|----------|---------|
|
|
22
|
+
| Change required to satisfy the request | OK |
|
|
23
|
+
| Call-site update required to wire a necessary change | OK |
|
|
24
|
+
| Local fix required to prevent side effects of a necessary change | OK |
|
|
25
|
+
| Cleanup justified only because the file was touched | REJECT |
|
|
26
|
+
| Moving files, renaming types, or changing public APIs without explicit need | REJECT |
|
|
27
|
+
| Mixing framework-style improvements into the task | REJECT |
|
|
28
|
+
| Including improvements that can be handled in another PR | REJECT |
|
|
29
|
+
|
|
30
|
+
## Priority Against Other Policies
|
|
31
|
+
|
|
32
|
+
In existing-system maintenance, apply general quality policies such as coding, frontend, design-fidelity, and testing only within the scope required by the request.
|
|
33
|
+
|
|
34
|
+
| Conflict | Verdict |
|
|
35
|
+
|----------|---------|
|
|
36
|
+
| General quality criteria suggest an improvement, but the request does not require it | Do not change |
|
|
37
|
+
| Existing structure is imperfect, but can satisfy this request | Preserve existing structure |
|
|
38
|
+
| Satisfying a quality criterion requires changing an existing contract | Requires an explicit user request or plan-level rationale |
|
|
39
|
+
| A minimal structural change is required for a bug fix | Make it with reason and impact scope documented |
|
|
40
|
+
|
|
41
|
+
## Observable Contracts
|
|
42
|
+
|
|
43
|
+
UI, accessibility, tests, logs, APIs, types, file placement, and comments can be contracts observed by users or developers.
|
|
44
|
+
|
|
45
|
+
| Contract | Change condition |
|
|
46
|
+
|----------|------------------|
|
|
47
|
+
| UI copy, accessible names, role/state | Change only when directly required by the request |
|
|
48
|
+
| Hook return values, Props type names, public function names | Change only when caller updates are required to satisfy the request |
|
|
49
|
+
| Test expectations | Change only when the requested behavior changes |
|
|
50
|
+
| Comments | Change only when correcting inaccurate comments or when code makes them truly obsolete |
|
|
51
|
+
| File placement | Change only when the existing structure cannot satisfy the request |
|
|
52
|
+
|
|
53
|
+
## Test Changes
|
|
54
|
+
|
|
55
|
+
Tests should distinguish existing contracts from new requirements, not merely follow the implementation.
|
|
56
|
+
|
|
57
|
+
| Pattern | Verdict |
|
|
58
|
+
|---------|---------|
|
|
59
|
+
| Add tests for new requirements | OK |
|
|
60
|
+
| Add regression tests to preserve existing contracts | OK |
|
|
61
|
+
| Merely weaken existing expectations to match implementation changes | REJECT |
|
|
62
|
+
| Remove tested existing behavior to make tests pass | REJECT |
|
|
63
|
+
| Delete tests because they obstruct the new implementation | REJECT |
|
|
64
|
+
|
|
65
|
+
## Pre-Completion Check
|
|
66
|
+
|
|
67
|
+
Before completion, classify the full diff as required changes, related changes, or unnecessary changes. Do not complete while unnecessary changes remain.
|
|
68
|
+
|
|
69
|
+
| Classification | Criteria |
|
|
70
|
+
|----------------|----------|
|
|
71
|
+
| Required change | The request fails without it |
|
|
72
|
+
| Related change | Needed to connect, verify, or keep a required change consistent |
|
|
73
|
+
| Unnecessary change | Justified only by readability, style, cleanup, or future extensibility |
|
|
@@ -10,7 +10,7 @@ Define the shared judgment criteria and behavioral principles for all reviewers.
|
|
|
10
10
|
| Eliminate ambiguity | Vague feedback like "clean this up a bit" is prohibited. Specify file, line, and proposed fix |
|
|
11
11
|
| Fact-check | Verify against actual code before raising issues. Do not speculate |
|
|
12
12
|
| Practical fixes | Propose implementable solutions, not theoretical ideals |
|
|
13
|
-
| Boy Scout |
|
|
13
|
+
| Boy Scout | Have problems fixed within the task scope when they are in changed code or in areas directly affecting correctness, contracts, or wiring of the change |
|
|
14
14
|
|
|
15
15
|
## Scope Determination
|
|
16
16
|
|
|
@@ -18,9 +18,10 @@ Define the shared judgment criteria and behavioral principles for all reviewers.
|
|
|
18
18
|
|-----------|---------|--------|
|
|
19
19
|
| Problem introduced by this change | Blocking | REJECT |
|
|
20
20
|
| Code made unused by this change (arguments, imports, variables, functions) | Blocking | REJECT (change-induced problem) |
|
|
21
|
-
| Existing problem in
|
|
22
|
-
| Structural problem
|
|
21
|
+
| Existing problem in changed or directly related code | Blocking | REJECT (Boy Scout rule) |
|
|
22
|
+
| Structural problem directly affecting correctness of the change | Blocking | REJECT if within scope |
|
|
23
23
|
| Problem in an unchanged file | Non-blocking | Record only (informational) |
|
|
24
|
+
| Existing problem that merely shares a changed file but does not directly affect correctness of the change | Non-blocking | Record only (informational) |
|
|
24
25
|
| Refactoring that greatly exceeds task scope | Non-blocking | Note as a suggestion |
|
|
25
26
|
|
|
26
27
|
## Judgment Criteria
|
|
@@ -177,19 +178,20 @@ Leave it better than you found it.
|
|
|
177
178
|
|
|
178
179
|
### In Scope
|
|
179
180
|
|
|
180
|
-
- Existing problems in changed
|
|
181
|
-
- Structural problems
|
|
181
|
+
- Existing problems in changed code or in areas directly affecting correctness, contracts, or wiring of the change (unused code, poor naming, broken abstractions)
|
|
182
|
+
- Structural problems directly affecting correctness of the change (mixed responsibilities, unnecessary dependencies)
|
|
182
183
|
|
|
183
184
|
### Out of Scope
|
|
184
185
|
|
|
185
186
|
- Unchanged files (record existing issues only)
|
|
187
|
+
- Existing problems that merely share a changed file but do not directly affect correctness, contracts, or wiring of the change
|
|
186
188
|
- Refactoring that greatly exceeds task scope (note as a suggestion, non-blocking)
|
|
187
189
|
|
|
188
190
|
### Judgment
|
|
189
191
|
|
|
190
192
|
| Situation | Verdict |
|
|
191
193
|
|-----------|---------|
|
|
192
|
-
| Changed
|
|
194
|
+
| Changed or directly related code has an obvious problem | REJECT — have it fixed together |
|
|
193
195
|
| Redundant expression (a shorter equivalent exists) | REJECT |
|
|
194
196
|
| Unnecessary branch/condition (unreachable or always the same result) | REJECT |
|
|
195
197
|
| Fixable in seconds to minutes | REJECT (do not mark as "non-blocking") |
|
|
@@ -200,15 +202,24 @@ Do not tolerate problems just because existing code does the same. If existing c
|
|
|
200
202
|
|
|
201
203
|
## Judgment Rules
|
|
202
204
|
|
|
203
|
-
-
|
|
204
|
-
- Only issues
|
|
205
|
-
- "The code itself existed before" is not a valid reason for non-blocking
|
|
205
|
+
- Issues detected in changed code or in areas directly affecting correctness, contracts, or wiring of the change are blocking (REJECT targets), even if the code existed before the change
|
|
206
|
+
- Only issues not directly related to the change may be classified as "existing problems" or "non-blocking"
|
|
207
|
+
- "The code itself existed before" is not a valid reason for non-blocking when the issue is in changed or directly related code
|
|
206
208
|
- If even one issue exists, REJECT. "APPROVE with warnings" or "APPROVE with suggestions" is prohibited
|
|
207
209
|
|
|
208
210
|
## Basic Review Procedure
|
|
209
211
|
|
|
210
212
|
Common procedure that every reviewer must follow. Do not duplicate this in individual instructions.
|
|
211
213
|
|
|
214
|
+
### Diff Baseline (Anchor to the Base)
|
|
215
|
+
|
|
216
|
+
The review target is the entire cumulative diff from the task's starting point (the base), not just the changes from the most recent iteration.
|
|
217
|
+
|
|
218
|
+
- In the fix ↔ review loop, recompute the diff from the base every time and evaluate the whole. Do not move the baseline to the latest fix
|
|
219
|
+
- The base is the merge-base with the integration branch, or the starting point recorded in `plan` / `order`. Do not treat only the "changes" section of `Previous Response` as the diff
|
|
220
|
+
- Unrequested changes introduced in earlier iterations (unrelated comment deletions, renames, reformatting, contract changes, weakened tests) remain in the cumulative diff even when they no longer appear in the latest fix report. Reconcile against them every time
|
|
221
|
+
- Track finding states (new / persists / resolved) on a fixed baseline. Do not narrow the diff scope and conclude "it is no longer in the diff"
|
|
222
|
+
|
|
212
223
|
### Referring to Primary Sources
|
|
213
224
|
|
|
214
225
|
- Use `order.md`, `plan.md`, and the actual code as primary sources
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
name: default-peer-review
|
|
2
|
-
description: default series Phase 2. Parallel reviewers (arch + ai-antipattern-2nd + supervise) ⇄ fix loop.
|
|
2
|
+
description: default series Phase 2. Parallel reviewers (arch + ai-antipattern-2nd + coding-review + supervise) ⇄ fix loop.
|
|
3
3
|
subworkflow:
|
|
4
4
|
callable: true
|
|
5
5
|
visibility: internal
|
|
@@ -72,6 +72,28 @@ steps:
|
|
|
72
72
|
report:
|
|
73
73
|
- name: ai-antipattern-review.md
|
|
74
74
|
format: ai-antipattern-review
|
|
75
|
+
- name: coding-review
|
|
76
|
+
edit: false
|
|
77
|
+
persona: coding-reviewer
|
|
78
|
+
policy: review
|
|
79
|
+
pass_previous_response: false
|
|
80
|
+
provider_options:
|
|
81
|
+
claude:
|
|
82
|
+
allowed_tools:
|
|
83
|
+
- Read
|
|
84
|
+
- Glob
|
|
85
|
+
- Grep
|
|
86
|
+
- Bash
|
|
87
|
+
- WebSearch
|
|
88
|
+
- WebFetch
|
|
89
|
+
instruction: review-coding
|
|
90
|
+
rules:
|
|
91
|
+
- condition: approved
|
|
92
|
+
- condition: needs_fix
|
|
93
|
+
output_contracts:
|
|
94
|
+
report:
|
|
95
|
+
- name: coding-review.md
|
|
96
|
+
format: coding-review
|
|
75
97
|
- name: supervise
|
|
76
98
|
edit: false
|
|
77
99
|
persona: supervisor
|
|
@@ -97,9 +119,9 @@ steps:
|
|
|
97
119
|
format: summary
|
|
98
120
|
use_judge: false
|
|
99
121
|
rules:
|
|
100
|
-
- condition: all("approved", "No AI-specific issues", "All checks passed")
|
|
122
|
+
- condition: all("approved", "No AI-specific issues", "approved", "All checks passed")
|
|
101
123
|
next: COMPLETE
|
|
102
|
-
- condition: any("needs_fix", "AI-specific issues found", "Requirements unmet, tests failing, build errors")
|
|
124
|
+
- condition: any("needs_fix", "AI-specific issues found", "needs_fix", "Requirements unmet, tests failing, build errors")
|
|
103
125
|
next: fix
|
|
104
126
|
- name: fix
|
|
105
127
|
edit: true
|