@zhixuan92/multi-model-agent-core 4.3.1 → 4.4.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 +7 -8
- package/dist/bounded-execution/cost-compute.d.ts.map +1 -1
- package/dist/bounded-execution/cost-compute.js +10 -0
- package/dist/bounded-execution/cost-compute.js.map +1 -1
- package/dist/config/config-resolver.d.ts +6 -4
- package/dist/config/config-resolver.d.ts.map +1 -1
- package/dist/config/config-resolver.js +7 -6
- package/dist/config/config-resolver.js.map +1 -1
- package/dist/config/schema.d.ts +8 -76
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +11 -18
- package/dist/config/schema.js.map +1 -1
- package/dist/escalation/delegate-with-escalation.d.ts.map +1 -1
- package/dist/escalation/delegate-with-escalation.js +35 -38
- package/dist/escalation/delegate-with-escalation.js.map +1 -1
- package/dist/escalation/escalation-policy.d.ts +1 -1
- package/dist/escalation/escalation-policy.d.ts.map +1 -1
- package/dist/escalation/escalation-policy.js +0 -1
- package/dist/escalation/escalation-policy.js.map +1 -1
- package/dist/events/clamp.d.ts.map +1 -1
- package/dist/events/clamp.js +17 -6
- package/dist/events/clamp.js.map +1 -1
- package/dist/events/cloud-events.d.ts +1 -3
- package/dist/events/cloud-events.d.ts.map +1 -1
- package/dist/events/event-builder.d.ts +1 -1
- package/dist/events/event-builder.d.ts.map +1 -1
- package/dist/events/event-builder.js +2 -2
- package/dist/events/event-builder.js.map +1 -1
- package/dist/events/observability-events.d.ts +1 -25
- package/dist/events/observability-events.d.ts.map +1 -1
- package/dist/events/running-headline-sink.d.ts +2 -1
- package/dist/events/running-headline-sink.d.ts.map +1 -1
- package/dist/events/running-headline-sink.js.map +1 -1
- package/dist/events/telemetry-types.d.ts +20 -23
- package/dist/events/telemetry-types.d.ts.map +1 -1
- package/dist/events/telemetry-types.js +13 -13
- package/dist/events/telemetry-types.js.map +1 -1
- package/dist/index.d.ts +2 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -5
- package/dist/index.js.map +1 -1
- package/dist/intake/source-schema.js +1 -1
- package/dist/intake/source-schema.js.map +1 -1
- package/dist/intake/types.d.ts +1 -1
- package/dist/intake/types.d.ts.map +1 -1
- package/dist/intake/verify-command-validator.d.ts +6 -0
- package/dist/intake/verify-command-validator.d.ts.map +1 -0
- package/dist/intake/verify-command-validator.js +47 -0
- package/dist/intake/verify-command-validator.js.map +1 -0
- package/dist/lifecycle/findings-parser.d.ts +9 -0
- package/dist/lifecycle/findings-parser.d.ts.map +1 -0
- package/dist/lifecycle/findings-parser.js +47 -0
- package/dist/lifecycle/findings-parser.js.map +1 -0
- package/dist/lifecycle/handlers/annotator.d.ts +35 -0
- package/dist/lifecycle/handlers/annotator.d.ts.map +1 -0
- package/dist/lifecycle/handlers/annotator.js +38 -0
- package/dist/lifecycle/handlers/annotator.js.map +1 -0
- package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +1 -1
- package/dist/lifecycle/handlers/baseline-handlers.js +30 -37
- package/dist/lifecycle/handlers/baseline-handlers.js.map +1 -1
- package/dist/lifecycle/handlers/git-commit-handler.d.ts +1 -16
- package/dist/lifecycle/handlers/git-commit-handler.d.ts.map +1 -1
- package/dist/lifecycle/handlers/git-commit-handler.js +147 -53
- package/dist/lifecycle/handlers/git-commit-handler.js.map +1 -1
- package/dist/lifecycle/handlers/read-route-implementer.d.ts +41 -0
- package/dist/lifecycle/handlers/read-route-implementer.d.ts.map +1 -0
- package/dist/lifecycle/handlers/read-route-implementer.js +84 -0
- package/dist/lifecycle/handlers/read-route-implementer.js.map +1 -0
- package/dist/lifecycle/handlers/review-handler.d.ts.map +1 -1
- package/dist/lifecycle/handlers/review-handler.js +84 -90
- package/dist/lifecycle/handlers/review-handler.js.map +1 -1
- package/dist/lifecycle/handlers/rework-handler.d.ts.map +1 -1
- package/dist/lifecycle/handlers/rework-handler.js +49 -25
- package/dist/lifecycle/handlers/rework-handler.js.map +1 -1
- package/dist/lifecycle/handlers/task-executor.d.ts +1 -3
- package/dist/lifecycle/handlers/task-executor.d.ts.map +1 -1
- package/dist/lifecycle/handlers/task-executor.js +88 -8
- package/dist/lifecycle/handlers/task-executor.js.map +1 -1
- package/dist/lifecycle/lifecycle-context.d.ts +13 -0
- package/dist/lifecycle/lifecycle-context.d.ts.map +1 -1
- package/dist/lifecycle/parallel-criteria-routes.d.ts +20 -6
- package/dist/lifecycle/parallel-criteria-routes.d.ts.map +1 -1
- package/dist/lifecycle/parallel-criteria-routes.js +36 -142
- package/dist/lifecycle/parallel-criteria-routes.js.map +1 -1
- package/dist/lifecycle/read-only-subtype-spec.d.ts +18 -0
- package/dist/lifecycle/read-only-subtype-spec.d.ts.map +1 -0
- package/dist/lifecycle/read-only-subtype-spec.js +2 -0
- package/dist/lifecycle/read-only-subtype-spec.js.map +1 -0
- package/dist/lifecycle/stage-labels.d.ts +22 -0
- package/dist/lifecycle/stage-labels.d.ts.map +1 -0
- package/dist/lifecycle/stage-labels.js +42 -0
- package/dist/lifecycle/stage-labels.js.map +1 -0
- package/dist/lifecycle/stage-plan-builder.d.ts.map +1 -1
- package/dist/lifecycle/stage-plan-builder.js +25 -54
- package/dist/lifecycle/stage-plan-builder.js.map +1 -1
- package/dist/lifecycle/stage-plan-types.d.ts +0 -23
- package/dist/lifecycle/stage-plan-types.d.ts.map +1 -1
- package/dist/lifecycle/stage-progression.js +10 -10
- package/dist/lifecycle/stage-progression.js.map +1 -1
- package/dist/lifecycle/stage-stats.js +1 -1
- package/dist/lifecycle/stage-stats.js.map +1 -1
- package/dist/lifecycle/task-executor.d.ts.map +1 -1
- package/dist/lifecycle/task-executor.js +20 -17
- package/dist/lifecycle/task-executor.js.map +1 -1
- package/dist/lifecycle/task-runner.d.ts.map +1 -1
- package/dist/lifecycle/task-runner.js +83 -72
- package/dist/lifecycle/task-runner.js.map +1 -1
- package/dist/lifecycle/tool-config-types.d.ts +1 -2
- package/dist/lifecycle/tool-config-types.d.ts.map +1 -1
- package/dist/lifecycle/warm-followup.d.ts +3 -0
- package/dist/lifecycle/warm-followup.d.ts.map +1 -0
- package/dist/lifecycle/warm-followup.js +16 -0
- package/dist/lifecycle/warm-followup.js.map +1 -0
- package/dist/lifecycle/worker-output-contract.d.ts +26 -0
- package/dist/lifecycle/worker-output-contract.d.ts.map +1 -0
- package/dist/lifecycle/worker-output-contract.js +73 -0
- package/dist/lifecycle/worker-output-contract.js.map +1 -0
- package/dist/providers/assemble-run-result.d.ts +17 -0
- package/dist/providers/assemble-run-result.d.ts.map +1 -0
- package/dist/providers/assemble-run-result.js +76 -0
- package/dist/providers/assemble-run-result.js.map +1 -0
- package/dist/providers/brief-preamble.d.ts +4 -0
- package/dist/providers/brief-preamble.d.ts.map +1 -0
- package/dist/providers/brief-preamble.js +39 -0
- package/dist/providers/brief-preamble.js.map +1 -0
- package/dist/providers/claude-session.d.ts +23 -0
- package/dist/providers/claude-session.d.ts.map +1 -0
- package/dist/providers/claude-session.js +185 -0
- package/dist/providers/claude-session.js.map +1 -0
- package/dist/providers/claude.d.ts +4 -0
- package/dist/providers/claude.d.ts.map +1 -0
- package/dist/providers/claude.js +35 -0
- package/dist/providers/claude.js.map +1 -0
- package/dist/providers/codex-cli-event.d.ts +44 -0
- package/dist/providers/codex-cli-event.d.ts.map +1 -0
- package/dist/providers/codex-cli-event.js +43 -0
- package/dist/providers/codex-cli-event.js.map +1 -0
- package/dist/providers/codex-cli-launch.d.ts +26 -0
- package/dist/providers/codex-cli-launch.d.ts.map +1 -0
- package/dist/providers/codex-cli-launch.js +47 -0
- package/dist/providers/codex-cli-launch.js.map +1 -0
- package/dist/providers/codex-cli-session.d.ts +55 -0
- package/dist/providers/codex-cli-session.d.ts.map +1 -0
- package/dist/providers/codex-cli-session.js +417 -0
- package/dist/providers/codex-cli-session.js.map +1 -0
- package/dist/providers/codex.d.ts +4 -0
- package/dist/providers/codex.d.ts.map +1 -0
- package/dist/providers/codex.js +28 -0
- package/dist/providers/codex.js.map +1 -0
- package/dist/providers/index.d.ts +0 -12
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -13
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/normalize-claude.d.ts +10 -0
- package/dist/providers/normalize-claude.d.ts.map +1 -0
- package/dist/providers/normalize-claude.js +89 -0
- package/dist/providers/normalize-claude.js.map +1 -0
- package/dist/providers/provider-factory.d.ts +1 -9
- package/dist/providers/provider-factory.d.ts.map +1 -1
- package/dist/providers/provider-factory.js +35 -167
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/providers/runner-adapter.d.ts +5 -16
- package/dist/providers/runner-adapter.d.ts.map +1 -1
- package/dist/providers/runner-adapter.js +6 -0
- package/dist/providers/runner-adapter.js.map +1 -1
- package/dist/providers/runner-types.d.ts +20 -2
- package/dist/providers/runner-types.d.ts.map +1 -1
- package/dist/reporting/report-parser-slots/research-report.d.ts +21 -17
- package/dist/reporting/report-parser-slots/research-report.d.ts.map +1 -1
- package/dist/reporting/report-parser-slots/research-report.js +28 -67
- package/dist/reporting/report-parser-slots/research-report.js.map +1 -1
- package/dist/review/annotator-engine.d.ts +2 -2
- package/dist/review/annotator-engine.d.ts.map +1 -1
- package/dist/review/annotator-engine.js +16 -20
- package/dist/review/annotator-engine.js.map +1 -1
- package/dist/review/annotator-prompt-builder.d.ts +1 -1
- package/dist/review/annotator-prompt-builder.d.ts.map +1 -1
- package/dist/review/default-engines.d.ts.map +1 -1
- package/dist/review/default-engines.js +2 -4
- package/dist/review/default-engines.js.map +1 -1
- package/dist/review/review-types.d.ts +0 -1
- package/dist/review/review-types.d.ts.map +1 -1
- package/dist/review/reviewer-engine.d.ts +5 -40
- package/dist/review/reviewer-engine.d.ts.map +1 -1
- package/dist/review/reviewer-engine.js +19 -49
- package/dist/review/reviewer-engine.js.map +1 -1
- package/dist/review/reviewer-output-parser.d.ts +1 -6
- package/dist/review/reviewer-output-parser.d.ts.map +1 -1
- package/dist/review/reviewer-output-parser.js +0 -26
- package/dist/review/reviewer-output-parser.js.map +1 -1
- package/dist/review/reviewer-prompt-builder.d.ts +1 -6
- package/dist/review/reviewer-prompt-builder.d.ts.map +1 -1
- package/dist/review/reviewer-prompt-builder.js +0 -6
- package/dist/review/reviewer-prompt-builder.js.map +1 -1
- package/dist/review/templates/quality-review.d.ts.map +1 -1
- package/dist/review/templates/quality-review.js +28 -0
- package/dist/review/templates/quality-review.js.map +1 -1
- package/dist/review/templates/rework.d.ts.map +1 -1
- package/dist/review/templates/rework.js +15 -9
- package/dist/review/templates/rework.js.map +1 -1
- package/dist/review/templates/shared.d.ts +9 -0
- package/dist/review/templates/shared.d.ts.map +1 -1
- package/dist/stores/context-block-project-cap.d.ts +1 -1
- package/dist/stores/context-block-project-cap.d.ts.map +1 -1
- package/dist/stores/context-block-project-cap.js +17 -5
- package/dist/stores/context-block-project-cap.js.map +1 -1
- package/dist/stores/file-backed-context-block-store.d.ts +7 -0
- package/dist/stores/file-backed-context-block-store.d.ts.map +1 -1
- package/dist/stores/file-backed-context-block-store.js +8 -0
- package/dist/stores/file-backed-context-block-store.js.map +1 -1
- package/dist/tool-surface/discover.d.ts +1 -1
- package/dist/tool-surface/discover.d.ts.map +1 -1
- package/dist/tool-surface/discover.js +0 -1
- package/dist/tool-surface/discover.js.map +1 -1
- package/dist/tool-surface/openapi-generator.d.ts.map +1 -1
- package/dist/tool-surface/openapi-generator.js +0 -2
- package/dist/tool-surface/openapi-generator.js.map +1 -1
- package/dist/tool-surface/register-all-tools.d.ts.map +1 -1
- package/dist/tool-surface/register-all-tools.js +1 -3
- package/dist/tool-surface/register-all-tools.js.map +1 -1
- package/dist/tools/audit/schema.d.ts +4 -4
- package/dist/tools/audit/schema.d.ts.map +1 -1
- package/dist/tools/audit/schema.js +4 -4
- package/dist/tools/audit/schema.js.map +1 -1
- package/dist/tools/audit/skill-audit-criteria.d.ts +9 -0
- package/dist/tools/audit/skill-audit-criteria.d.ts.map +1 -0
- package/dist/tools/audit/skill-audit-criteria.js +51 -0
- package/dist/tools/audit/skill-audit-criteria.js.map +1 -0
- package/dist/tools/audit/spec-audit-criteria.d.ts +9 -0
- package/dist/tools/audit/spec-audit-criteria.d.ts.map +1 -0
- package/dist/tools/audit/spec-audit-criteria.js +52 -0
- package/dist/tools/audit/spec-audit-criteria.js.map +1 -0
- package/dist/tools/audit/subtypes.d.ts +4 -0
- package/dist/tools/audit/subtypes.d.ts.map +1 -0
- package/dist/tools/audit/subtypes.js +67 -0
- package/dist/tools/audit/subtypes.js.map +1 -0
- package/dist/tools/audit/tool-config.d.ts +4 -4
- package/dist/tools/audit/tool-config.d.ts.map +1 -1
- package/dist/tools/audit/tool-config.js +31 -29
- package/dist/tools/audit/tool-config.js.map +1 -1
- package/dist/tools/debug/schema.d.ts +3 -0
- package/dist/tools/debug/schema.d.ts.map +1 -1
- package/dist/tools/debug/schema.js +1 -0
- package/dist/tools/debug/schema.js.map +1 -1
- package/dist/tools/debug/subtypes.d.ts +4 -0
- package/dist/tools/debug/subtypes.d.ts.map +1 -0
- package/dist/tools/debug/subtypes.js +25 -0
- package/dist/tools/debug/subtypes.js.map +1 -0
- package/dist/tools/delegate/tool-config.d.ts.map +1 -1
- package/dist/tools/delegate/tool-config.js +0 -1
- package/dist/tools/delegate/tool-config.js.map +1 -1
- package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
- package/dist/tools/execute-plan/tool-config.js +5 -2
- package/dist/tools/execute-plan/tool-config.js.map +1 -1
- package/dist/tools/index.d.ts +0 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +0 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/investigate/schema.d.ts +3 -0
- package/dist/tools/investigate/schema.d.ts.map +1 -1
- package/dist/tools/investigate/schema.js +1 -0
- package/dist/tools/investigate/schema.js.map +1 -1
- package/dist/tools/investigate/subtypes.d.ts +4 -0
- package/dist/tools/investigate/subtypes.d.ts.map +1 -0
- package/dist/tools/investigate/subtypes.js +25 -0
- package/dist/tools/investigate/subtypes.js.map +1 -0
- package/dist/tools/research/implementer-criteria.d.ts +12 -5
- package/dist/tools/research/implementer-criteria.d.ts.map +1 -1
- package/dist/tools/research/implementer-criteria.js +40 -9
- package/dist/tools/research/implementer-criteria.js.map +1 -1
- package/dist/tools/research/schema.d.ts +3 -0
- package/dist/tools/research/schema.d.ts.map +1 -1
- package/dist/tools/research/schema.js +2 -1
- package/dist/tools/research/schema.js.map +1 -1
- package/dist/tools/research/subtypes.d.ts +4 -0
- package/dist/tools/research/subtypes.d.ts.map +1 -0
- package/dist/tools/research/subtypes.js +24 -0
- package/dist/tools/research/subtypes.js.map +1 -0
- package/dist/tools/research/tool-config.js +2 -2
- package/dist/tools/research/tool-config.js.map +1 -1
- package/dist/tools/review/schema.d.ts +3 -0
- package/dist/tools/review/schema.d.ts.map +1 -1
- package/dist/tools/review/schema.js +1 -0
- package/dist/tools/review/schema.js.map +1 -1
- package/dist/tools/review/subtypes.d.ts +4 -0
- package/dist/tools/review/subtypes.d.ts.map +1 -0
- package/dist/tools/review/subtypes.js +26 -0
- package/dist/tools/review/subtypes.js.map +1 -0
- package/dist/types/config.d.ts +14 -28
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/enums.d.ts +2 -7
- package/dist/types/enums.d.ts.map +1 -1
- package/dist/types/enums.js +3 -3
- package/dist/types/enums.js.map +1 -1
- package/dist/types/run-result.d.ts +56 -21
- package/dist/types/run-result.d.ts.map +1 -1
- package/dist/types/task-spec.d.ts +17 -15
- package/dist/types/task-spec.d.ts.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +9 -3
- package/dist/identity/main-model-resolver.d.ts +0 -14
- package/dist/identity/main-model-resolver.d.ts.map +0 -1
- package/dist/identity/main-model-resolver.js +0 -100
- package/dist/identity/main-model-resolver.js.map +0 -1
- package/dist/lifecycle/handlers/annotate-completion-handler.d.ts +0 -9
- package/dist/lifecycle/handlers/annotate-completion-handler.d.ts.map +0 -1
- package/dist/lifecycle/handlers/annotate-completion-handler.js +0 -200
- package/dist/lifecycle/handlers/annotate-completion-handler.js.map +0 -1
- package/dist/lifecycle/handlers/annotate-criteria-handler.d.ts +0 -3
- package/dist/lifecycle/handlers/annotate-criteria-handler.d.ts.map +0 -1
- package/dist/lifecycle/handlers/annotate-criteria-handler.js +0 -79
- package/dist/lifecycle/handlers/annotate-criteria-handler.js.map +0 -1
- package/dist/lifecycle/handlers/execution-context-builder.d.ts +0 -5
- package/dist/lifecycle/handlers/execution-context-builder.d.ts.map +0 -1
- package/dist/lifecycle/handlers/execution-context-builder.js +0 -17
- package/dist/lifecycle/handlers/execution-context-builder.js.map +0 -1
- package/dist/lifecycle/parallel-criteria-dispatcher.d.ts +0 -62
- package/dist/lifecycle/parallel-criteria-dispatcher.d.ts.map +0 -1
- package/dist/lifecycle/parallel-criteria-dispatcher.js +0 -328
- package/dist/lifecycle/parallel-criteria-dispatcher.js.map +0 -1
- package/dist/providers/anthropic-messages-adapter.d.ts +0 -26
- package/dist/providers/anthropic-messages-adapter.d.ts.map +0 -1
- package/dist/providers/anthropic-messages-adapter.js +0 -127
- package/dist/providers/anthropic-messages-adapter.js.map +0 -1
- package/dist/providers/base/research-tools.d.ts +0 -47
- package/dist/providers/base/research-tools.d.ts.map +0 -1
- package/dist/providers/base/research-tools.js +0 -67
- package/dist/providers/base/research-tools.js.map +0 -1
- package/dist/providers/base/result-builders.d.ts +0 -82
- package/dist/providers/base/result-builders.d.ts.map +0 -1
- package/dist/providers/base/result-builders.js +0 -112
- package/dist/providers/base/result-builders.js.map +0 -1
- package/dist/providers/base/time-check.d.ts +0 -9
- package/dist/providers/base/time-check.d.ts.map +0 -1
- package/dist/providers/base/time-check.js +0 -18
- package/dist/providers/base/time-check.js.map +0 -1
- package/dist/providers/base/types.d.ts +0 -53
- package/dist/providers/base/types.d.ts.map +0 -1
- package/dist/providers/base/types.js +0 -2
- package/dist/providers/base/types.js.map +0 -1
- package/dist/providers/base/usage-accumulator.d.ts +0 -9
- package/dist/providers/base/usage-accumulator.d.ts.map +0 -1
- package/dist/providers/base/usage-accumulator.js +0 -20
- package/dist/providers/base/usage-accumulator.js.map +0 -1
- package/dist/providers/call-cache.d.ts +0 -16
- package/dist/providers/call-cache.d.ts.map +0 -1
- package/dist/providers/call-cache.js +0 -28
- package/dist/providers/call-cache.js.map +0 -1
- package/dist/providers/file-tracker.d.ts +0 -80
- package/dist/providers/file-tracker.d.ts.map +0 -1
- package/dist/providers/file-tracker.js +0 -125
- package/dist/providers/file-tracker.js.map +0 -1
- package/dist/providers/injection-type.d.ts +0 -22
- package/dist/providers/injection-type.d.ts.map +0 -1
- package/dist/providers/injection-type.js +0 -34
- package/dist/providers/injection-type.js.map +0 -1
- package/dist/providers/make-runner-shell.d.ts +0 -4
- package/dist/providers/make-runner-shell.d.ts.map +0 -1
- package/dist/providers/make-runner-shell.js +0 -70
- package/dist/providers/make-runner-shell.js.map +0 -1
- package/dist/providers/openai-chat-adapter.d.ts +0 -15
- package/dist/providers/openai-chat-adapter.d.ts.map +0 -1
- package/dist/providers/openai-chat-adapter.js +0 -86
- package/dist/providers/openai-chat-adapter.js.map +0 -1
- package/dist/providers/openai-responses-adapter.d.ts +0 -15
- package/dist/providers/openai-responses-adapter.d.ts.map +0 -1
- package/dist/providers/openai-responses-adapter.js +0 -137
- package/dist/providers/openai-responses-adapter.js.map +0 -1
- package/dist/providers/openai-usage-interceptor.d.ts +0 -25
- package/dist/providers/openai-usage-interceptor.d.ts.map +0 -1
- package/dist/providers/openai-usage-interceptor.js +0 -121
- package/dist/providers/openai-usage-interceptor.js.map +0 -1
- package/dist/providers/prevention.d.ts +0 -44
- package/dist/providers/prevention.d.ts.map +0 -1
- package/dist/providers/prevention.js +0 -108
- package/dist/providers/prevention.js.map +0 -1
- package/dist/providers/runner-shell-types.d.ts +0 -91
- package/dist/providers/runner-shell-types.d.ts.map +0 -1
- package/dist/providers/runner-shell-types.js +0 -2
- package/dist/providers/runner-shell-types.js.map +0 -1
- package/dist/providers/runner-shell.d.ts +0 -67
- package/dist/providers/runner-shell.d.ts.map +0 -1
- package/dist/providers/runner-shell.js +0 -518
- package/dist/providers/runner-shell.js.map +0 -1
- package/dist/providers/scratchpad-salvager.d.ts +0 -19
- package/dist/providers/scratchpad-salvager.d.ts.map +0 -1
- package/dist/providers/scratchpad-salvager.js +0 -44
- package/dist/providers/scratchpad-salvager.js.map +0 -1
- package/dist/providers/supervision.d.ts +0 -108
- package/dist/providers/supervision.d.ts.map +0 -1
- package/dist/providers/supervision.js +0 -272
- package/dist/providers/supervision.js.map +0 -1
- package/dist/providers/text-scratchpad.d.ts +0 -28
- package/dist/providers/text-scratchpad.d.ts.map +0 -1
- package/dist/providers/text-scratchpad.js +0 -49
- package/dist/providers/text-scratchpad.js.map +0 -1
- package/dist/providers/tool-definitions.d.ts +0 -6
- package/dist/providers/tool-definitions.d.ts.map +0 -1
- package/dist/providers/tool-definitions.js +0 -236
- package/dist/providers/tool-definitions.js.map +0 -1
- package/dist/providers/tool-implementations.d.ts +0 -38
- package/dist/providers/tool-implementations.d.ts.map +0 -1
- package/dist/providers/tool-implementations.js +0 -254
- package/dist/providers/tool-implementations.js.map +0 -1
- package/dist/providers/tool-tracker.d.ts +0 -14
- package/dist/providers/tool-tracker.d.ts.map +0 -1
- package/dist/providers/tool-tracker.js +0 -13
- package/dist/providers/tool-tracker.js.map +0 -1
- package/dist/reporting/headline-templates/verify.d.ts +0 -3
- package/dist/reporting/headline-templates/verify.d.ts.map +0 -1
- package/dist/reporting/headline-templates/verify.js +0 -29
- package/dist/reporting/headline-templates/verify.js.map +0 -1
- package/dist/reporting/report-parser-slots/verify-report.d.ts +0 -27
- package/dist/reporting/report-parser-slots/verify-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/verify-report.js +0 -51
- package/dist/reporting/report-parser-slots/verify-report.js.map +0 -1
- package/dist/review/templates/annotator-verify.d.ts +0 -3
- package/dist/review/templates/annotator-verify.d.ts.map +0 -1
- package/dist/review/templates/annotator-verify.js +0 -21
- package/dist/review/templates/annotator-verify.js.map +0 -1
- package/dist/review/templates/quality-review-verify.d.ts +0 -3
- package/dist/review/templates/quality-review-verify.d.ts.map +0 -1
- package/dist/review/templates/quality-review-verify.js +0 -10
- package/dist/review/templates/quality-review-verify.js.map +0 -1
- package/dist/tools/verify/implementer-criteria.d.ts +0 -61
- package/dist/tools/verify/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/verify/implementer-criteria.js +0 -125
- package/dist/tools/verify/implementer-criteria.js.map +0 -1
- package/dist/tools/verify/schema.d.ts +0 -56
- package/dist/tools/verify/schema.d.ts.map +0 -1
- package/dist/tools/verify/schema.js +0 -16
- package/dist/tools/verify/schema.js.map +0 -1
- package/dist/tools/verify/tool-config.d.ts +0 -14
- package/dist/tools/verify/tool-config.d.ts.map +0 -1
- package/dist/tools/verify/tool-config.js +0 -146
- package/dist/tools/verify/tool-config.js.map +0 -1
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { ReportSchema } from '../structured-report-parser.js';
|
|
2
|
-
export interface VerifyReport {
|
|
3
|
-
results: Array<{
|
|
4
|
-
item: string;
|
|
5
|
-
pass: boolean;
|
|
6
|
-
evidence: string;
|
|
7
|
-
}>;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Extract verify checklist results from `## Finding N:` narrative blocks.
|
|
11
|
-
*
|
|
12
|
-
* The verify tool prompt instructs workers to emit results in this exact
|
|
13
|
-
* format (and explicitly NOT JSON):
|
|
14
|
-
*
|
|
15
|
-
* ## Finding 1: <title>
|
|
16
|
-
* - Severity: low|high|...
|
|
17
|
-
* - Item: <criterion text>
|
|
18
|
-
* - Result: PASS | FAIL
|
|
19
|
-
* - Evidence: <evidence>
|
|
20
|
-
*
|
|
21
|
-
* Returns one entry per finding block. `pass` is true iff the Result line
|
|
22
|
-
* normalizes to "pass" (case-insensitive). Missing labels become empty
|
|
23
|
-
* strings / false (matches the schema's required-field shape).
|
|
24
|
-
*/
|
|
25
|
-
export declare function parseVerifyResults(output: string): VerifyReport['results'];
|
|
26
|
-
export declare const verifyReportSchema: ReportSchema<VerifyReport>;
|
|
27
|
-
//# sourceMappingURL=verify-report.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify-report.d.ts","sourceRoot":"","sources":["../../../src/reporting/report-parser-slots/verify-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,SAAS,CAAC,CAezB;AAED,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,YAAY,CAezD,CAAC"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extract verify checklist results from `## Finding N:` narrative blocks.
|
|
3
|
-
*
|
|
4
|
-
* The verify tool prompt instructs workers to emit results in this exact
|
|
5
|
-
* format (and explicitly NOT JSON):
|
|
6
|
-
*
|
|
7
|
-
* ## Finding 1: <title>
|
|
8
|
-
* - Severity: low|high|...
|
|
9
|
-
* - Item: <criterion text>
|
|
10
|
-
* - Result: PASS | FAIL
|
|
11
|
-
* - Evidence: <evidence>
|
|
12
|
-
*
|
|
13
|
-
* Returns one entry per finding block. `pass` is true iff the Result line
|
|
14
|
-
* normalizes to "pass" (case-insensitive). Missing labels become empty
|
|
15
|
-
* strings / false (matches the schema's required-field shape).
|
|
16
|
-
*/
|
|
17
|
-
export function parseVerifyResults(output) {
|
|
18
|
-
if (!output || typeof output !== 'string')
|
|
19
|
-
return [];
|
|
20
|
-
const blocks = output.split(/^##\s+Finding\s+\d+\s*:?/im);
|
|
21
|
-
const out = [];
|
|
22
|
-
for (let i = 1; i < blocks.length; i++) {
|
|
23
|
-
const block = blocks[i];
|
|
24
|
-
const itemMatch = block.match(/^\s*[-*]?\s*Item\s*:\s*(.+?)\s*$/im);
|
|
25
|
-
const resultMatch = block.match(/^\s*[-*]?\s*Result\s*:\s*(\w+)/im);
|
|
26
|
-
const evidenceMatch = block.match(/^\s*[-*]?\s*Evidence\s*:\s*([\s\S]+?)(?=\n\s*[-*]\s|\n##|$)/im);
|
|
27
|
-
const item = itemMatch ? itemMatch[1].trim() : '';
|
|
28
|
-
const pass = resultMatch ? /^pass$/i.test(resultMatch[1].trim()) : false;
|
|
29
|
-
const evidence = evidenceMatch ? evidenceMatch[1].trim() : '';
|
|
30
|
-
out.push({ item, pass, evidence });
|
|
31
|
-
}
|
|
32
|
-
return out;
|
|
33
|
-
}
|
|
34
|
-
export const verifyReportSchema = {
|
|
35
|
-
parse(text) {
|
|
36
|
-
// Primary path: JSON block (legacy; some workers may still emit it).
|
|
37
|
-
const m = text.match(/```json\n([\s\S]+?)\n```/);
|
|
38
|
-
if (m)
|
|
39
|
-
return JSON.parse(m[1]);
|
|
40
|
-
// Narrative path (the actual prompt format — the verify prompt
|
|
41
|
-
// explicitly says "Do NOT emit JSON"). Recover one result per
|
|
42
|
-
// `## Finding N:` block. If neither path produced anything,
|
|
43
|
-
// throw so the parent falls back to notApplicable.
|
|
44
|
-
const narrative = parseVerifyResults(text);
|
|
45
|
-
if (narrative.length === 0) {
|
|
46
|
-
throw new Error('verify report missing JSON block and no `## Finding N:` narrative results');
|
|
47
|
-
}
|
|
48
|
-
return { results: narrative };
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
//# sourceMappingURL=verify-report.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify-report.js","sourceRoot":"","sources":["../../../src/reporting/report-parser-slots/verify-report.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAc;IAEd,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC1D,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnG,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzE,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,KAAK,CAAC,IAAY;QAChB,qEAAqE;QACrE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACjD,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,+DAA+D;QAC/D,8DAA8D;QAC9D,4DAA4D;QAC5D,mDAAmD;QACnD,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAChC,CAAC;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"annotator-verify.d.ts","sourceRoot":"","sources":["../../../src/review/templates/annotator-verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,eAAO,MAAM,uBAAuB,EAAE,iBAmBrC,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export const annotatorVerifyTemplate = {
|
|
2
|
-
role: 'verification report',
|
|
3
|
-
onBriefCheck: 'Each finding should map 1:1 to a checklist item with evidence in one of three valid shapes (EXECUTION command+output, FILE-LEVEL file:line+quote, or NEGATIVE "cannot verify"). AND: a PASS that rests on a prose claim from the work product alone — without execution output or file:line citation — is a rubber stamp; downgrade to FAIL with NEGATIVE evidence. Findings consistent with the verify failure-mode taxonomy (claim-without-evidence, stale evidence, implicit-criterion gap, partial coverage, conflated criteria, wrong-artifact evidence, assumed-PASS-on-untested) should be filed as the appropriate verdict — do NOT silently exclude implicit sub-criteria from PASS verdicts.',
|
|
4
|
-
evidenceRule: [
|
|
5
|
-
'- Each Finding must map 1:1 to a checklist item.',
|
|
6
|
-
'- Evidence is one of three valid shapes:',
|
|
7
|
-
' 1. EXECUTION: a command + its observed output (test name + pass/fail line, build output, lint result), with the relevant output line quoted.',
|
|
8
|
-
' 2. FILE-LEVEL: `file:line` citation showing the implementation that satisfies (or fails) the criterion, with the relevant code excerpt quoted.',
|
|
9
|
-
' 3. NEGATIVE: an explicit "cannot verify from this artifact" plus what would be needed to verify (a test run, a different file, a runtime check).',
|
|
10
|
-
'- A claimed PASS without one of the three shapes is a rubber stamp; downgrade to FAIL with NEGATIVE evidence.',
|
|
11
|
-
'- A "the work product says it is done" claim is NOT valid evidence — only execution output or file:line citations count for PASS.',
|
|
12
|
-
'- Severity binding: PASS = low; FAIL = medium or high based on impact; FAIL on a release-blocking criterion = critical.',
|
|
13
|
-
'- FAIL with NEGATIVE evidence ("cannot verify") is FULLY VALID and the correct verdict when the artifact is insufficient. Do NOT downgrade NEGATIVE-evidence FAILs to "cannot determine" or assumed-PASS.',
|
|
14
|
-
].join('\n'),
|
|
15
|
-
scopeRule: [
|
|
16
|
-
'- Only checklist items are in scope. Findings not tied to a checklist item are off-brief.',
|
|
17
|
-
'- All checklist items should be covered (one Finding per item, in order, no skips).',
|
|
18
|
-
'- IMPLICIT criteria embedded in a checklist item (e.g. "fix the bug" implies "regression test added") ARE in scope. A PASS verdict that silently excludes an implicit sub-criterion is a partial-coverage failure.',
|
|
19
|
-
].join('\n'),
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=annotator-verify.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"annotator-verify.js","sourceRoot":"","sources":["../../../src/review/templates/annotator-verify.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,IAAI,EAAE,qBAAqB;IAC3B,YAAY,EAAE,wqBAAwqB;IACtrB,YAAY,EAAE;QACZ,kDAAkD;QAClD,0CAA0C;QAC1C,gJAAgJ;QAChJ,kJAAkJ;QAClJ,oJAAoJ;QACpJ,+GAA+G;QAC/G,mIAAmI;QACnI,yHAAyH;QACzH,2MAA2M;KAC5M,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,SAAS,EAAE;QACT,2FAA2F;QAC3F,qFAAqF;QACrF,oNAAoN;KACrN,CAAC,IAAI,CAAC,IAAI,CAAC;CACb,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"quality-review-verify.d.ts","sourceRoot":"","sources":["../../../src/review/templates/quality-review-verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,eAAO,MAAM,qBAAqB,EAAE,cAMnC,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { buildAnnotatorRubric } from './annotator-shared.js';
|
|
2
|
-
import { annotatorVerifyTemplate } from './annotator-verify.js';
|
|
3
|
-
export const qualityVerifyTemplate = {
|
|
4
|
-
systemPrompt: `You are a quality reviewer checking a verification report produced by a worker.
|
|
5
|
-
Each finding should map to one checklist item with evidence the criterion was met or unmet. Flag findings that do not correspond to any checklist item, or whose evidence does not actually demonstrate the claimed pass/fail status.`,
|
|
6
|
-
buildUserPrompt(ctx) {
|
|
7
|
-
return `Task: ${ctx.brief}\n\nWorker output:\n${ctx.workerOutput}\n\n${buildAnnotatorRubric(annotatorVerifyTemplate)}`;
|
|
8
|
-
},
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=quality-review-verify.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"quality-review-verify.js","sourceRoot":"","sources":["../../../src/review/templates/quality-review-verify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,YAAY,EAAE;sOACsN;IACpO,eAAe,CAAC,GAAG;QACjB,OAAO,SAAS,GAAG,CAAC,KAAK,uBAAuB,GAAG,CAAC,YAAY,OAAO,oBAAoB,CAAC,uBAAuB,CAAC,EAAE,CAAC;IACzH,CAAC;CACF,CAAC"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Verify-specific implementer criteria.
|
|
3
|
-
*
|
|
4
|
-
* VERIFY'S PURPOSE — read this before adding categories.
|
|
5
|
-
* mma-verify is the "are we lying when we say it's done?" gate. The
|
|
6
|
-
* caller is about to claim work is complete to a stakeholder; the
|
|
7
|
-
* verify output is the evidence trail for that claim. The success
|
|
8
|
-
* criterion is:
|
|
9
|
-
*
|
|
10
|
-
* "If you mark every item PASS, the caller can claim the work is
|
|
11
|
-
* done to a stakeholder without lying — and the stakeholder, given
|
|
12
|
-
* your evidence, can re-verify each item without re-doing the work."
|
|
13
|
-
*
|
|
14
|
-
* That criterion is what makes a finding load-bearing. A PASS marked
|
|
15
|
-
* on the basis of a prose claim ("the bug is fixed") rather than
|
|
16
|
-
* execution output or a file:line citation is a rubber stamp — the
|
|
17
|
-
* verify-equivalent of an unimplementable fix. A criterion that the
|
|
18
|
-
* worker could not actually verify from the supplied artifact must be
|
|
19
|
-
* marked FAIL with "cannot verify from this artifact" — not assumed-
|
|
20
|
-
* PASS or skipped.
|
|
21
|
-
*
|
|
22
|
-
* Verify walks an explicit checklist; each Finding maps 1:1 to one
|
|
23
|
-
* checklist item. Severity is bound to the result (PASS = low,
|
|
24
|
-
* FAIL = medium/high based on impact). Anything outside the checklist
|
|
25
|
-
* is out of scope, no exceptions.
|
|
26
|
-
*/
|
|
27
|
-
/**
|
|
28
|
-
* The orientation block. Goes at the TOP of every verify prompt.
|
|
29
|
-
*
|
|
30
|
-
* Without an explicit purpose statement, workers default to "rubber-
|
|
31
|
-
* stamp the checklist" — marking PASS based on prose claims in the
|
|
32
|
-
* work product instead of demanding execution-level evidence. With
|
|
33
|
-
* this orientation, every PASS comes with evidence a stakeholder
|
|
34
|
-
* could re-verify.
|
|
35
|
-
*/
|
|
36
|
-
export declare const VERIFY_PURPOSE_ORIENTATION: string;
|
|
37
|
-
export declare const EVIDENCE_RULE_VERIFY: string;
|
|
38
|
-
export declare const SCOPE_RULE_VERIFY: string;
|
|
39
|
-
/**
|
|
40
|
-
* The failure-mode taxonomy for verify.
|
|
41
|
-
*
|
|
42
|
-
* Without this block, workers tend to rubber-stamp PASS based on prose
|
|
43
|
-
* claims in the work product. The 7 categories below are the patterns
|
|
44
|
-
* a careful verifier would consciously check for.
|
|
45
|
-
*/
|
|
46
|
-
export declare const VERIFY_FAILURE_MODES: string;
|
|
47
|
-
/**
|
|
48
|
-
* Counter-balance to the SEVERITY_LADDER's anti-inflation hint.
|
|
49
|
-
*
|
|
50
|
-
* The shared severity ladder warns against inflation. For verify, the
|
|
51
|
-
* common failure is the OPPOSITE — workers UNDER-flag because they
|
|
52
|
-
* accept prose claims at face value (rubber stamp). This block tells
|
|
53
|
-
* the worker the typical verify failure is rubber-stamping, not
|
|
54
|
-
* over-skeptical FAIL marking.
|
|
55
|
-
*/
|
|
56
|
-
export declare const THOROUGHNESS_REMINDER_VERIFY: string;
|
|
57
|
-
export declare const ANNOTATOR_AWARENESS_VERIFY: string;
|
|
58
|
-
import { type CriterionEntry } from '../criteria-types.js';
|
|
59
|
-
/** Structured per-criterion array for parallel-criteria fan-out. */
|
|
60
|
-
export declare const VERIFY_CRITERIA: readonly CriterionEntry[];
|
|
61
|
-
//# sourceMappingURL=implementer-criteria.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"implementer-criteria.d.ts","sourceRoot":"","sources":["../../../src/tools/verify/implementer-criteria.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,QAe3B,CAAC;AAEb,eAAO,MAAM,oBAAoB,QAUrB,CAAC;AAEb,eAAO,MAAM,iBAAiB,QAKlB,CAAC;AAEb;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,QAcrB,CAAC;AAEb;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,QAW7B,CAAC;AAEb,eAAO,MAAM,0BAA0B,QAS3B,CAAC;AAEb,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE1E,oEAAoE;AACpE,eAAO,MAAM,eAAe,EAAE,SAAS,cAAc,EAAwC,CAAC"}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Verify-specific implementer criteria.
|
|
3
|
-
*
|
|
4
|
-
* VERIFY'S PURPOSE — read this before adding categories.
|
|
5
|
-
* mma-verify is the "are we lying when we say it's done?" gate. The
|
|
6
|
-
* caller is about to claim work is complete to a stakeholder; the
|
|
7
|
-
* verify output is the evidence trail for that claim. The success
|
|
8
|
-
* criterion is:
|
|
9
|
-
*
|
|
10
|
-
* "If you mark every item PASS, the caller can claim the work is
|
|
11
|
-
* done to a stakeholder without lying — and the stakeholder, given
|
|
12
|
-
* your evidence, can re-verify each item without re-doing the work."
|
|
13
|
-
*
|
|
14
|
-
* That criterion is what makes a finding load-bearing. A PASS marked
|
|
15
|
-
* on the basis of a prose claim ("the bug is fixed") rather than
|
|
16
|
-
* execution output or a file:line citation is a rubber stamp — the
|
|
17
|
-
* verify-equivalent of an unimplementable fix. A criterion that the
|
|
18
|
-
* worker could not actually verify from the supplied artifact must be
|
|
19
|
-
* marked FAIL with "cannot verify from this artifact" — not assumed-
|
|
20
|
-
* PASS or skipped.
|
|
21
|
-
*
|
|
22
|
-
* Verify walks an explicit checklist; each Finding maps 1:1 to one
|
|
23
|
-
* checklist item. Severity is bound to the result (PASS = low,
|
|
24
|
-
* FAIL = medium/high based on impact). Anything outside the checklist
|
|
25
|
-
* is out of scope, no exceptions.
|
|
26
|
-
*/
|
|
27
|
-
/**
|
|
28
|
-
* The orientation block. Goes at the TOP of every verify prompt.
|
|
29
|
-
*
|
|
30
|
-
* Without an explicit purpose statement, workers default to "rubber-
|
|
31
|
-
* stamp the checklist" — marking PASS based on prose claims in the
|
|
32
|
-
* work product instead of demanding execution-level evidence. With
|
|
33
|
-
* this orientation, every PASS comes with evidence a stakeholder
|
|
34
|
-
* could re-verify.
|
|
35
|
-
*/
|
|
36
|
-
export const VERIFY_PURPOSE_ORIENTATION = [
|
|
37
|
-
'Why this verify exists:',
|
|
38
|
-
'mma-verify is the "are we lying when we say it is done?" gate. Your output becomes the evidence trail behind a claim of completeness to a stakeholder. A wrong PASS here ships a false claim.',
|
|
39
|
-
'',
|
|
40
|
-
'For your output to clear that bar, every Finding must answer:',
|
|
41
|
-
'- Item: the exact criterion text (preserve the caller\'s wording).',
|
|
42
|
-
'- Result: PASS or FAIL — never "partial", "mostly", "in progress" — only PASS or FAIL.',
|
|
43
|
-
'- Evidence: how the stakeholder could re-verify this PASS or FAIL themselves. Acceptable evidence shapes:',
|
|
44
|
-
' 1. EXECUTION: a command + its observed output (test name + pass/fail line, build output, lint result).',
|
|
45
|
-
' 2. FILE-LEVEL: `file:line` citation showing the implementation that satisfies (or fails to satisfy) the criterion.',
|
|
46
|
-
' 3. NEGATIVE: an explicit "cannot verify from this artifact" with what would be needed to verify.',
|
|
47
|
-
'',
|
|
48
|
-
'A PASS without evidence is a rubber stamp — the worst possible verify failure mode. If you cannot demonstrate PASS, the result is FAIL, NOT assumed-PASS or skipped.',
|
|
49
|
-
'',
|
|
50
|
-
'The completion test: would a stakeholder who reads only your verification report and the named artifacts be able to re-verify each PASS themselves — and end up agreeing with each verdict?',
|
|
51
|
-
].join('\n');
|
|
52
|
-
export const EVIDENCE_RULE_VERIFY = [
|
|
53
|
-
'Evidence grounding (REQUIRED for every finding):',
|
|
54
|
-
'- Each Finding maps 1:1 to a checklist item (same count, same order).',
|
|
55
|
-
'- Evidence is one of three shapes:',
|
|
56
|
-
' 1. EXECUTION: a command + its observed output. Quote the relevant line of the output (e.g. "12 passed, 0 failed", "✓ tests/foo.test.ts").',
|
|
57
|
-
' 2. FILE-LEVEL: `file:line` citation showing the implementation that satisfies (or fails) the criterion. Include the quoted excerpt.',
|
|
58
|
-
' 3. NEGATIVE: explicitly state "cannot verify from this artifact" plus what would be needed (a test run, a different file, a runtime check).',
|
|
59
|
-
'- A "the work product says it is done" claim is NOT evidence — that is a rubber stamp. Only execution output or file:line citations count.',
|
|
60
|
-
'- If you cannot demonstrate PASS, the result is FAIL — explain why in the Evidence field. Do NOT mark PASS without evidence and do NOT skip the item.',
|
|
61
|
-
'- Severity binding: PASS items are `low`. FAIL items are `medium` or `high` based on impact. Reserve `critical` for FAIL items that block the next step entirely (a release-blocking criterion failed, an acceptance test failed, etc.).',
|
|
62
|
-
].join('\n');
|
|
63
|
-
export const SCOPE_RULE_VERIFY = [
|
|
64
|
-
'Scope:',
|
|
65
|
-
'- Strictly the checklist items. One Finding per item, in checklist order, no skips.',
|
|
66
|
-
'- IMPLICIT criteria embedded in a checklist item ARE in scope. Example: a checklist item "fix the off-by-one bug in pagination" has an implicit sub-criterion "regression test added". If the implicit sub-criterion is not met, mark FAIL — do NOT split the item into two findings.',
|
|
67
|
-
'- Out of scope: any issue not tied to a checklist item, however interesting. Such observations may be noted in your summary section, but do NOT emit them as Findings.',
|
|
68
|
-
].join('\n');
|
|
69
|
-
/**
|
|
70
|
-
* The failure-mode taxonomy for verify.
|
|
71
|
-
*
|
|
72
|
-
* Without this block, workers tend to rubber-stamp PASS based on prose
|
|
73
|
-
* claims in the work product. The 7 categories below are the patterns
|
|
74
|
-
* a careful verifier would consciously check for.
|
|
75
|
-
*/
|
|
76
|
-
export const VERIFY_FAILURE_MODES = [
|
|
77
|
-
'Five parallel evidence sources for verifying the user\'s checklist. From your assigned source, examine EVERY applicable checklist item and emit a finding (PASS / FAIL / cannot-verify) per item, with the evidence quoted. Severity = how decisive the verdict is.',
|
|
78
|
-
'',
|
|
79
|
-
'1. TEST-SUITE EVIDENCE — read the test files exercising the work product. Does an existing or newly-added test cover the criterion? Did the test pass on the most recent run? Cite the test name + file:line + the assertion. If no test exists for the criterion, that is itself a finding (FAIL: "no test exercises this criterion").',
|
|
80
|
-
'2. SOURCE-CODE DIRECT-READ — read the implementation files directly. Does the code actually do what the criterion requires? Trace the relevant function / class / module, cite file:line for the lines that satisfy (or fail to satisfy) the criterion. This is the highest-fidelity evidence — no second-hand claims.',
|
|
81
|
-
'3. DOCUMENTATION EVIDENCE — read README, docstrings, design docs, commit messages, CHANGELOG. Does the docs corroborate the criterion is met? Quote the docs passage + cite source. Doc-only evidence is medium-confidence (docs can be stale); always cross-check with TEST or SOURCE evidence when possible.',
|
|
82
|
-
'4. RUN-OUTPUT EVIDENCE — read recent test-run logs, build output, CI artifacts, shell-command output that the work-product author cited. Does the output demonstrate the criterion? Verify timestamps to ensure evidence post-dates the change. Run-output evidence is the strongest "it actually worked" signal.',
|
|
83
|
-
'5. DIFF EVIDENCE — read the recent diff (git log / git diff). Is the change actually in the diff for the relevant files/lines? A claim of "implemented X in module Y" must show up in the diff for module Y. If the diff is empty or unrelated, FAIL the criterion regardless of other claims.',
|
|
84
|
-
'',
|
|
85
|
-
'Severity calibration for each verification finding:',
|
|
86
|
-
'- critical: FAIL on a release-blocking criterion with rock-solid contradicting evidence from THIS source — the user must NOT claim done.',
|
|
87
|
-
'- high: FAIL on a substantial criterion with strong evidence from THIS source; OR a strong PASS on a load-bearing criterion with rock-solid evidence from THIS source.',
|
|
88
|
-
'- medium: PARTIAL coverage / cannot-verify-from-this-source / a clear PASS on a non-load-bearing criterion. Mark "verify by also checking <other source>" so the user knows where to triangulate.',
|
|
89
|
-
'- low: minor stylistic gap in the verification narrative; a low-confidence PASS or absence-of-counter-evidence; defer to other angles\' findings.',
|
|
90
|
-
].join('\n');
|
|
91
|
-
/**
|
|
92
|
-
* Counter-balance to the SEVERITY_LADDER's anti-inflation hint.
|
|
93
|
-
*
|
|
94
|
-
* The shared severity ladder warns against inflation. For verify, the
|
|
95
|
-
* common failure is the OPPOSITE — workers UNDER-flag because they
|
|
96
|
-
* accept prose claims at face value (rubber stamp). This block tells
|
|
97
|
-
* the worker the typical verify failure is rubber-stamping, not
|
|
98
|
-
* over-skeptical FAIL marking.
|
|
99
|
-
*/
|
|
100
|
-
export const THOROUGHNESS_REMINDER_VERIFY = [
|
|
101
|
-
'Thoroughness expectation for verify:',
|
|
102
|
-
'- The SEVERITY_LADDER warns against inflation. That warning is calibrated for code reviews — for verify, the common failure is the OPPOSITE: rubber-stamping PASS based on a prose claim instead of demanding execution-level evidence. Apply the failure-mode taxonomy first; THEN calibrate severity.',
|
|
103
|
-
'- For each checklist item, ASK: "could a stakeholder reading my evidence re-verify this PASS themselves and reach the same conclusion?" If no — even if you believe the criterion is met — the verdict is FAIL with "cannot verify from this artifact".',
|
|
104
|
-
'- Do not invent FAILs to hit a quota. But if every item is PASS and the artifact is non-trivial, double-check categories 1, 3, 4, and 7 (claim-without-evidence, implicit-criterion gap, partial coverage, assumed-PASS-on-untested) — these are the ones verifiers most often miss on first pass and the ones most likely to ship a false claim.',
|
|
105
|
-
'',
|
|
106
|
-
'Evidence-shape walk (REQUIRED on every checklist item):',
|
|
107
|
-
'- For each item, before writing the Finding, ask: which of the three evidence shapes do I have? EXECUTION, FILE-LEVEL, or NEGATIVE?',
|
|
108
|
-
'- If you cannot place your verdict in one of the three shapes, your evidence is insufficient — the verdict is FAIL with NEGATIVE evidence ("cannot verify from this artifact, would need X").',
|
|
109
|
-
'- Worked example. Checklist item: "Bug #123 is fixed (the off-by-one in pagination)." Work product says "fixed in commit abc123 — added a guard at the loop boundary." Naive verdict: PASS based on the work product\'s claim. Correct verdict: read commit abc123, find the changed lines, cite `src/pagination.ts:48` with the actual changed expression, AND check for a regression test (implicit sub-criterion of "fix the bug"). If no test exists, mark FAIL with explicit note "fix is in place but no regression test was added — implicit sub-criterion not met". Do NOT mark PASS on the work-product claim alone, and do NOT silently exclude the implicit sub-criterion.',
|
|
110
|
-
'- Most verifiers miss findings of this shape on first pass because the work product\'s prose is persuasive. The evidence-shape walk forces the demand for execution or file:line.',
|
|
111
|
-
].join('\n');
|
|
112
|
-
export const ANNOTATOR_AWARENESS_VERIFY = [
|
|
113
|
-
'After your output, an annotator validates each finding against this verify rubric:',
|
|
114
|
-
'- Does each Finding map to exactly one checklist item, in checklist order, with the criterion text preserved?',
|
|
115
|
-
'- Does the evidence actually demonstrate the claimed PASS or FAIL — and is it one of the three valid shapes (EXECUTION, FILE-LEVEL, or NEGATIVE)?',
|
|
116
|
-
'- Is the severity bound (PASS = low; FAIL = medium/high based on impact)?',
|
|
117
|
-
'- Are all checklist items covered, including ones the worker thought were trivial?',
|
|
118
|
-
'- For PASS items: could a stakeholder re-verify the PASS from the cited evidence alone?',
|
|
119
|
-
'- For FAIL items: is the FAIL backed by a specific shortfall (which sub-criterion missed, which test failed, which file does not implement what the criterion requires)?',
|
|
120
|
-
'Self-check before emitting. Findings that fail any check are downgraded or dropped — but FAIL with NEGATIVE evidence ("cannot verify from this artifact") is FULLY VALID and the correct verdict when the artifact is insufficient. Do NOT downgrade NEGATIVE-evidence FAILs to "cannot determine" or assumed-PASS.',
|
|
121
|
-
].join('\n');
|
|
122
|
-
import { parseCriteria } from '../criteria-types.js';
|
|
123
|
-
/** Structured per-criterion array for parallel-criteria fan-out. */
|
|
124
|
-
export const VERIFY_CRITERIA = parseCriteria(VERIFY_FAILURE_MODES);
|
|
125
|
-
//# sourceMappingURL=implementer-criteria.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"implementer-criteria.js","sourceRoot":"","sources":["../../../src/tools/verify/implementer-criteria.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,yBAAyB;IACzB,+LAA+L;IAC/L,EAAE;IACF,+DAA+D;IAC/D,oEAAoE;IACpE,wFAAwF;IACxF,2GAA2G;IAC3G,4GAA4G;IAC5G,wHAAwH;IACxH,sGAAsG;IACtG,EAAE;IACF,sKAAsK;IACtK,EAAE;IACF,6LAA6L;CAC9L,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,kDAAkD;IAClD,uEAAuE;IACvE,oCAAoC;IACpC,+IAA+I;IAC/I,yIAAyI;IACzI,iJAAiJ;IACjJ,4IAA4I;IAC5I,uJAAuJ;IACvJ,0OAA0O;CAC3O,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ;IACR,qFAAqF;IACrF,uRAAuR;IACvR,wKAAwK;CACzK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,qQAAqQ;IACrQ,EAAE;IACF,yUAAyU;IACzU,wTAAwT;IACxT,gTAAgT;IAChT,mTAAmT;IACnT,gSAAgS;IAChS,EAAE;IACF,qDAAqD;IACrD,0IAA0I;IAC1I,wKAAwK;IACxK,mMAAmM;IACnM,mJAAmJ;CACpJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,sCAAsC;IACtC,ySAAyS;IACzS,yPAAyP;IACzP,mVAAmV;IACnV,EAAE;IACF,yDAAyD;IACzD,qIAAqI;IACrI,+LAA+L;IAC/L,upBAAupB;IACvpB,mLAAmL;CACpL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,oFAAoF;IACpF,+GAA+G;IAC/G,mJAAmJ;IACnJ,2EAA2E;IAC3E,oFAAoF;IACpF,yFAAyF;IACzF,0KAA0K;IAC1K,qTAAqT;CACtT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,OAAO,EAAE,aAAa,EAAuB,MAAM,sBAAsB,CAAC;AAE1E,oEAAoE;AACpE,MAAM,CAAC,MAAM,eAAe,GAA8B,aAAa,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const inputSchema: z.ZodObject<{
|
|
3
|
-
work: z.ZodOptional<z.ZodString>;
|
|
4
|
-
checklist: z.ZodArray<z.ZodString>;
|
|
5
|
-
filePaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6
|
-
contextBlockIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
7
|
-
}, z.core.$strip>;
|
|
8
|
-
export type Input = z.infer<typeof inputSchema>;
|
|
9
|
-
export declare const outputSchema: z.ZodObject<{
|
|
10
|
-
headline: z.ZodString;
|
|
11
|
-
results: z.ZodUnion<readonly [z.ZodArray<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>, z.ZodObject<{
|
|
12
|
-
kind: z.ZodLiteral<"not_applicable">;
|
|
13
|
-
reason: z.ZodString;
|
|
14
|
-
}, z.core.$strip>]>;
|
|
15
|
-
batchTimings: z.ZodUnion<readonly [z.ZodObject<{}, z.core.$loose>, z.ZodObject<{
|
|
16
|
-
kind: z.ZodLiteral<"not_applicable">;
|
|
17
|
-
reason: z.ZodString;
|
|
18
|
-
}, z.core.$strip>]>;
|
|
19
|
-
costSummary: z.ZodUnion<readonly [z.ZodObject<{}, z.core.$loose>, z.ZodObject<{
|
|
20
|
-
kind: z.ZodLiteral<"not_applicable">;
|
|
21
|
-
reason: z.ZodString;
|
|
22
|
-
}, z.core.$strip>]>;
|
|
23
|
-
structuredReport: z.ZodUnion<readonly [z.ZodObject<{}, z.core.$loose>, z.ZodObject<{
|
|
24
|
-
kind: z.ZodLiteral<"not_applicable">;
|
|
25
|
-
reason: z.ZodString;
|
|
26
|
-
}, z.core.$strip>]>;
|
|
27
|
-
error: z.ZodUnion<readonly [z.ZodObject<{
|
|
28
|
-
code: z.ZodString;
|
|
29
|
-
message: z.ZodString;
|
|
30
|
-
details: z.ZodOptional<z.ZodUnknown>;
|
|
31
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
32
|
-
kind: z.ZodLiteral<"not_applicable">;
|
|
33
|
-
reason: z.ZodString;
|
|
34
|
-
}, z.core.$strip>]>;
|
|
35
|
-
specReviewVerdict: z.ZodOptional<z.ZodEnum<{
|
|
36
|
-
approved: "approved";
|
|
37
|
-
concerns: "concerns";
|
|
38
|
-
changes_required: "changes_required";
|
|
39
|
-
annotated: "annotated";
|
|
40
|
-
error: "error";
|
|
41
|
-
skipped: "skipped";
|
|
42
|
-
not_applicable: "not_applicable";
|
|
43
|
-
}>>;
|
|
44
|
-
qualityReviewVerdict: z.ZodOptional<z.ZodEnum<{
|
|
45
|
-
approved: "approved";
|
|
46
|
-
concerns: "concerns";
|
|
47
|
-
changes_required: "changes_required";
|
|
48
|
-
annotated: "annotated";
|
|
49
|
-
error: "error";
|
|
50
|
-
skipped: "skipped";
|
|
51
|
-
not_applicable: "not_applicable";
|
|
52
|
-
}>>;
|
|
53
|
-
roundsUsed: z.ZodOptional<z.ZodNumber>;
|
|
54
|
-
}, z.core.$loose>;
|
|
55
|
-
export type Output = z.infer<typeof outputSchema>;
|
|
56
|
-
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/tools/verify/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,WAAW;;;;;iBAOtB,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEhD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA8B,CAAC;AAExD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
// packages/core/src/tool-schemas/verify.ts
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
import { buildOutputEnvelopeSchema } from '../shared-output.js';
|
|
4
|
-
// Ported verbatim from packages/mcp/src/tools/verify-work.ts (verifyWorkSchema).
|
|
5
|
-
// commonToolFields (filePaths + contextBlockIds) are inlined here to avoid
|
|
6
|
-
// cross-package coupling.
|
|
7
|
-
export const inputSchema = z.object({
|
|
8
|
-
work: z.string().optional().describe('Inline work product to verify'),
|
|
9
|
-
checklist: z.array(z.string()).min(1).describe('Verification checklist items (at least 1)'),
|
|
10
|
-
filePaths: z.array(z.string()).optional()
|
|
11
|
-
.describe('Files the sub-agent should focus on. Multiple files are processed in parallel.'),
|
|
12
|
-
contextBlockIds: z.array(z.string()).optional()
|
|
13
|
-
.describe('IDs from register_context_block to prepend to prompt. Use for delta audits, diff-scoped reviews, or shared specs.'),
|
|
14
|
-
});
|
|
15
|
-
export const outputSchema = buildOutputEnvelopeSchema();
|
|
16
|
-
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/tools/verify/schema.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,iFAAiF;AACjF,2EAA2E;AAC3E,0BAA0B;AAC1B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACrE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAC3F,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;SACtC,QAAQ,CAAC,gFAAgF,CAAC;IAC7F,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;SAC5C,QAAQ,CAAC,mHAAmH,CAAC;CACjI,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,YAAY,GAAG,yBAAyB,EAAE,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ToolSurfaceRegistry } from '../../tool-surface/tool-surface-registry.js';
|
|
2
|
-
import type { Input } from './schema.js';
|
|
3
|
-
import type { ToolConfig } from '../../lifecycle/tool-config-types.js';
|
|
4
|
-
export declare function registerVerify(registry: ToolSurfaceRegistry): void;
|
|
5
|
-
export interface VerifyBrief {
|
|
6
|
-
work?: string;
|
|
7
|
-
filePaths: string[];
|
|
8
|
-
checklist: string[];
|
|
9
|
-
contextBlockIds: string[];
|
|
10
|
-
/** For fan_out mode, the base prompt template without per-file header. */
|
|
11
|
-
promptTemplate?: string;
|
|
12
|
-
}
|
|
13
|
-
export declare const toolConfig: ToolConfig<Input, VerifyBrief, unknown>;
|
|
14
|
-
//# sourceMappingURL=tool-config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/verify/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAevE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAYlE;AAID,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAgFD,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAyD9D,CAAC"}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { inputSchema } from './schema.js';
|
|
2
|
-
import { qualityVerifyTemplate } from '../../review/reviewer-engine.js';
|
|
3
|
-
import { verifyReportSchema } from '../../reporting/report-parser-slots/verify-report.js';
|
|
4
|
-
import { verifyHeadlineTemplate } from '../../reporting/headline-templates/verify.js';
|
|
5
|
-
import { DEFAULT_TASK_TIMEOUT_MS } from '../../config/schema.js';
|
|
6
|
-
import { SEVERITY_LADDER } from '../../review/templates/finding-criteria.js';
|
|
7
|
-
import { VERIFY_PURPOSE_ORIENTATION, EVIDENCE_RULE_VERIFY, SCOPE_RULE_VERIFY, ANNOTATOR_AWARENESS_VERIFY, VERIFY_FAILURE_MODES, THOROUGHNESS_REMINDER_VERIFY, } from './implementer-criteria.js';
|
|
8
|
-
export function registerVerify(registry) {
|
|
9
|
-
registry.register({
|
|
10
|
-
routeName: 'verify',
|
|
11
|
-
httpMethod: 'POST',
|
|
12
|
-
httpPath: '/verify',
|
|
13
|
-
surface: 'tool',
|
|
14
|
-
schema: inputSchema,
|
|
15
|
-
toolCategory: 'read_only',
|
|
16
|
-
agentTypeDefault: 'complex',
|
|
17
|
-
agentTypeOverridable: false,
|
|
18
|
-
responseShapeName: 'BatchResponse',
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
// ── Prompt builders (lifted from legacy executor) ──
|
|
22
|
-
const FINDING_FORMAT_INSTRUCTIONS = [
|
|
23
|
-
// Orientation goes FIRST — the worker needs to know why this verify
|
|
24
|
-
// exists (false-claim gate, every PASS must be re-verifiable) before
|
|
25
|
-
// reading the format spec / taxonomy / evidence rules. Without it,
|
|
26
|
-
// workers default to rubber-stamping based on prose claims.
|
|
27
|
-
VERIFY_PURPOSE_ORIENTATION,
|
|
28
|
-
'',
|
|
29
|
-
'For each checklist item, use this EXACT per-finding format — both the structured reviewer and the deterministic fallback extract from this same format:',
|
|
30
|
-
'',
|
|
31
|
-
'## Finding 1: <one-line title (the criterion summary)>',
|
|
32
|
-
'- Severity: critical | high | medium | low (use `low` for PASS items; `medium` or `high` for FAIL items per impact)',
|
|
33
|
-
'- Item: the criterion text',
|
|
34
|
-
'- Result: PASS or FAIL',
|
|
35
|
-
'- Evidence: EXECUTION (command + observed output), FILE-LEVEL (file:line + quoted excerpt), or NEGATIVE ("cannot verify from this artifact, would need X")',
|
|
36
|
-
'',
|
|
37
|
-
'## Finding 2: <one-line title>',
|
|
38
|
-
'- Severity: ...',
|
|
39
|
-
'- ...',
|
|
40
|
-
'',
|
|
41
|
-
'Rules:',
|
|
42
|
-
'- One `## Finding N:` block per checklist item — same count and same order as the checklist. Do not skip items even if they pass trivially.',
|
|
43
|
-
'- Severity / Item / Result / Evidence bullets are on their own lines with the labels exactly as shown.',
|
|
44
|
-
'',
|
|
45
|
-
// Tool sweep #12: shared rubric so worker calibrates the same way the
|
|
46
|
-
// annotator validates. For verify, severity is bound to the result —
|
|
47
|
-
// the SEVERITY_LADDER below explains the ladder; here we just bind:
|
|
48
|
-
// PASS -> low, FAIL -> medium/high based on impact.
|
|
49
|
-
SEVERITY_LADDER,
|
|
50
|
-
'',
|
|
51
|
-
// Verify failure-mode taxonomy. Without this block, workers tend to
|
|
52
|
-
// rubber-stamp PASS based on prose claims instead of demanding
|
|
53
|
-
// execution-level evidence. The 7 categories enumerate the ways a
|
|
54
|
-
// verifier can ship a false claim.
|
|
55
|
-
VERIFY_FAILURE_MODES,
|
|
56
|
-
'',
|
|
57
|
-
// Counter-balances the SEVERITY_LADDER's anti-inflation hint and
|
|
58
|
-
// includes the evidence-shape walk with worked example.
|
|
59
|
-
THOROUGHNESS_REMINDER_VERIFY,
|
|
60
|
-
'',
|
|
61
|
-
EVIDENCE_RULE_VERIFY,
|
|
62
|
-
'',
|
|
63
|
-
SCOPE_RULE_VERIFY,
|
|
64
|
-
'',
|
|
65
|
-
ANNOTATOR_AWARENESS_VERIFY,
|
|
66
|
-
].join('\n');
|
|
67
|
-
function buildFilePathsPrompt(filePaths) {
|
|
68
|
-
if (!filePaths || filePaths.length === 0)
|
|
69
|
-
return '';
|
|
70
|
-
return `Read and analyze these files:\n${filePaths.map(p => `- ${p}`).join('\n')}`;
|
|
71
|
-
}
|
|
72
|
-
function buildVerifyPrompt(work, filePaths, checklist) {
|
|
73
|
-
const parts = ['Verify this work:'];
|
|
74
|
-
if (work)
|
|
75
|
-
parts.push(work);
|
|
76
|
-
const fileSection = buildFilePathsPrompt(filePaths);
|
|
77
|
-
if (fileSection)
|
|
78
|
-
parts.push(fileSection);
|
|
79
|
-
const checklistText = checklist.map((item, i) => `${i + 1}. ${item}`).join('\n');
|
|
80
|
-
parts.push(`Checklist:\n${checklistText}`);
|
|
81
|
-
parts.push(FINDING_FORMAT_INSTRUCTIONS);
|
|
82
|
-
return parts.join('\n\n');
|
|
83
|
-
}
|
|
84
|
-
function buildPerFilePrompt(filePath, promptTemplate) {
|
|
85
|
-
return `${promptTemplate}\n\nRead and analyze this file:\n- ${filePath}`;
|
|
86
|
-
}
|
|
87
|
-
function hasContent(value) {
|
|
88
|
-
return value !== undefined && value.trim().length > 0;
|
|
89
|
-
}
|
|
90
|
-
// ── ToolConfig ──
|
|
91
|
-
export const toolConfig = {
|
|
92
|
-
name: 'verify',
|
|
93
|
-
category: 'read_only',
|
|
94
|
-
agentType: 'complex',
|
|
95
|
-
briefSlot: (input) => {
|
|
96
|
-
const filePaths = (input.filePaths ?? []).filter(p => p.trim().length > 0);
|
|
97
|
-
if (!hasContent(input.work) && filePaths.length >= 2) {
|
|
98
|
-
// Fan-out: one task per file, shared prompt template
|
|
99
|
-
const promptTemplate = buildVerifyPrompt(undefined, undefined, input.checklist);
|
|
100
|
-
return filePaths.map(fp => ({
|
|
101
|
-
work: input.work,
|
|
102
|
-
filePaths: [fp],
|
|
103
|
-
checklist: input.checklist,
|
|
104
|
-
contextBlockIds: input.contextBlockIds ?? [],
|
|
105
|
-
promptTemplate,
|
|
106
|
-
}));
|
|
107
|
-
}
|
|
108
|
-
// Single task
|
|
109
|
-
return [{
|
|
110
|
-
work: input.work,
|
|
111
|
-
filePaths,
|
|
112
|
-
checklist: input.checklist,
|
|
113
|
-
contextBlockIds: input.contextBlockIds ?? [],
|
|
114
|
-
}];
|
|
115
|
-
},
|
|
116
|
-
buildTaskSpec: (brief, ctx) => {
|
|
117
|
-
const prompt = brief.promptTemplate
|
|
118
|
-
? buildPerFilePrompt(brief.filePaths[0], brief.promptTemplate)
|
|
119
|
-
: buildVerifyPrompt(brief.work, brief.filePaths.length > 0 ? brief.filePaths : undefined, brief.checklist);
|
|
120
|
-
const checklistFmt = brief.checklist.map((c, i) => `${i + 1}. ${c}`).join('\n');
|
|
121
|
-
return {
|
|
122
|
-
prompt,
|
|
123
|
-
// Pure user work + checklist for the parallel-criteria dispatcher's
|
|
124
|
-
// cached prefix; bypasses the legacy verify format spec.
|
|
125
|
-
parallelTarget: `Work to verify:\n${brief.work}\n\nChecklist (verify each item):\n${checklistFmt}`,
|
|
126
|
-
agentType: 'complex',
|
|
127
|
-
reviewPolicy: 'quality_only',
|
|
128
|
-
briefQualityPolicy: 'off',
|
|
129
|
-
done: `Every checklist item (${brief.checklist.length} total) has a pass/fail verdict with supporting evidence from the code.`,
|
|
130
|
-
tools: ctx.config.defaults?.tools ?? 'full',
|
|
131
|
-
timeoutMs: ctx.config.defaults?.timeoutMs ?? DEFAULT_TASK_TIMEOUT_MS,
|
|
132
|
-
maxCostUSD: ctx.config.defaults?.maxCostUSD ?? 10,
|
|
133
|
-
sandboxPolicy: ctx.config.defaults?.sandboxPolicy ?? 'cwd-only',
|
|
134
|
-
cwd: ctx.projectContext?.cwd ?? ctx.cwd,
|
|
135
|
-
contextBlockIds: brief.contextBlockIds,
|
|
136
|
-
filePaths: brief.filePaths.length > 0 ? brief.filePaths : undefined,
|
|
137
|
-
mainModel: ctx.mainModel ?? undefined,
|
|
138
|
-
};
|
|
139
|
-
},
|
|
140
|
-
reportSchema: verifyReportSchema,
|
|
141
|
-
headlineTemplate: verifyHeadlineTemplate,
|
|
142
|
-
reviewTemplates: {
|
|
143
|
-
qualityAP: qualityVerifyTemplate,
|
|
144
|
-
},
|
|
145
|
-
};
|
|
146
|
-
//# sourceMappingURL=tool-config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/verify/tool-config.ts"],"names":[],"mappings":"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"}
|