takt 0.46.0 → 0.47.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 +55 -2
- package/builtins/en/config.yaml +28 -12
- package/builtins/en/facets/instructions/findings-manager.md +13 -0
- package/builtins/en/facets/instructions/fix.md +9 -4
- package/builtins/en/facets/instructions/implement-maintenance.md +3 -32
- package/builtins/en/facets/instructions/loop-monitor-reviewers-fix.md +5 -1
- package/builtins/en/facets/instructions/plan-test.md +4 -3
- package/builtins/en/facets/instructions/review-coding.md +11 -6
- package/builtins/en/facets/instructions/review-pure.md +8 -0
- package/builtins/en/facets/instructions/review-qa.md +2 -1
- package/builtins/en/facets/instructions/review-test.md +2 -1
- package/builtins/en/facets/instructions/supervise-maintenance.md +3 -75
- package/builtins/en/facets/instructions/supervise.md +8 -68
- package/builtins/en/facets/instructions/write-tests-first.md +1 -0
- package/builtins/en/facets/knowledge/architecture.md +31 -0
- package/builtins/en/facets/knowledge/backend.md +25 -1
- package/builtins/en/facets/knowledge/cqrs-es.md +57 -0
- package/builtins/en/facets/output-contracts/ai-antipattern-review-finding-contract.md +31 -0
- package/builtins/en/facets/output-contracts/architecture-review-finding-contract.md +35 -0
- package/builtins/en/facets/output-contracts/coding-review-finding-contract.md +25 -0
- package/builtins/en/facets/output-contracts/coding-review.md +11 -4
- package/builtins/en/facets/output-contracts/cqrs-es-review-finding-contract.md +31 -0
- package/builtins/en/facets/output-contracts/findings-manager.md +45 -0
- package/builtins/en/facets/output-contracts/frontend-review-finding-contract.md +30 -0
- package/builtins/en/facets/output-contracts/pure-review-finding-contract.md +45 -0
- package/builtins/en/facets/output-contracts/pure-review.md +6 -6
- package/builtins/en/facets/output-contracts/qa-review-finding-contract.md +35 -0
- package/builtins/en/facets/output-contracts/qa-review.md +10 -3
- package/builtins/en/facets/output-contracts/security-review-finding-contract.md +36 -0
- package/builtins/en/facets/output-contracts/supervisor-validation.md +34 -10
- package/builtins/en/facets/output-contracts/terraform-review-finding-contract.md +31 -0
- package/builtins/en/facets/output-contracts/testing-review-finding-contract.md +41 -0
- package/builtins/en/facets/personas/findings-manager.md +18 -0
- package/builtins/en/facets/policies/ai-antipattern.md +31 -0
- package/builtins/en/facets/policies/review.md +64 -16
- package/builtins/en/facets/policies/testing.md +24 -0
- package/builtins/en/workflow-categories.yaml +1 -0
- package/builtins/en/workflows/audit-architecture-backend.yaml +8 -0
- package/builtins/en/workflows/audit-architecture-dual.yaml +8 -0
- package/builtins/en/workflows/audit-architecture-frontend.yaml +8 -0
- package/builtins/en/workflows/audit-architecture.yaml +8 -0
- package/builtins/en/workflows/audit-e2e.yaml +8 -0
- package/builtins/en/workflows/audit-security.yaml +8 -0
- package/builtins/en/workflows/audit-unit.yaml +8 -0
- package/builtins/en/workflows/auto-improvement-loop.yaml +6 -0
- package/builtins/en/workflows/backend-cqrs-mini.yaml +20 -0
- package/builtins/en/workflows/backend-cqrs.yaml +39 -1
- package/builtins/en/workflows/backend-mini.yaml +20 -0
- package/builtins/en/workflows/backend.yaml +39 -1
- package/builtins/en/workflows/compound-eye.yaml +8 -0
- package/builtins/en/workflows/deep-research.yaml +8 -0
- package/builtins/en/workflows/default-draft.yaml +6 -0
- package/builtins/en/workflows/default-high.yaml +6 -0
- package/builtins/en/workflows/default-mini.yaml +2 -0
- package/builtins/en/workflows/default-peer-review.yaml +17 -1
- package/builtins/en/workflows/default.yaml +4 -0
- package/builtins/en/workflows/draft.yaml +12 -4
- package/builtins/en/workflows/dual-cqrs-mini.yaml +20 -0
- package/builtins/en/workflows/dual-cqrs.yaml +35 -1
- package/builtins/en/workflows/dual-mini.yaml +20 -0
- package/builtins/en/workflows/dual.yaml +39 -1
- package/builtins/en/workflows/frontend-maintenance.yaml +41 -1
- package/builtins/en/workflows/frontend-mini.yaml +20 -0
- package/builtins/en/workflows/frontend.yaml +41 -1
- package/builtins/en/workflows/magi.yaml +6 -0
- package/builtins/en/workflows/peer-review-with-fc.yaml +206 -0
- package/builtins/en/workflows/peer-review.yaml +30 -10
- package/builtins/en/workflows/research.yaml +6 -0
- package/builtins/en/workflows/review-backend-cqrs.yaml +21 -1
- package/builtins/en/workflows/review-backend.yaml +19 -1
- package/builtins/en/workflows/review-default.yaml +21 -1
- package/builtins/en/workflows/review-dual-cqrs.yaml +23 -1
- package/builtins/en/workflows/review-dual.yaml +21 -1
- package/builtins/en/workflows/review-fix-backend-cqrs.yaml +25 -1
- package/builtins/en/workflows/review-fix-backend.yaml +23 -1
- package/builtins/en/workflows/review-fix-default.yaml +25 -1
- package/builtins/en/workflows/review-fix-dual-cqrs.yaml +27 -1
- package/builtins/en/workflows/review-fix-dual.yaml +25 -1
- package/builtins/en/workflows/review-fix-frontend.yaml +25 -1
- package/builtins/en/workflows/review-fix-takt-default.yaml +33 -1
- package/builtins/en/workflows/review-frontend.yaml +21 -1
- package/builtins/en/workflows/review-takt-default.yaml +23 -1
- package/builtins/en/workflows/takt-default-refresh-all.yaml +30 -0
- package/builtins/en/workflows/takt-default-refresh-fast.yaml +30 -0
- package/builtins/en/workflows/takt-default-with-fc.yaml +110 -0
- package/builtins/en/workflows/takt-default.yaml +9 -3
- package/builtins/en/workflows/terraform.yaml +29 -1
- package/builtins/ja/config.yaml +28 -12
- package/builtins/ja/facets/instructions/findings-manager.md +13 -0
- package/builtins/ja/facets/instructions/fix.md +9 -4
- package/builtins/ja/facets/instructions/implement-maintenance.md +3 -32
- package/builtins/ja/facets/instructions/loop-monitor-reviewers-fix.md +5 -1
- package/builtins/ja/facets/instructions/plan-test.md +4 -3
- package/builtins/ja/facets/instructions/review-coding.md +11 -6
- package/builtins/ja/facets/instructions/review-pure.md +8 -0
- package/builtins/ja/facets/instructions/review-qa.md +2 -1
- package/builtins/ja/facets/instructions/review-test.md +2 -1
- package/builtins/ja/facets/instructions/supervise-maintenance.md +3 -75
- package/builtins/ja/facets/instructions/supervise.md +8 -69
- package/builtins/ja/facets/instructions/write-tests-first.md +1 -0
- package/builtins/ja/facets/knowledge/architecture.md +31 -0
- package/builtins/ja/facets/knowledge/backend.md +25 -1
- package/builtins/ja/facets/knowledge/cqrs-es.md +31 -0
- package/builtins/ja/facets/output-contracts/ai-antipattern-review-finding-contract.md +31 -0
- package/builtins/ja/facets/output-contracts/architecture-review-finding-contract.md +35 -0
- package/builtins/ja/facets/output-contracts/coding-review-finding-contract.md +25 -0
- package/builtins/ja/facets/output-contracts/coding-review.md +11 -4
- package/builtins/ja/facets/output-contracts/cqrs-es-review-finding-contract.md +31 -0
- package/builtins/ja/facets/output-contracts/findings-manager.md +45 -0
- package/builtins/ja/facets/output-contracts/frontend-review-finding-contract.md +30 -0
- package/builtins/ja/facets/output-contracts/pure-review-finding-contract.md +45 -0
- package/builtins/ja/facets/output-contracts/pure-review.md +6 -6
- package/builtins/ja/facets/output-contracts/qa-review-finding-contract.md +35 -0
- package/builtins/ja/facets/output-contracts/qa-review.md +10 -3
- package/builtins/ja/facets/output-contracts/security-review-finding-contract.md +36 -0
- package/builtins/ja/facets/output-contracts/supervisor-validation.md +34 -10
- package/builtins/ja/facets/output-contracts/terraform-review-finding-contract.md +31 -0
- package/builtins/ja/facets/output-contracts/testing-review-finding-contract.md +41 -0
- package/builtins/ja/facets/personas/findings-manager.md +18 -0
- package/builtins/ja/facets/policies/ai-antipattern.md +15 -0
- package/builtins/ja/facets/policies/review.md +62 -16
- package/builtins/ja/facets/policies/testing.md +24 -0
- package/builtins/ja/workflow-categories.yaml +1 -0
- package/builtins/ja/workflows/audit-architecture-backend.yaml +8 -0
- package/builtins/ja/workflows/audit-architecture-dual.yaml +8 -0
- package/builtins/ja/workflows/audit-architecture-frontend.yaml +8 -0
- package/builtins/ja/workflows/audit-architecture.yaml +8 -0
- package/builtins/ja/workflows/audit-e2e.yaml +8 -0
- package/builtins/ja/workflows/audit-security.yaml +8 -0
- package/builtins/ja/workflows/audit-unit.yaml +8 -0
- package/builtins/ja/workflows/auto-improvement-loop.yaml +6 -0
- package/builtins/ja/workflows/backend-cqrs-mini.yaml +20 -0
- package/builtins/ja/workflows/backend-cqrs.yaml +39 -1
- package/builtins/ja/workflows/backend-mini.yaml +20 -0
- package/builtins/ja/workflows/backend.yaml +39 -1
- package/builtins/ja/workflows/compound-eye.yaml +8 -0
- package/builtins/ja/workflows/deep-research.yaml +8 -0
- package/builtins/ja/workflows/default-draft.yaml +6 -0
- package/builtins/ja/workflows/default-high.yaml +6 -0
- package/builtins/ja/workflows/default-mini.yaml +2 -0
- package/builtins/ja/workflows/default-peer-review.yaml +17 -1
- package/builtins/ja/workflows/default.yaml +4 -0
- package/builtins/ja/workflows/draft.yaml +12 -4
- package/builtins/ja/workflows/dual-cqrs-mini.yaml +20 -0
- package/builtins/ja/workflows/dual-cqrs.yaml +35 -1
- package/builtins/ja/workflows/dual-mini.yaml +20 -0
- package/builtins/ja/workflows/dual.yaml +39 -1
- package/builtins/ja/workflows/frontend-maintenance.yaml +41 -1
- package/builtins/ja/workflows/frontend-mini.yaml +20 -0
- package/builtins/ja/workflows/frontend.yaml +41 -1
- package/builtins/ja/workflows/magi.yaml +6 -0
- package/builtins/ja/workflows/peer-review-with-fc.yaml +206 -0
- package/builtins/ja/workflows/peer-review.yaml +30 -10
- package/builtins/ja/workflows/research.yaml +6 -0
- package/builtins/ja/workflows/review-backend-cqrs.yaml +21 -1
- package/builtins/ja/workflows/review-backend.yaml +19 -1
- package/builtins/ja/workflows/review-default.yaml +21 -1
- package/builtins/ja/workflows/review-dual-cqrs.yaml +23 -1
- package/builtins/ja/workflows/review-dual.yaml +21 -1
- package/builtins/ja/workflows/review-fix-backend-cqrs.yaml +25 -1
- package/builtins/ja/workflows/review-fix-backend.yaml +23 -1
- package/builtins/ja/workflows/review-fix-default.yaml +25 -1
- package/builtins/ja/workflows/review-fix-dual-cqrs.yaml +27 -1
- package/builtins/ja/workflows/review-fix-dual.yaml +25 -1
- package/builtins/ja/workflows/review-fix-frontend.yaml +25 -1
- package/builtins/ja/workflows/review-fix-takt-default.yaml +33 -1
- package/builtins/ja/workflows/review-frontend.yaml +21 -1
- package/builtins/ja/workflows/review-takt-default.yaml +23 -1
- package/builtins/ja/workflows/takt-default-refresh-all.yaml +30 -0
- package/builtins/ja/workflows/takt-default-refresh-fast.yaml +30 -0
- package/builtins/ja/workflows/takt-default-with-fc.yaml +110 -0
- package/builtins/ja/workflows/takt-default.yaml +9 -3
- package/builtins/ja/workflows/terraform.yaml +29 -1
- package/builtins/skill/references/yaml-schema.md +4 -0
- package/builtins/skill-codex/references/yaml-schema.md +4 -0
- package/dist/app/cli/routing-inputs.d.ts +1 -0
- package/dist/app/cli/routing-inputs.d.ts.map +1 -1
- package/dist/app/cli/routing-inputs.js +5 -2
- package/dist/app/cli/routing-inputs.js.map +1 -1
- package/dist/app/cli/routing.d.ts.map +1 -1
- package/dist/app/cli/routing.js +14 -0
- package/dist/app/cli/routing.js.map +1 -1
- package/dist/commands/repertoire/add.d.ts.map +1 -1
- package/dist/commands/repertoire/add.js +45 -4
- package/dist/commands/repertoire/add.js.map +1 -1
- package/dist/commands/repertoire/remove.d.ts.map +1 -1
- package/dist/commands/repertoire/remove.js +19 -3
- package/dist/commands/repertoire/remove.js.map +1 -1
- package/dist/core/models/config-schemas.d.ts +771 -0
- package/dist/core/models/config-schemas.d.ts.map +1 -1
- package/dist/core/models/config-schemas.js +6 -0
- package/dist/core/models/config-schemas.js.map +1 -1
- package/dist/core/models/config-types.d.ts +8 -0
- package/dist/core/models/config-types.d.ts.map +1 -1
- package/dist/core/models/finding-schemas.d.ts +447 -0
- package/dist/core/models/finding-schemas.d.ts.map +1 -0
- package/dist/core/models/finding-schemas.js +234 -0
- package/dist/core/models/finding-schemas.js.map +1 -0
- package/dist/core/models/finding-types.d.ts +146 -0
- package/dist/core/models/finding-types.d.ts.map +1 -0
- package/dist/core/models/finding-types.js +5 -0
- package/dist/core/models/finding-types.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/types.d.ts +2 -2
- package/dist/core/models/types.d.ts.map +1 -1
- package/dist/core/models/workflow-condition-expression.d.ts +3 -0
- package/dist/core/models/workflow-condition-expression.d.ts.map +1 -1
- package/dist/core/models/workflow-condition-expression.js +223 -4
- package/dist/core/models/workflow-condition-expression.js.map +1 -1
- package/dist/core/models/workflow-schemas.d.ts +58 -36
- package/dist/core/models/workflow-schemas.d.ts.map +1 -1
- package/dist/core/models/workflow-schemas.js +11 -6
- package/dist/core/models/workflow-schemas.js.map +1 -1
- package/dist/core/models/workflow-system-schemas.d.ts.map +1 -1
- package/dist/core/models/workflow-system-schemas.js +1 -0
- package/dist/core/models/workflow-system-schemas.js.map +1 -1
- package/dist/core/models/workflow-types.d.ts +13 -0
- package/dist/core/models/workflow-types.d.ts.map +1 -1
- package/dist/core/models/workflow-types.js.map +1 -1
- package/dist/core/workflow/engine/OptionsBuilder.d.ts +4 -1
- package/dist/core/workflow/engine/OptionsBuilder.d.ts.map +1 -1
- package/dist/core/workflow/engine/OptionsBuilder.js +21 -8
- package/dist/core/workflow/engine/OptionsBuilder.js.map +1 -1
- package/dist/core/workflow/engine/ParallelRunner.d.ts +14 -0
- package/dist/core/workflow/engine/ParallelRunner.d.ts.map +1 -1
- package/dist/core/workflow/engine/ParallelRunner.js +152 -18
- package/dist/core/workflow/engine/ParallelRunner.js.map +1 -1
- package/dist/core/workflow/engine/StepExecutor.d.ts +4 -2
- package/dist/core/workflow/engine/StepExecutor.d.ts.map +1 -1
- package/dist/core/workflow/engine/StepExecutor.js +10 -3
- package/dist/core/workflow/engine/StepExecutor.js.map +1 -1
- package/dist/core/workflow/engine/WorkflowCallExecutor.d.ts +3 -1
- package/dist/core/workflow/engine/WorkflowCallExecutor.d.ts.map +1 -1
- package/dist/core/workflow/engine/WorkflowCallExecutor.js +23 -5
- package/dist/core/workflow/engine/WorkflowCallExecutor.js.map +1 -1
- package/dist/core/workflow/engine/WorkflowCallRunner.d.ts +1 -0
- package/dist/core/workflow/engine/WorkflowCallRunner.d.ts.map +1 -1
- package/dist/core/workflow/engine/WorkflowCallRunner.js +5 -1
- package/dist/core/workflow/engine/WorkflowCallRunner.js.map +1 -1
- package/dist/core/workflow/engine/WorkflowEngine.d.ts +7 -1
- package/dist/core/workflow/engine/WorkflowEngine.d.ts.map +1 -1
- package/dist/core/workflow/engine/WorkflowEngine.js +63 -9
- package/dist/core/workflow/engine/WorkflowEngine.js.map +1 -1
- package/dist/core/workflow/engine/WorkflowEngineSetup.d.ts +3 -0
- package/dist/core/workflow/engine/WorkflowEngineSetup.d.ts.map +1 -1
- package/dist/core/workflow/engine/WorkflowEngineSetup.js +27 -1
- package/dist/core/workflow/engine/WorkflowEngineSetup.js.map +1 -1
- package/dist/core/workflow/engine/WorkflowRunLoop.d.ts +10 -7
- package/dist/core/workflow/engine/WorkflowRunLoop.d.ts.map +1 -1
- package/dist/core/workflow/engine/WorkflowRunLoop.js +63 -33
- package/dist/core/workflow/engine/WorkflowRunLoop.js.map +1 -1
- package/dist/core/workflow/engine/WorkflowValidator.d.ts.map +1 -1
- package/dist/core/workflow/engine/WorkflowValidator.js +78 -1
- package/dist/core/workflow/engine/WorkflowValidator.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 +11 -0
- package/dist/core/workflow/engine/team-leader-common.js.map +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 +22 -1
- package/dist/core/workflow/engine/team-leader-part-runner.js.map +1 -1
- package/dist/core/workflow/evaluation/AggregateEvaluator.d.ts.map +1 -1
- package/dist/core/workflow/evaluation/AggregateEvaluator.js +7 -4
- package/dist/core/workflow/evaluation/AggregateEvaluator.js.map +1 -1
- package/dist/core/workflow/evaluation/RuleEvaluator.d.ts +1 -0
- package/dist/core/workflow/evaluation/RuleEvaluator.d.ts.map +1 -1
- package/dist/core/workflow/evaluation/RuleEvaluator.js +15 -1
- package/dist/core/workflow/evaluation/RuleEvaluator.js.map +1 -1
- package/dist/core/workflow/evaluation/rule-utils.d.ts +5 -1
- package/dist/core/workflow/evaluation/rule-utils.d.ts.map +1 -1
- package/dist/core/workflow/evaluation/rule-utils.js +34 -1
- package/dist/core/workflow/evaluation/rule-utils.js.map +1 -1
- package/dist/core/workflow/evaluation/when-evaluator.d.ts.map +1 -1
- package/dist/core/workflow/evaluation/when-evaluator.js +4 -1
- package/dist/core/workflow/evaluation/when-evaluator.js.map +1 -1
- package/dist/core/workflow/findings/context.d.ts +5 -0
- package/dist/core/workflow/findings/context.d.ts.map +1 -0
- package/dist/core/workflow/findings/context.js +82 -0
- package/dist/core/workflow/findings/context.js.map +1 -0
- package/dist/core/workflow/findings/ledger-validation.d.ts +3 -0
- package/dist/core/workflow/findings/ledger-validation.d.ts.map +1 -0
- package/dist/core/workflow/findings/ledger-validation.js +26 -0
- package/dist/core/workflow/findings/ledger-validation.js.map +1 -0
- package/dist/core/workflow/findings/manager-output-validation.d.ts +15 -0
- package/dist/core/workflow/findings/manager-output-validation.d.ts.map +1 -0
- package/dist/core/workflow/findings/manager-output-validation.js +221 -0
- package/dist/core/workflow/findings/manager-output-validation.js.map +1 -0
- package/dist/core/workflow/findings/manager-runner.d.ts +89 -0
- package/dist/core/workflow/findings/manager-runner.d.ts.map +1 -0
- package/dist/core/workflow/findings/manager-runner.js +291 -0
- package/dist/core/workflow/findings/manager-runner.js.map +1 -0
- package/dist/core/workflow/findings/reconciler.d.ts +10 -0
- package/dist/core/workflow/findings/reconciler.d.ts.map +1 -0
- package/dist/core/workflow/findings/reconciler.js +413 -0
- package/dist/core/workflow/findings/reconciler.js.map +1 -0
- package/dist/core/workflow/findings/schemas.d.ts +2 -0
- package/dist/core/workflow/findings/schemas.d.ts.map +1 -0
- package/dist/core/workflow/findings/schemas.js +2 -0
- package/dist/core/workflow/findings/schemas.js.map +1 -0
- package/dist/core/workflow/findings/store.d.ts +33 -0
- package/dist/core/workflow/findings/store.d.ts.map +1 -0
- package/dist/core/workflow/findings/store.js +169 -0
- package/dist/core/workflow/findings/store.js.map +1 -0
- package/dist/core/workflow/findings/types.d.ts +3 -0
- package/dist/core/workflow/findings/types.d.ts.map +1 -0
- package/dist/core/workflow/findings/types.js +2 -0
- package/dist/core/workflow/findings/types.js.map +1 -0
- package/dist/core/workflow/instruction/InstructionBuilder.d.ts +1 -0
- package/dist/core/workflow/instruction/InstructionBuilder.d.ts.map +1 -1
- package/dist/core/workflow/instruction/InstructionBuilder.js +35 -11
- package/dist/core/workflow/instruction/InstructionBuilder.js.map +1 -1
- package/dist/core/workflow/instruction/ReportInstructionBuilder.d.ts +4 -0
- package/dist/core/workflow/instruction/ReportInstructionBuilder.d.ts.map +1 -1
- package/dist/core/workflow/instruction/ReportInstructionBuilder.js +22 -1
- package/dist/core/workflow/instruction/ReportInstructionBuilder.js.map +1 -1
- package/dist/core/workflow/instruction/fenced-json.d.ts +2 -0
- package/dist/core/workflow/instruction/fenced-json.d.ts.map +1 -0
- package/dist/core/workflow/instruction/fenced-json.js +11 -0
- package/dist/core/workflow/instruction/fenced-json.js.map +1 -0
- package/dist/core/workflow/instruction/instruction-context.d.ts +8 -0
- package/dist/core/workflow/instruction/instruction-context.d.ts.map +1 -1
- package/dist/core/workflow/instruction/instruction-context.js.map +1 -1
- package/dist/core/workflow/observability/traceDiscovery.d.ts +33 -0
- package/dist/core/workflow/observability/traceDiscovery.d.ts.map +1 -0
- package/dist/core/workflow/observability/traceDiscovery.js +104 -0
- package/dist/core/workflow/observability/traceDiscovery.js.map +1 -0
- package/dist/core/workflow/observability/workflowSpans.d.ts +5 -2
- package/dist/core/workflow/observability/workflowSpans.d.ts.map +1 -1
- package/dist/core/workflow/observability/workflowSpans.js +33 -4
- package/dist/core/workflow/observability/workflowSpans.js.map +1 -1
- package/dist/core/workflow/phase-runner.d.ts +2 -0
- package/dist/core/workflow/phase-runner.d.ts.map +1 -1
- package/dist/core/workflow/phase-runner.js.map +1 -1
- package/dist/core/workflow/provider-options-trace.d.ts +3 -2
- package/dist/core/workflow/provider-options-trace.d.ts.map +1 -1
- package/dist/core/workflow/provider-resolution.d.ts +11 -3
- package/dist/core/workflow/provider-resolution.d.ts.map +1 -1
- package/dist/core/workflow/provider-resolution.js +68 -2
- package/dist/core/workflow/provider-resolution.js.map +1 -1
- package/dist/core/workflow/report-phase-runner.d.ts.map +1 -1
- package/dist/core/workflow/report-phase-runner.js +59 -44
- package/dist/core/workflow/report-phase-runner.js.map +1 -1
- package/dist/core/workflow/report-writer.d.ts +2 -0
- package/dist/core/workflow/report-writer.d.ts.map +1 -0
- package/dist/core/workflow/report-writer.js +42 -0
- package/dist/core/workflow/report-writer.js.map +1 -0
- package/dist/core/workflow/run/run-meta.d.ts +5 -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/state/workflow-state-access.d.ts +2 -2
- package/dist/core/workflow/state/workflow-state-access.d.ts.map +1 -1
- package/dist/core/workflow/state/workflow-state-access.js +17 -2
- package/dist/core/workflow/state/workflow-state-access.js.map +1 -1
- package/dist/core/workflow/types.d.ts +25 -1
- package/dist/core/workflow/types.d.ts.map +1 -1
- package/dist/features/analytics/events.d.ts +1 -1
- package/dist/features/analytics/events.d.ts.map +1 -1
- package/dist/features/analytics/index.d.ts +1 -1
- package/dist/features/analytics/index.d.ts.map +1 -1
- package/dist/features/analytics/index.js +1 -1
- package/dist/features/analytics/index.js.map +1 -1
- package/dist/features/analytics/report-parser.d.ts +5 -3
- package/dist/features/analytics/report-parser.d.ts.map +1 -1
- package/dist/features/analytics/report-parser.js +42 -7
- package/dist/features/analytics/report-parser.js.map +1 -1
- package/dist/features/pipeline/execute.d.ts.map +1 -1
- package/dist/features/pipeline/execute.js +2 -3
- package/dist/features/pipeline/execute.js.map +1 -1
- package/dist/features/pipeline/steps.d.ts +4 -3
- package/dist/features/pipeline/steps.d.ts.map +1 -1
- package/dist/features/pipeline/steps.js +46 -8
- package/dist/features/pipeline/steps.js.map +1 -1
- package/dist/features/repertoire/file-filter.d.ts +3 -3
- package/dist/features/repertoire/file-filter.d.ts.map +1 -1
- package/dist/features/repertoire/file-filter.js +3 -3
- package/dist/features/repertoire/file-filter.js.map +1 -1
- package/dist/features/repertoire/pack-summary.d.ts +21 -7
- package/dist/features/repertoire/pack-summary.d.ts.map +1 -1
- package/dist/features/repertoire/pack-summary.js +156 -24
- package/dist/features/repertoire/pack-summary.js.map +1 -1
- package/dist/features/repertoire/remove.d.ts +5 -2
- package/dist/features/repertoire/remove.d.ts.map +1 -1
- package/dist/features/repertoire/remove.js +9 -2
- package/dist/features/repertoire/remove.js.map +1 -1
- package/dist/features/repertoire/takt-repertoire-config.d.ts +3 -3
- package/dist/features/repertoire/takt-repertoire-config.d.ts.map +1 -1
- package/dist/features/repertoire/takt-repertoire-config.js +31 -16
- package/dist/features/repertoire/takt-repertoire-config.js.map +1 -1
- package/dist/features/tasks/add/index.d.ts +1 -0
- package/dist/features/tasks/add/index.d.ts.map +1 -1
- package/dist/features/tasks/add/index.js +1 -0
- package/dist/features/tasks/add/index.js.map +1 -1
- package/dist/features/tasks/execute/analyticsEmitter.d.ts +4 -1
- package/dist/features/tasks/execute/analyticsEmitter.d.ts.map +1 -1
- package/dist/features/tasks/execute/analyticsEmitter.js +30 -3
- package/dist/features/tasks/execute/analyticsEmitter.js.map +1 -1
- package/dist/features/tasks/execute/runAllTasks.d.ts.map +1 -1
- package/dist/features/tasks/execute/runAllTasks.js +2 -2
- package/dist/features/tasks/execute/runAllTasks.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 +6 -1
- 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 +12 -0
- package/dist/features/tasks/execute/selectAndExecute.js.map +1 -1
- package/dist/features/tasks/execute/slackSummaryAdapter.d.ts +0 -1
- package/dist/features/tasks/execute/slackSummaryAdapter.d.ts.map +1 -1
- package/dist/features/tasks/execute/slackSummaryAdapter.js +0 -5
- package/dist/features/tasks/execute/slackSummaryAdapter.js.map +1 -1
- package/dist/features/tasks/execute/taskExecution.d.ts.map +1 -1
- package/dist/features/tasks/execute/taskExecution.js +9 -0
- package/dist/features/tasks/execute/taskExecution.js.map +1 -1
- package/dist/features/tasks/execute/taskWorkflowExecution.d.ts.map +1 -1
- package/dist/features/tasks/execute/taskWorkflowExecution.js +20 -1
- package/dist/features/tasks/execute/taskWorkflowExecution.js.map +1 -1
- package/dist/features/tasks/execute/traceTaskMetadata.d.ts +20 -0
- package/dist/features/tasks/execute/traceTaskMetadata.d.ts.map +1 -0
- package/dist/features/tasks/execute/traceTaskMetadata.js +54 -0
- package/dist/features/tasks/execute/traceTaskMetadata.js.map +1 -0
- package/dist/features/tasks/execute/types.d.ts +13 -1
- package/dist/features/tasks/execute/types.d.ts.map +1 -1
- package/dist/features/tasks/execute/workflowExecution.d.ts.map +1 -1
- package/dist/features/tasks/execute/workflowExecution.js +14 -1
- package/dist/features/tasks/execute/workflowExecution.js.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts +2 -0
- package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionBootstrap.js +16 -2
- package/dist/features/tasks/execute/workflowExecutionBootstrap.js.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionEvents.d.ts +2 -0
- package/dist/features/tasks/execute/workflowExecutionEvents.d.ts.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionEvents.js +10 -2
- package/dist/features/tasks/execute/workflowExecutionEvents.js.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionReporting.d.ts +3 -2
- package/dist/features/tasks/execute/workflowExecutionReporting.d.ts.map +1 -1
- package/dist/features/tasks/execute/workflowExecutionReporting.js +14 -2
- package/dist/features/tasks/execute/workflowExecutionReporting.js.map +1 -1
- package/dist/features/tasks/index.d.ts +1 -1
- package/dist/features/tasks/index.d.ts.map +1 -1
- package/dist/features/tasks/index.js.map +1 -1
- package/dist/features/tasks/resume/index.d.ts.map +1 -1
- package/dist/features/tasks/resume/index.js +5 -0
- package/dist/features/tasks/resume/index.js.map +1 -1
- package/dist/infra/config/configNormalizers.d.ts +18 -7
- package/dist/infra/config/configNormalizers.d.ts.map +1 -1
- package/dist/infra/config/configNormalizers.js +46 -13
- 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 +1 -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 +1 -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 +2 -1
- 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 -1
- package/dist/infra/config/global/globalConfigSerializer.js.map +1 -1
- package/dist/infra/config/loaders/namedResourceResolver.d.ts +18 -0
- package/dist/infra/config/loaders/namedResourceResolver.d.ts.map +1 -0
- package/dist/infra/config/loaders/namedResourceResolver.js +49 -0
- package/dist/infra/config/loaders/namedResourceResolver.js.map +1 -0
- package/dist/infra/config/loaders/providerOptionsLookupDirectories.d.ts +13 -0
- package/dist/infra/config/loaders/providerOptionsLookupDirectories.d.ts.map +1 -0
- package/dist/infra/config/loaders/providerOptionsLookupDirectories.js +61 -0
- package/dist/infra/config/loaders/providerOptionsLookupDirectories.js.map +1 -0
- package/dist/infra/config/loaders/workflowParser.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowParser.js +64 -3
- package/dist/infra/config/loaders/workflowParser.js.map +1 -1
- package/dist/infra/config/loaders/workflowPreview.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowPreview.js +8 -3
- package/dist/infra/config/loaders/workflowPreview.js.map +1 -1
- package/dist/infra/config/loaders/workflowProviderOptionsResolver.d.ts +20 -2
- package/dist/infra/config/loaders/workflowProviderOptionsResolver.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowProviderOptionsResolver.js +115 -33
- package/dist/infra/config/loaders/workflowProviderOptionsResolver.js.map +1 -1
- package/dist/infra/config/loaders/workflowRuleNormalizer.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowRuleNormalizer.js +5 -16
- package/dist/infra/config/loaders/workflowRuleNormalizer.js.map +1 -1
- package/dist/infra/config/loaders/workflowStepNormalizer.d.ts +3 -2
- package/dist/infra/config/loaders/workflowStepNormalizer.d.ts.map +1 -1
- package/dist/infra/config/loaders/workflowStepNormalizer.js +33 -12
- package/dist/infra/config/loaders/workflowStepNormalizer.js.map +1 -1
- package/dist/infra/config/paths.d.ts +4 -0
- package/dist/infra/config/paths.d.ts.map +1 -1
- package/dist/infra/config/paths.js +13 -0
- package/dist/infra/config/paths.js.map +1 -1
- package/dist/infra/config/project/projectConfig.d.ts.map +1 -1
- package/dist/infra/config/project/projectConfig.js +12 -3
- package/dist/infra/config/project/projectConfig.js.map +1 -1
- package/dist/infra/config/providerOptions.d.ts +19 -7
- package/dist/infra/config/providerOptions.d.ts.map +1 -1
- package/dist/infra/config/providerOptions.js +56 -10
- package/dist/infra/config/providerOptions.js.map +1 -1
- package/dist/infra/config/traced/tracedConfigSchema.d.ts.map +1 -1
- package/dist/infra/config/traced/tracedConfigSchema.js +8 -0
- package/dist/infra/config/traced/tracedConfigSchema.js.map +1 -1
- package/dist/infra/cursor/client.d.ts.map +1 -1
- package/dist/infra/cursor/client.js +113 -47
- package/dist/infra/cursor/client.js.map +1 -1
- package/dist/infra/opencode/client.d.ts.map +1 -1
- package/dist/infra/opencode/client.js +21 -0
- package/dist/infra/opencode/client.js.map +1 -1
- package/dist/infra/opencode/unavailable-tool-loop.d.ts +7 -0
- package/dist/infra/opencode/unavailable-tool-loop.d.ts.map +1 -0
- package/dist/infra/opencode/unavailable-tool-loop.js +33 -0
- package/dist/infra/opencode/unavailable-tool-loop.js.map +1 -0
- package/dist/infra/providers/provider-capabilities.d.ts.map +1 -1
- package/dist/infra/providers/provider-capabilities.js +0 -1
- package/dist/infra/providers/provider-capabilities.js.map +1 -1
- package/dist/infra/task/clone-base-branch.d.ts +1 -0
- package/dist/infra/task/clone-base-branch.d.ts.map +1 -1
- package/dist/infra/task/clone-base-branch.js +22 -14
- package/dist/infra/task/clone-base-branch.js.map +1 -1
- package/dist/infra/task/clone.d.ts +2 -0
- package/dist/infra/task/clone.d.ts.map +1 -1
- package/dist/infra/task/clone.js +7 -1
- package/dist/infra/task/clone.js.map +1 -1
- package/dist/infra/task/index.d.ts +1 -1
- package/dist/infra/task/index.d.ts.map +1 -1
- package/dist/infra/task/index.js +1 -1
- package/dist/infra/task/index.js.map +1 -1
- package/dist/infra/task/mapper.d.ts.map +1 -1
- package/dist/infra/task/mapper.js +1 -0
- package/dist/infra/task/mapper.js.map +1 -1
- package/dist/infra/task/taskExecutionSchemas.d.ts +3 -3
- package/dist/infra/task/taskRecordSchemas.d.ts +2 -2
- package/dist/infra/task/types.d.ts +1 -0
- package/dist/infra/task/types.d.ts.map +1 -1
- package/dist/shared/prompts/en/perform_phase2_message.md +1 -0
- package/dist/shared/prompts/ja/perform_phase2_message.md +1 -0
- package/dist/shared/ui/StreamDisplay.js +1 -1
- package/dist/shared/ui/StreamDisplay.js.map +1 -1
- 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/runId.d.ts +2 -0
- package/dist/shared/utils/runId.d.ts.map +1 -0
- package/dist/shared/utils/runId.js +18 -0
- package/dist/shared/utils/runId.js.map +1 -0
- package/package.json +24 -12
- /package/builtins/en/{workflows/provider-options → provider-options}/edit.yaml +0 -0
- /package/builtins/en/{workflows/provider-options → provider-options}/review-files.yaml +0 -0
- /package/builtins/en/{workflows/provider-options → provider-options}/review-readonly.yaml +0 -0
- /package/builtins/en/{workflows/provider-options → provider-options}/review-web.yaml +0 -0
- /package/builtins/ja/{workflows/provider-options → provider-options}/edit.yaml +0 -0
- /package/builtins/ja/{workflows/provider-options → provider-options}/review-files.yaml +0 -0
- /package/builtins/ja/{workflows/provider-options → provider-options}/review-readonly.yaml +0 -0
- /package/builtins/ja/{workflows/provider-options → provider-options}/review-web.yaml +0 -0
|
@@ -167,6 +167,35 @@ Validation inside an Aggregate should be limited to facts reproducible by event
|
|
|
167
167
|
|
|
168
168
|
Example: for an upload-completed command, the Aggregate decides whether the session owner matches the requester and whether the current state can be completed. The storage object key format and whether the key belongs to the current user/tenant are validated in the UseCase layer before sending the command.
|
|
169
169
|
|
|
170
|
+
## UseCase Layer (Orchestration)
|
|
171
|
+
|
|
172
|
+
UseCases sit between Controllers and command dispatch when orchestration is needed. They validate preconditions from Read Models across aggregates and perform required preparation before sending commands.
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
Controller → UseCase → CommandGateway → Aggregate
|
|
176
|
+
↓
|
|
177
|
+
QueryGateway / Repository (Read Model lookup)
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Cases where UseCase is needed:
|
|
181
|
+
- Read Model checks from multiple aggregates before command dispatch
|
|
182
|
+
- Multiple validations executed in sequence
|
|
183
|
+
- Result consistency waiting after command dispatch
|
|
184
|
+
- External integration or multiple command dispatches
|
|
185
|
+
|
|
186
|
+
Cases where UseCase is unnecessary:
|
|
187
|
+
- Simple operation completed by sending one command from Controller
|
|
188
|
+
- Simple read that only queries the query side and converts to response
|
|
189
|
+
- Operation that checks resource existence/scope and then sends one command
|
|
190
|
+
|
|
191
|
+
| Criteria | Judgment |
|
|
192
|
+
|----------|----------|
|
|
193
|
+
| Controller directly references Repository for validation | Separate into UseCase layer |
|
|
194
|
+
| UseCase depends on HTTP requests/responses | REJECT. UseCase must be protocol-independent |
|
|
195
|
+
| UseCase directly modifies Aggregate internal state | REJECT. Use CommandGateway |
|
|
196
|
+
| UseCase waits for results via Subscription Query | REJECT. Does not work in distributed environments. Use reactive polling |
|
|
197
|
+
| UseCase only delegates to a query boundary or command dispatch | Consider deleting |
|
|
198
|
+
|
|
170
199
|
## Projection Design
|
|
171
200
|
|
|
172
201
|
| Criteria | Judgment |
|
|
@@ -181,6 +210,19 @@ Good Projection:
|
|
|
181
210
|
- Idempotently reconstructible from events
|
|
182
211
|
- Completely independent from Write model
|
|
183
212
|
|
|
213
|
+
### External Work Triggers
|
|
214
|
+
|
|
215
|
+
External workers and asynchronous work should start from domain events confirmed by the Aggregate. Application Services and Coordinators must not bundle command dispatch and external side effects in the same control flow.
|
|
216
|
+
|
|
217
|
+
| Criteria | Judgment |
|
|
218
|
+
|----------|----------|
|
|
219
|
+
| Application Service or Coordinator dispatches a command, then starts external work for the same state transition | REJECT. Separate into an EventHandler for the confirmed event |
|
|
220
|
+
| Aggregate emits an event that represents generation or processing start, and an EventHandler starts external work | OK |
|
|
221
|
+
| EventHandler converts external start failure into a failure command back to the Aggregate | OK |
|
|
222
|
+
| Inputs needed by external work are represented in the event or reloadable through stable identifiers | OK |
|
|
223
|
+
| Inputs needed by external work exist only as local variables during command handling | REJECT. Move them to events or reloadable references |
|
|
224
|
+
| Saga is used only to start simple external work without contention or compensation | REJECT. EventHandler is sufficient |
|
|
225
|
+
|
|
184
226
|
## Query Side Design
|
|
185
227
|
|
|
186
228
|
Query side operates on an event-driven PubSub model. Projections update Read Models via EventHandler, and queries read from Read Models.
|
|
@@ -197,6 +239,9 @@ Event distribution uses PubSub (via message broker) to deliver events to all ins
|
|
|
197
239
|
| Controller directly referencing Repository | REJECT. Must go through UseCase layer |
|
|
198
240
|
| Query side referencing Command Model | REJECT |
|
|
199
241
|
| QueryHandler issuing commands | REJECT |
|
|
242
|
+
| Query-side service or handler saves, deletes, or calls external APIs | REJECT |
|
|
243
|
+
| Command and Query responsibilities mixed in the same service | REJECT. Separate responsibility and naming |
|
|
244
|
+
| Query side checks existence or scope and caller dispatches command | OK |
|
|
200
245
|
|
|
201
246
|
Types between layers:
|
|
202
247
|
- `application/query/` - Query result types (e.g., `OrderDetail`)
|
|
@@ -249,6 +294,18 @@ Aggregate → Event Bus → Projection(@EventHandler) → Repository(Read Model)
|
|
|
249
294
|
QueryHandler reads from here
|
|
250
295
|
```
|
|
251
296
|
|
|
297
|
+
### Async Callbacks and Concurrency Control
|
|
298
|
+
|
|
299
|
+
Completion notifications for asynchronous work must assume duplicates, delays, and reordering. Protect the workflow with Aggregate state transitions and command idempotency, not Controller-level or single-process locks.
|
|
300
|
+
|
|
301
|
+
| Criteria | Judgment |
|
|
302
|
+
|----------|----------|
|
|
303
|
+
| Controller or application-process lock prevents duplicate callbacks | REJECT. It does not work across multiple instances |
|
|
304
|
+
| Aggregate state decides whether work is processing | OK |
|
|
305
|
+
| Aggregate verifies callback attempt/generation identifiers | OK |
|
|
306
|
+
| Stale or duplicate callbacks are idempotently ignored by state transition | OK |
|
|
307
|
+
| Concurrency control is duplicated across Controller, UseCase, and Aggregate | REJECT |
|
|
308
|
+
|
|
252
309
|
## Eventual Consistency
|
|
253
310
|
|
|
254
311
|
When synchronous response is needed after command dispatch, use reactive polling to wait for Projection updates.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
```markdown
|
|
2
|
+
# AI-Generated Code Review
|
|
3
|
+
|
|
4
|
+
## Result: APPROVE / REJECT
|
|
5
|
+
|
|
6
|
+
## Summary
|
|
7
|
+
{Summarize the result in one sentence}
|
|
8
|
+
|
|
9
|
+
## Verified Items
|
|
10
|
+
| Aspect | Result | Notes |
|
|
11
|
+
|--------|--------|-------|
|
|
12
|
+
| Validity of assumptions | ✅ | - |
|
|
13
|
+
| API/library existence | ✅ | - |
|
|
14
|
+
| Context fit | ✅ | - |
|
|
15
|
+
| Scope | ✅ | - |
|
|
16
|
+
|
|
17
|
+
Expected `family_tag` values: `hallucination`, `unvalidated-assumption`, `off-by-one`, `api-mismatch`, `missing-edge-case`, `logic-error`, `scope-creep`.
|
|
18
|
+
When structured raw findings are requested, copy this table's `family_tag` value into the structured `familyTag` field.
|
|
19
|
+
|
|
20
|
+
## Observed Findings
|
|
21
|
+
| # | family_tag | Category | Severity | Location | Issue | Fix Suggestion |
|
|
22
|
+
|---|------------|----------|----------|----------|-------|----------------|
|
|
23
|
+
| 1 | hallucination | Hallucinated API | high / medium / low | `src/file.ts:23` | Non-existent method | Replace with existing API |
|
|
24
|
+
|
|
25
|
+
## Rejection Gate
|
|
26
|
+
- REJECT is valid only when at least one blocking finding is observed
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Cognitive load reduction rules:**
|
|
30
|
+
- No issues → Summary sentence + checklist + empty finding sections (10 lines or fewer)
|
|
31
|
+
- Issues found → include table rows only for impacted sections (30 lines or fewer)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
```markdown
|
|
2
|
+
# Architecture Review
|
|
3
|
+
|
|
4
|
+
## Result: APPROVE / IMPROVE / REJECT
|
|
5
|
+
|
|
6
|
+
## Summary
|
|
7
|
+
{Summarize the result in 1-2 sentences}
|
|
8
|
+
|
|
9
|
+
## Reviewed Aspects
|
|
10
|
+
- [x] Structure & design
|
|
11
|
+
- [x] Code quality
|
|
12
|
+
- [x] Change scope
|
|
13
|
+
- [x] Test coverage
|
|
14
|
+
- [x] Dead code
|
|
15
|
+
- [x] Call chain verification
|
|
16
|
+
|
|
17
|
+
## Observed Findings
|
|
18
|
+
| # | family_tag | Scope | Severity | Location | Issue | Fix Suggestion |
|
|
19
|
+
|---|------------|-------|----------|----------|-------|----------------|
|
|
20
|
+
| 1 | design-violation | In-scope | high / medium / low | `src/file.ts:42` | Issue description | Fix approach |
|
|
21
|
+
|
|
22
|
+
Scope: "In-scope" (fixable in this change) / "Out-of-scope" (existing issue, non-blocking)
|
|
23
|
+
|
|
24
|
+
## Verification Evidence
|
|
25
|
+
- Build: {Verified target, what was checked, and observed result; or state that it was unverified}
|
|
26
|
+
- Tests: {Verified target, what was checked, and observed result; or state that it was unverified}
|
|
27
|
+
- Functional check: {Verified target, what was checked, and observed result; or state that it was unverified}
|
|
28
|
+
|
|
29
|
+
## Rejection Gate
|
|
30
|
+
- REJECT is valid only when at least one in-scope blocking finding is observed
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Cognitive load reduction rules:**
|
|
34
|
+
- APPROVE → Summary only (5 lines or fewer)
|
|
35
|
+
- REJECT → Include only relevant finding rows (30 lines or fewer)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
```markdown
|
|
2
|
+
# Coding Review
|
|
3
|
+
|
|
4
|
+
## Result: APPROVE / REJECT
|
|
5
|
+
|
|
6
|
+
## Summary
|
|
7
|
+
{Summarize the review result in 1-2 sentences}
|
|
8
|
+
|
|
9
|
+
## Observed Findings
|
|
10
|
+
| # | family_tag | Severity | Location | Issue | Impact | Fix Suggestion |
|
|
11
|
+
|---|------------|----------|----------|-------|--------|----------------|
|
|
12
|
+
| 1 | bug | High / Medium / Low | `src/file.ts:42` | {Issue} | {Impact} | {Fix suggestion} |
|
|
13
|
+
|
|
14
|
+
## Verification Evidence
|
|
15
|
+
- Diff review: {What was checked}
|
|
16
|
+
- Build: {Result, or state unverified}
|
|
17
|
+
- Tests: {Result, or state unverified}
|
|
18
|
+
|
|
19
|
+
## Rejection Gate
|
|
20
|
+
- REJECT only when at least one blocking finding is observed
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Cognitive load reduction rules:**
|
|
24
|
+
- APPROVE: Summary only (5 lines or fewer)
|
|
25
|
+
- REJECT: Include only relevant finding rows (30 lines or fewer)
|
|
@@ -6,6 +6,13 @@
|
|
|
6
6
|
## Summary
|
|
7
7
|
{Summarize the review result in 1-2 sentences}
|
|
8
8
|
|
|
9
|
+
## Contract Entry Check
|
|
10
|
+
Fill this when the diff adds or changes IDs, names, metadata, config, environment variables, or output contracts.
|
|
11
|
+
|
|
12
|
+
| Entry / Path | Original Requirement | Implementation Evidence | Test Evidence | Judgment | Exception / Unverified Evidence |
|
|
13
|
+
|--------------|----------------------|--------------------------|---------------|----------|---------------------------------|
|
|
14
|
+
| {normal entry / derived condition / validation / evaluation / output / re-injection, etc.} | {Requirement} | `src/file.ts:42` | `src/file.test.ts:10` | ✅/❌/⚠️ | {none / evidence} |
|
|
15
|
+
|
|
9
16
|
## Current Iteration Findings (new)
|
|
10
17
|
| # | finding_id | family_tag | Severity | Location | Issue | Impact | Fix Suggestion |
|
|
11
18
|
|---|------------|------------|----------|----------|-------|--------|----------------|
|
|
@@ -17,9 +24,9 @@
|
|
|
17
24
|
| 1 | CODE-PERSIST-src-file-L77 | regression | `src/file.ts:77` | `src/file.ts:77` | {Unresolved issue} | {Fix suggestion} |
|
|
18
25
|
|
|
19
26
|
## Resolved Findings (resolved)
|
|
20
|
-
| finding_id | Resolution Evidence |
|
|
21
|
-
|
|
22
|
-
| CODE-RESOLVED-src-file-L10 | Resolved at `src/file.ts:10` |
|
|
27
|
+
| finding_id | Original Expected Result | Resolution Evidence |
|
|
28
|
+
|------------|--------------------------|---------------------|
|
|
29
|
+
| CODE-RESOLVED-src-file-L10 | {Original finding acceptance criteria} | Resolved at `src/file.ts:10` |
|
|
23
30
|
|
|
24
31
|
## Reopened Findings (reopened)
|
|
25
32
|
| # | finding_id | family_tag | Prior Resolution Evidence | Recurrence Evidence | Issue | Fix Suggestion |
|
|
@@ -37,5 +44,5 @@
|
|
|
37
44
|
```
|
|
38
45
|
|
|
39
46
|
**Cognitive load reduction rules:**
|
|
40
|
-
- APPROVE: Summary
|
|
47
|
+
- APPROVE: Summary plus Contract Entry Check when needed (10 lines or fewer total)
|
|
41
48
|
- REJECT: Include only relevant finding rows (30 lines or fewer)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
```markdown
|
|
2
|
+
# CQRS+ES Review
|
|
3
|
+
|
|
4
|
+
## Result: APPROVE / REJECT
|
|
5
|
+
|
|
6
|
+
## Summary
|
|
7
|
+
{Summarize the result in 1-2 sentences}
|
|
8
|
+
|
|
9
|
+
## Reviewed Aspects
|
|
10
|
+
| Aspect | Result | Notes |
|
|
11
|
+
|--------|--------|-------|
|
|
12
|
+
| Aggregate design | ✅ | - |
|
|
13
|
+
| Event design | ✅ | - |
|
|
14
|
+
| Command/Query separation | ✅ | - |
|
|
15
|
+
| Projections | ✅ | - |
|
|
16
|
+
| Eventual consistency | ✅ | - |
|
|
17
|
+
|
|
18
|
+
## Observed Findings
|
|
19
|
+
| # | family_tag | Severity | Scope | Location | Issue | Impact | Fix Suggestion |
|
|
20
|
+
|---|------------|----------|-------|----------|-------|--------|----------------|
|
|
21
|
+
| 1 | cqrs-violation | High / Medium / Low | In-scope | `src/file.ts:42` | Issue description | Domain consistency or maintainability impact | Fix approach |
|
|
22
|
+
|
|
23
|
+
Scope: "In-scope" (fixable in this change) / "Out-of-scope" (existing issue, non-blocking)
|
|
24
|
+
|
|
25
|
+
## Rejection Gate
|
|
26
|
+
- REJECT only when at least one blocking finding is observed
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Cognitive load reduction rules:**
|
|
30
|
+
- APPROVE → Summary only (5 lines or fewer)
|
|
31
|
+
- REJECT → Include only relevant finding rows (30 lines or fewer)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
```json
|
|
2
|
+
{
|
|
3
|
+
"matches": [
|
|
4
|
+
{
|
|
5
|
+
"findingId": "F-0001",
|
|
6
|
+
"rawFindingIds": ["raw-1"],
|
|
7
|
+
"evidence": "Why this is the same issue"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"newFindings": [
|
|
11
|
+
{
|
|
12
|
+
"rawFindingIds": ["raw-2"],
|
|
13
|
+
"title": "Short title for the new finding",
|
|
14
|
+
"severity": "high"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"resolvedFindings": [
|
|
18
|
+
{
|
|
19
|
+
"findingId": "F-0002",
|
|
20
|
+
"rawFindingIds": ["raw-previous-1"],
|
|
21
|
+
"evidence": "Evidence that the finding is resolved"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"reopenedFindings": [
|
|
25
|
+
{
|
|
26
|
+
"findingId": "F-0003",
|
|
27
|
+
"rawFindingIds": ["raw-3"],
|
|
28
|
+
"evidence": "Evidence that the finding has reappeared"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"conflicts": [
|
|
32
|
+
{
|
|
33
|
+
"findingIds": [],
|
|
34
|
+
"rawFindingIds": ["raw-4", "raw-5"],
|
|
35
|
+
"description": "Reviewer contradiction"
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"resolvedConflicts": [
|
|
39
|
+
{
|
|
40
|
+
"conflictId": "C-012345ABCDEF",
|
|
41
|
+
"evidence": "Evidence that the conflict is adjudicated"
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
```markdown
|
|
2
|
+
# Frontend Review
|
|
3
|
+
|
|
4
|
+
## Result: APPROVE / REJECT
|
|
5
|
+
|
|
6
|
+
## Summary
|
|
7
|
+
{Summarize the result in 1-2 sentences}
|
|
8
|
+
|
|
9
|
+
## Reviewed Aspects
|
|
10
|
+
| Aspect | Result | Notes |
|
|
11
|
+
|--------|--------|-------|
|
|
12
|
+
| Component design | ✅ | - |
|
|
13
|
+
| State management | ✅ | - |
|
|
14
|
+
| Canonical and derived state | ✅ | - |
|
|
15
|
+
| Performance | ✅ | - |
|
|
16
|
+
| Accessibility | ✅ | - |
|
|
17
|
+
| Type safety | ✅ | - |
|
|
18
|
+
|
|
19
|
+
## Observed Findings
|
|
20
|
+
| # | family_tag | Severity | Location | Issue | Impact | Fix Suggestion |
|
|
21
|
+
|---|------------|----------|----------|-------|--------|----------------|
|
|
22
|
+
| 1 | component-design | High / Medium / Low | `src/file.tsx:42` | Issue description | User experience or maintainability impact | Fix approach |
|
|
23
|
+
|
|
24
|
+
## Rejection Gate
|
|
25
|
+
- REJECT only when at least one blocking finding is observed
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Cognitive load reduction rules:**
|
|
29
|
+
- APPROVE → Summary only (5 lines or fewer)
|
|
30
|
+
- REJECT → Include only relevant finding rows (30 lines or fewer)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
```markdown
|
|
2
|
+
# Pure Review
|
|
3
|
+
|
|
4
|
+
## Result: APPROVE / REJECT
|
|
5
|
+
|
|
6
|
+
## Summary
|
|
7
|
+
{Summarize in 1-2 sentences whether this change is mergeable quality. If REJECT, mention the largest blocker first}
|
|
8
|
+
|
|
9
|
+
## Pure Review Check
|
|
10
|
+
| # | Area | Status | Evidence (file:line / test / execution evidence) | Comment |
|
|
11
|
+
|---|------|--------|--------------------------------------------------|---------|
|
|
12
|
+
| 1 | Requirement fulfillment | Satisfied / Unmet / Unverified | `src/file.ts:42` | {Notes} |
|
|
13
|
+
| 2 | Existing contract and existing-flow impact | No issue / Issue found / Unverified | `src/file.ts:42` | {Notes} |
|
|
14
|
+
| 3 | Tests and verification | Sufficient / Insufficient / Unverified | `npm test` | {Notes} |
|
|
15
|
+
| 4 | Out-of-scope changes and scope creep | No issue / Issue found / Unverified | `src/file.ts:42` | {Notes} |
|
|
16
|
+
| 5 | Obvious security, data-protection, or operational risk | No issue / Issue found / Unverified | `src/file.ts:42` | {Notes} |
|
|
17
|
+
|
|
18
|
+
## Requirements Cross-Reference
|
|
19
|
+
| # | Requirement (from task) | Status | Evidence (file:line) | Comment |
|
|
20
|
+
|---|-------------------------|--------|----------------------|---------|
|
|
21
|
+
| 1 | {requirement 1} | Satisfied / Unmet / Unverified | `src/file.ts:42` | {Notes} |
|
|
22
|
+
|
|
23
|
+
## Out-of-Scope Changes and Existing Impact
|
|
24
|
+
| # | Change | File | Judgment | Comment |
|
|
25
|
+
|---|--------|------|----------|---------|
|
|
26
|
+
| 1 | {out-of-scope change or existing impact} | `src/file.ts` | Justified / Needs review / Unnecessary / Problematic | {Reason} |
|
|
27
|
+
|
|
28
|
+
## Observed Findings
|
|
29
|
+
| # | family_tag | Category | Severity | Location | Issue | Fix Suggestion |
|
|
30
|
+
|---|------------|----------|----------|----------|-------|----------------|
|
|
31
|
+
| 1 | mergeability | Regression / Requirement gap / Missing tests / Contract break / Scope creep | high / medium / low | `src/file.ts:42` | Issue description | Fix suggestion |
|
|
32
|
+
|
|
33
|
+
## Verification Evidence
|
|
34
|
+
- Build: {Verified target, what was checked, and observed result; or state that it was unverified}
|
|
35
|
+
- Tests: {Verified target, what was checked, and observed result; or state that it was unverified}
|
|
36
|
+
- Functional check: {Verified target, what was checked, and observed result; or state that it was unverified}
|
|
37
|
+
|
|
38
|
+
## Rejection Gate
|
|
39
|
+
- REJECT if at least one merge-blocking finding is observed
|
|
40
|
+
- Unverified areas should block merge only when they affect mergeability
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Cognitive load reduction rules:**
|
|
44
|
+
- APPROVE: Summary + Pure Review Check only (10 lines or fewer)
|
|
45
|
+
- REJECT: Prioritize blocker findings (40 lines or fewer)
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
| 5 | Obvious security, data-protection, or operational risk | No issue / Issue found / Unverified | `src/file.ts:42` | {Notes} |
|
|
17
17
|
|
|
18
18
|
## Requirements Cross-Reference
|
|
19
|
-
| # | Requirement (from task) | Status | Evidence (file:line) |
|
|
20
|
-
|
|
21
|
-
| 1 | {requirement 1} | Satisfied / Unmet / Unverified | `src/file.ts:42` | {
|
|
19
|
+
| # | Requirement (from task) | Original Requirement Source | Status | Evidence (file:line) | Exception / Unverified Evidence |
|
|
20
|
+
|---|-------------------------|-----------------------------|--------|----------------------|---------------------------------|
|
|
21
|
+
| 1 | {requirement 1} | `order.md:10` | Satisfied / Unmet / Unverified | `src/file.ts:42` | {none / evidence} |
|
|
22
22
|
|
|
23
23
|
## Out-of-Scope Changes and Existing Impact
|
|
24
24
|
| # | Change | File | Judgment | Comment |
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
| 1 | PURE-PERSIST-src-file-L77 | mergeability | `file:line` | `file:line` | Unresolved | Fix suggestion |
|
|
37
37
|
|
|
38
38
|
## Resolved Findings (resolved)
|
|
39
|
-
| finding_id | Resolution Evidence |
|
|
40
|
-
|
|
41
|
-
| PURE-RESOLVED-src-file-L10 | `file:line` resolves the issue |
|
|
39
|
+
| finding_id | Original Expected Result | Resolution Evidence |
|
|
40
|
+
|------------|--------------------------|---------------------|
|
|
41
|
+
| PURE-RESOLVED-src-file-L10 | {Original finding acceptance criteria} | `file:line` resolves the issue |
|
|
42
42
|
|
|
43
43
|
## Reopened Findings (reopened)
|
|
44
44
|
| # | finding_id | family_tag | Prior Resolution Evidence | Recurrence Evidence | Issue | Fix Suggestion |
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
```markdown
|
|
2
|
+
# QA Review
|
|
3
|
+
|
|
4
|
+
## Result: APPROVE / REJECT
|
|
5
|
+
|
|
6
|
+
## Summary
|
|
7
|
+
{Summarize the result in 1-2 sentences}
|
|
8
|
+
|
|
9
|
+
## Reviewed Aspects
|
|
10
|
+
| Aspect | Result | Notes |
|
|
11
|
+
|--------|--------|-------|
|
|
12
|
+
| Test coverage | ✅ | - |
|
|
13
|
+
| Test quality | ✅ | - |
|
|
14
|
+
| Error handling | ✅ | - |
|
|
15
|
+
| Documentation | ✅ | - |
|
|
16
|
+
| Maintainability | ✅ | - |
|
|
17
|
+
|
|
18
|
+
## Observed Findings
|
|
19
|
+
| # | family_tag | Category | Severity | Location | Issue | Fix Suggestion |
|
|
20
|
+
|---|------------|----------|----------|----------|-------|----------------|
|
|
21
|
+
| 1 | test-coverage | Testing | high / medium / low | `src/test.ts:42` | Missing negative test | Add failure-path test |
|
|
22
|
+
|
|
23
|
+
## Verification Evidence
|
|
24
|
+
- Build: {Verified target, what was checked, and observed result; or state that it was unverified}
|
|
25
|
+
- Tests: {Verified target, what was checked, and observed result; or state that it was unverified}
|
|
26
|
+
- Functional check: {Verified target, what was checked, and observed result; or state that it was unverified}
|
|
27
|
+
|
|
28
|
+
## Unverified Scope
|
|
29
|
+
| Item | Reason | Impact on Decision |
|
|
30
|
+
|------|--------|--------------------|
|
|
31
|
+
| {Unverified scope, or "none"} | {Reason it was not verified} | {APPROVE allowed / REJECT reason} |
|
|
32
|
+
|
|
33
|
+
## Rejection Gate
|
|
34
|
+
- REJECT is valid only when at least one blocking finding is observed
|
|
35
|
+
```
|
|
@@ -15,6 +15,13 @@
|
|
|
15
15
|
| Documentation | ✅ | - |
|
|
16
16
|
| Maintainability | ✅ | - |
|
|
17
17
|
|
|
18
|
+
## Contract Entry Check
|
|
19
|
+
Fill this when the diff adds or changes IDs, names, metadata, config, environment variables, or output contracts.
|
|
20
|
+
|
|
21
|
+
| Entry / Path | Original Requirement | Implementation Evidence | Test Evidence | Judgment | Exception / Unverified Evidence |
|
|
22
|
+
|--------------|----------------------|--------------------------|---------------|----------|---------------------------------|
|
|
23
|
+
| {normal entry / derived condition / validation / evaluation / output / re-injection, etc.} | {Requirement} | `src/file.ts:42` | `src/file.test.ts:10` | ✅/❌/⚠️ | {none / evidence} |
|
|
24
|
+
|
|
18
25
|
## Current Iteration Findings (new)
|
|
19
26
|
| # | finding_id | family_tag | Category | Location | Issue | Fix Suggestion |
|
|
20
27
|
|---|------------|------------|----------|----------|-------|----------------|
|
|
@@ -26,9 +33,9 @@
|
|
|
26
33
|
| 1 | QA-PERSIST-src-test-L77 | test-coverage | `src/test.ts:77` | `src/test.ts:77` | Still flaky | Stabilize assertion & setup |
|
|
27
34
|
|
|
28
35
|
## Resolved Findings (resolved)
|
|
29
|
-
| finding_id | Resolution Evidence |
|
|
30
|
-
|
|
31
|
-
| QA-RESOLVED-src-test-L10 | `src/test.ts:10` now covers error path |
|
|
36
|
+
| finding_id | Original Expected Result | Resolution Evidence |
|
|
37
|
+
|------------|--------------------------|---------------------|
|
|
38
|
+
| QA-RESOLVED-src-test-L10 | {Original finding acceptance criteria} | `src/test.ts:10` now covers error path |
|
|
32
39
|
|
|
33
40
|
## Reopened Findings (reopened)
|
|
34
41
|
| # | finding_id | family_tag | Prior Resolution Evidence | Recurrence Evidence | Issue | Fix Suggestion |
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
```markdown
|
|
2
|
+
# Security Review
|
|
3
|
+
|
|
4
|
+
## Result: APPROVE / REJECT
|
|
5
|
+
|
|
6
|
+
## Severity: None / Low / Medium / High / Critical
|
|
7
|
+
|
|
8
|
+
## Check Results
|
|
9
|
+
| Category | Result | Notes |
|
|
10
|
+
|----------|--------|-------|
|
|
11
|
+
| Injection | ✅ | - |
|
|
12
|
+
| Authentication & Authorization | ✅ | - |
|
|
13
|
+
| Data Protection | ✅ | - |
|
|
14
|
+
| Dependencies | ✅ | - |
|
|
15
|
+
|
|
16
|
+
## Observed Findings
|
|
17
|
+
| # | family_tag | Severity | Type | Location | Issue | Fix Suggestion |
|
|
18
|
+
|---|------------|----------|------|----------|-------|----------------|
|
|
19
|
+
| 1 | injection-risk | High | SQLi | `src/db.ts:42` | Raw query string | Use parameterized queries |
|
|
20
|
+
|
|
21
|
+
## Verification Evidence
|
|
22
|
+
- Build: {Verified target, what was checked, and observed result; or state that it was unverified}
|
|
23
|
+
- Tests: {Verified target, what was checked, and observed result; or state that it was unverified}
|
|
24
|
+
- Functional check: {Verified target, what was checked, and observed result; or state that it was unverified}
|
|
25
|
+
|
|
26
|
+
## Warnings (non-blocking)
|
|
27
|
+
- {Security recommendations}
|
|
28
|
+
|
|
29
|
+
## Rejection Gate
|
|
30
|
+
- REJECT is valid only when at least one blocking vulnerability is observed
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Cognitive load reduction rules:**
|
|
34
|
+
- No issues → Checklist only (10 lines or fewer)
|
|
35
|
+
- Warnings only → + Warnings in 1-2 lines (15 lines or fewer)
|
|
36
|
+
- Vulnerabilities found → + finding tables (30 lines or fewer)
|
|
@@ -7,25 +7,39 @@
|
|
|
7
7
|
|
|
8
8
|
Extract requirements from the task spec and verify each one individually against actual code.
|
|
9
9
|
|
|
10
|
-
| # | Decomposed requirement | Met | Evidence (file:line) |
|
|
11
|
-
|
|
12
|
-
| 1 | {requirement 1} | ✅/❌ | `src/file.ts:42` |
|
|
13
|
-
| 2 | {requirement 2} | ✅/❌ | `src/file.ts:55` |
|
|
10
|
+
| # | Decomposed requirement | Original Requirement Source | Met | Evidence (file:line) | Exception / Optionalization Evidence |
|
|
11
|
+
|---|------------------------|-----------------------------|-----|----------------------|------------------------------------|
|
|
12
|
+
| 1 | {requirement 1} | `order.md:10` | ✅/❌ | `src/file.ts:42` | none |
|
|
13
|
+
| 2 | {requirement 2} | `order.md:11` | ✅/❌ | `src/file.ts:55` | none |
|
|
14
14
|
|
|
15
15
|
- If a sentence contains multiple conditions, split it into the smallest independently verifiable rows
|
|
16
16
|
- Do not combine parallel conditions such as `A/B`, `global/project`, `JSON/leaf`, `allow/deny`, or `read/write` into one row
|
|
17
17
|
- If any ❌ exists, REJECT is mandatory
|
|
18
18
|
- ✅ without evidence is invalid (must verify against actual code)
|
|
19
19
|
- Do not mark a row as ✅ when the evidence covers only part of the cases
|
|
20
|
+
- Treat optionalization, exclusion, or exception not present in the task spec as unmet
|
|
20
21
|
- Do not rely on plan report's judgment; independently verify mergeability
|
|
21
22
|
|
|
22
23
|
## Re-evaluation of Prior Findings
|
|
23
|
-
| finding_id | Prior Status | Re-evaluation | Evidence |
|
|
24
|
-
|
|
25
|
-
| {id} | new / persists / resolved | valid / false_positive / overreach | `src/file.ts:42`, `reports/plan.md` |
|
|
24
|
+
| finding_id | Prior Status | Original Expected Result | Re-evaluation | Evidence |
|
|
25
|
+
|------------|--------------|--------------------------|---------------|----------|
|
|
26
|
+
| {id} | new / persists / resolved | {Original finding acceptance criteria} | valid / false_positive / overreach | `src/file.ts:42`, `reports/plan.md` |
|
|
26
27
|
|
|
27
28
|
- If final judgment differs from prior review conclusions, explain why with evidence
|
|
29
|
+
- Treat `resolved` as valid only when it satisfies the original expected result and original requirement
|
|
28
30
|
- If marking `false_positive` or `overreach`, state whether it conflicts with the task objective, the plan, or both
|
|
31
|
+
- If overturning a pure-review conclusion, explain why with concrete evidence
|
|
32
|
+
|
|
33
|
+
## Maintenance Scope Check (maintenance workflows only)
|
|
34
|
+
|
|
35
|
+
| Check | Result | Evidence |
|
|
36
|
+
|-------|--------|----------|
|
|
37
|
+
| Only required changes remain | ✅/❌ | {Evidence} |
|
|
38
|
+
| Related changes have clear reasons | ✅/❌ | {Evidence} |
|
|
39
|
+
| No unnecessary changes remain | ✅/❌ | {Evidence} |
|
|
40
|
+
| No out-of-scope comment deletion occurred | ✅/❌ | {Evidence} |
|
|
41
|
+
| Type names, file placement, and public APIs did not change out of scope | ✅/❌ | {Evidence} |
|
|
42
|
+
| UI copy, accessible names, and test expectations did not change out of scope | ✅/❌ | {Evidence} |
|
|
29
43
|
|
|
30
44
|
## Validation Summary
|
|
31
45
|
| Item | Status | Verification Method |
|
|
@@ -38,6 +52,11 @@ Extract requirements from the task spec and verify each one individually against
|
|
|
38
52
|
- When using `⚠️`, explain the missing evidence and the verified scope in the method column
|
|
39
53
|
- If report text conflicts with execution evidence, treat that inconsistency itself as a finding
|
|
40
54
|
|
|
55
|
+
## Unverified Scope
|
|
56
|
+
| Item | Impact | Treatment |
|
|
57
|
+
|------|--------|-----------|
|
|
58
|
+
| {Unverified scope, or "none"} | {Primary or supporting requirement} | APPROVE allowed / REJECT reason |
|
|
59
|
+
|
|
41
60
|
## Current Iteration Findings (new)
|
|
42
61
|
| # | finding_id | Item | Evidence | Reason | Required Action |
|
|
43
62
|
|---|------------|------|----------|--------|-----------------|
|
|
@@ -49,14 +68,19 @@ Extract requirements from the task spec and verify each one individually against
|
|
|
49
68
|
| 1 | VAL-PERSIST-src-file-L77 | `file:line` | `file:line` | Still unresolved | Apply fix |
|
|
50
69
|
|
|
51
70
|
## Resolved Findings (resolved)
|
|
52
|
-
| finding_id | Resolution Evidence |
|
|
53
|
-
|
|
54
|
-
| VAL-RESOLVED-src-file-L10 | `file:line` now passes validation |
|
|
71
|
+
| finding_id | Original Expected Result | Resolution Evidence |
|
|
72
|
+
|------------|--------------------------|---------------------|
|
|
73
|
+
| VAL-RESOLVED-src-file-L10 | {Original finding acceptance criteria} | `file:line` now passes validation |
|
|
55
74
|
|
|
56
75
|
## Deliverables
|
|
57
76
|
- Created: {Created files}
|
|
58
77
|
- Modified: {Modified files}
|
|
59
78
|
|
|
79
|
+
## Outstanding Items (if REJECT)
|
|
80
|
+
| # | Item | Reason |
|
|
81
|
+
|---|------|--------|
|
|
82
|
+
| 1 | {Item} | {Reason} |
|
|
83
|
+
|
|
60
84
|
## Rejection Gate
|
|
61
85
|
- REJECT is valid only when at least one finding exists in `new` or `persists`
|
|
62
86
|
- Findings without `finding_id` are invalid
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
```markdown
|
|
2
|
+
# Terraform Convention Review
|
|
3
|
+
|
|
4
|
+
## Result: APPROVE / REJECT
|
|
5
|
+
|
|
6
|
+
## Summary
|
|
7
|
+
{Summarize the result in 1-2 sentences}
|
|
8
|
+
|
|
9
|
+
## Reviewed Aspects
|
|
10
|
+
- [x] Variable declarations (type, description, sensitive)
|
|
11
|
+
- [x] Resource naming (name_prefix pattern)
|
|
12
|
+
- [x] File structure (one concern per file)
|
|
13
|
+
- [x] Security settings
|
|
14
|
+
- [x] Tag management
|
|
15
|
+
- [x] lifecycle rules
|
|
16
|
+
- [x] Cost trade-off documentation
|
|
17
|
+
|
|
18
|
+
## Observed Findings
|
|
19
|
+
| # | family_tag | Severity | Scope | Location | Issue | Impact | Fix Suggestion |
|
|
20
|
+
|---|------------|----------|-------|----------|-------|--------|----------------|
|
|
21
|
+
| 1 | tf-convention | High / Medium / Low | In-scope | `modules/example/main.tf:42` | Issue description | Operations, security, or maintainability impact | Fix approach |
|
|
22
|
+
|
|
23
|
+
Scope: "In-scope" (fixable in this change) / "Out-of-scope" (existing issue, non-blocking)
|
|
24
|
+
|
|
25
|
+
## Rejection Gate
|
|
26
|
+
- REJECT only when at least one blocking finding is observed
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Cognitive load reduction rules:**
|
|
30
|
+
- APPROVE → Summary only (5 lines or fewer)
|
|
31
|
+
- REJECT → Include only relevant finding rows (30 lines or fewer)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
```markdown
|
|
2
|
+
# Testing Review
|
|
3
|
+
|
|
4
|
+
## Result: APPROVE / REJECT
|
|
5
|
+
|
|
6
|
+
## Summary
|
|
7
|
+
{Summarize the result in 1-2 sentences}
|
|
8
|
+
|
|
9
|
+
## Reviewed Aspects
|
|
10
|
+
| Aspect | Result | Notes |
|
|
11
|
+
|--------|--------|-------|
|
|
12
|
+
| Test coverage | ✅ | - |
|
|
13
|
+
| Test structure (Given-When-Then) | ✅ | - |
|
|
14
|
+
| Test naming | ✅ | - |
|
|
15
|
+
| Test independence & reproducibility | ✅ | - |
|
|
16
|
+
| Mocks & fixtures | ✅ | - |
|
|
17
|
+
| Test strategy (unit/integration/E2E) | ✅ | - |
|
|
18
|
+
| Contract input location (body/query/path) | ✅ | - |
|
|
19
|
+
|
|
20
|
+
## Observed Findings
|
|
21
|
+
| # | family_tag | Category | Severity | Location | Issue | Fix Suggestion |
|
|
22
|
+
|---|------------|----------|----------|----------|-------|----------------|
|
|
23
|
+
| 1 | test-structure | Coverage | high / medium / low | `src/test.ts:42` | Issue description | Fix suggestion |
|
|
24
|
+
|
|
25
|
+
## Verification Evidence
|
|
26
|
+
- Build: {Verified target, what was checked, and observed result; or state that it was unverified}
|
|
27
|
+
- Tests: {Verified target, what was checked, and observed result; or state that it was unverified}
|
|
28
|
+
- Functional check: {Verified target, what was checked, and observed result; or state that it was unverified}
|
|
29
|
+
|
|
30
|
+
## Unverified Scope
|
|
31
|
+
| Item | Reason | Impact on Decision |
|
|
32
|
+
|------|--------|--------------------|
|
|
33
|
+
| {Unverified scope, or "none"} | {Reason it was not verified} | {APPROVE allowed / REJECT reason} |
|
|
34
|
+
|
|
35
|
+
## Rejection Gate
|
|
36
|
+
- REJECT is valid only when at least one blocking finding is observed
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Cognitive load reduction rules:**
|
|
40
|
+
- APPROVE: Summary and unverified scope only (8 lines or fewer)
|
|
41
|
+
- REJECT: Only relevant findings in tables (30 lines or fewer)
|