@zhixuan92/multi-model-agent-core 5.0.3 → 5.2.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/dist/bounded-execution/activity-tracker-types.d.ts +30 -15
- package/dist/bounded-execution/activity-tracker-types.d.ts.map +1 -1
- package/dist/bounded-execution/activity-tracker-types.js.map +1 -1
- package/dist/bounded-execution/activity-tracker.d.ts +2 -2
- package/dist/bounded-execution/activity-tracker.d.ts.map +1 -1
- package/dist/bounded-execution/activity-tracker.js +4 -5
- package/dist/bounded-execution/activity-tracker.js.map +1 -1
- package/dist/config/schema.d.ts +41 -2
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +1 -2
- package/dist/config/schema.js.map +1 -1
- package/dist/events/plain-log-entry.d.ts +1 -1
- package/dist/events/plain-log-entry.d.ts.map +1 -1
- package/dist/events/plain-log-entry.js +5 -1
- package/dist/events/plain-log-entry.js.map +1 -1
- package/dist/events/task-envelope.d.ts +5 -5
- package/dist/events/task-envelope.d.ts.map +1 -1
- package/dist/events/task-envelope.js +3 -6
- package/dist/events/task-envelope.js.map +1 -1
- package/dist/events/telemetry-uploader.d.ts +1 -1
- package/dist/events/telemetry-uploader.d.ts.map +1 -1
- package/dist/events/to-wire-record.d.ts +1 -1
- package/dist/events/to-wire-record.d.ts.map +1 -1
- package/dist/events/to-wire-record.js +1 -1
- package/dist/events/to-wire-record.js.map +1 -1
- package/dist/events/wire-schema.d.ts +38 -15
- package/dist/events/wire-schema.d.ts.map +1 -1
- package/dist/events/wire-schema.js +8 -8
- package/dist/events/wire-schema.js.map +1 -1
- package/dist/index.d.ts +13 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -17
- package/dist/index.js.map +1 -1
- package/dist/providers/agent-resolver.js +1 -1
- package/dist/providers/agent-resolver.js.map +1 -1
- package/dist/providers/claude-session.d.ts +2 -1
- package/dist/providers/claude-session.d.ts.map +1 -1
- package/dist/providers/claude-session.js +43 -2
- package/dist/providers/claude-session.js.map +1 -1
- package/dist/providers/codex-cli-session.d.ts +3 -2
- package/dist/providers/codex-cli-session.d.ts.map +1 -1
- package/dist/providers/codex-cli-session.js +5 -2
- package/dist/providers/codex-cli-session.js.map +1 -1
- package/dist/providers/provider-factory.d.ts +2 -2
- package/dist/providers/provider-factory.d.ts.map +1 -1
- package/dist/providers/provider-factory.js +12 -12
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/providers/runner-types.d.ts +3 -16
- package/dist/providers/runner-types.d.ts.map +1 -1
- package/dist/research/adapters/arxiv.d.ts.map +1 -1
- package/dist/research/adapters/arxiv.js +6 -1
- package/dist/research/adapters/arxiv.js.map +1 -1
- package/dist/research/index.d.ts +11 -1
- package/dist/research/index.d.ts.map +1 -1
- package/dist/research/index.js +8 -1
- package/dist/research/index.js.map +1 -1
- package/dist/stores/context-block-tool.d.ts +2 -3
- package/dist/stores/context-block-tool.d.ts.map +1 -1
- package/dist/stores/context-block-tool.js +1 -1
- package/dist/stores/context-block-tool.js.map +1 -1
- package/dist/stores/project-context-registry.d.ts +0 -9
- package/dist/stores/project-context-registry.d.ts.map +1 -1
- package/dist/stores/project-context-registry.js +0 -4
- package/dist/stores/project-context-registry.js.map +1 -1
- package/dist/types/brief-quality-policy.d.ts.map +1 -1
- package/dist/types/enums.d.ts +0 -9
- package/dist/types/enums.d.ts.map +1 -1
- package/dist/types/enums.js +0 -10
- package/dist/types/enums.js.map +1 -1
- package/dist/types/goal.d.ts +47 -0
- package/dist/types/goal.d.ts.map +1 -0
- package/dist/types/goal.js +2 -0
- package/dist/types/goal.js.map +1 -0
- package/dist/types/run-result.d.ts +48 -23
- package/dist/types/run-result.d.ts.map +1 -1
- package/dist/types/run-result.js +3 -16
- package/dist/types/run-result.js.map +1 -1
- package/dist/types/stage-stats.d.ts +1 -1
- package/dist/types/stage-stats.d.ts.map +1 -1
- package/dist/types/stage-stats.js +2 -4
- package/dist/types/stage-stats.js.map +1 -1
- package/dist/types/task-spec.d.ts +14 -17
- package/dist/types/task-spec.d.ts.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/unified/reviewer-output-parser.d.ts +51 -0
- package/dist/unified/reviewer-output-parser.d.ts.map +1 -0
- package/dist/unified/reviewer-output-parser.js +39 -0
- package/dist/unified/reviewer-output-parser.js.map +1 -0
- package/dist/unified/skill-loader.d.ts +9 -0
- package/dist/unified/skill-loader.d.ts.map +1 -0
- package/dist/unified/skill-loader.js +45 -0
- package/dist/unified/skill-loader.js.map +1 -0
- package/dist/unified/task-input-schema.d.ts +217 -0
- package/dist/unified/task-input-schema.d.ts.map +1 -0
- package/dist/unified/task-input-schema.js +35 -0
- package/dist/unified/task-input-schema.js.map +1 -0
- package/dist/unified/task-registry.d.ts +23 -0
- package/dist/unified/task-registry.d.ts.map +1 -0
- package/dist/unified/task-registry.js +56 -0
- package/dist/unified/task-registry.js.map +1 -0
- package/dist/unified/two-phase-pipeline.d.ts +52 -0
- package/dist/unified/two-phase-pipeline.d.ts.map +1 -0
- package/dist/unified/two-phase-pipeline.js +95 -0
- package/dist/unified/two-phase-pipeline.js.map +1 -0
- package/dist/unified/type-registry.d.ts +13 -0
- package/dist/unified/type-registry.d.ts.map +1 -0
- package/dist/unified/type-registry.js +30 -0
- package/dist/unified/type-registry.js.map +1 -0
- package/dist/unified/worktree-manager.d.ts +43 -0
- package/dist/unified/worktree-manager.d.ts.map +1 -0
- package/dist/unified/worktree-manager.js +76 -0
- package/dist/unified/worktree-manager.js.map +1 -0
- package/package.json +5 -117
- package/dist/bounded-execution/file-artifact-check.d.ts +0 -7
- package/dist/bounded-execution/file-artifact-check.d.ts.map +0 -1
- package/dist/bounded-execution/file-artifact-check.js +0 -13
- package/dist/bounded-execution/file-artifact-check.js.map +0 -1
- package/dist/bounded-execution/progress-events-subscriber.d.ts +0 -33
- package/dist/bounded-execution/progress-events-subscriber.d.ts.map +0 -1
- package/dist/bounded-execution/progress-events-subscriber.js +0 -59
- package/dist/bounded-execution/progress-events-subscriber.js.map +0 -1
- package/dist/bounded-execution/progress-watchdog.d.ts +0 -43
- package/dist/bounded-execution/progress-watchdog.d.ts.map +0 -1
- package/dist/bounded-execution/progress-watchdog.js +0 -170
- package/dist/bounded-execution/progress-watchdog.js.map +0 -1
- package/dist/bounded-execution/real-diff.d.ts +0 -17
- package/dist/bounded-execution/real-diff.d.ts.map +0 -1
- package/dist/bounded-execution/real-diff.js +0 -59
- package/dist/bounded-execution/real-diff.js.map +0 -1
- package/dist/bounded-execution/scope-match.d.ts +0 -7
- package/dist/bounded-execution/scope-match.d.ts.map +0 -1
- package/dist/bounded-execution/scope-match.js +0 -28
- package/dist/bounded-execution/scope-match.js.map +0 -1
- package/dist/bounded-execution/stall-watchdog.d.ts +0 -18
- package/dist/bounded-execution/stall-watchdog.d.ts.map +0 -1
- package/dist/bounded-execution/stall-watchdog.js +0 -134
- package/dist/bounded-execution/stall-watchdog.js.map +0 -1
- package/dist/bounded-execution/wall-clock-guard.d.ts +0 -12
- package/dist/bounded-execution/wall-clock-guard.d.ts.map +0 -1
- package/dist/bounded-execution/wall-clock-guard.js +0 -27
- package/dist/bounded-execution/wall-clock-guard.js.map +0 -1
- package/dist/config/canonical-model-identity.d.ts +0 -9
- package/dist/config/canonical-model-identity.d.ts.map +0 -1
- package/dist/config/canonical-model-identity.js +0 -54
- package/dist/config/canonical-model-identity.js.map +0 -1
- package/dist/journal/default-schema.d.ts +0 -2
- package/dist/journal/default-schema.d.ts.map +0 -1
- package/dist/journal/default-schema.js +0 -27
- package/dist/journal/default-schema.js.map +0 -1
- package/dist/journal/types.d.ts +0 -22
- package/dist/journal/types.d.ts.map +0 -1
- package/dist/journal/types.js +0 -5
- package/dist/journal/types.js.map +0 -1
- package/dist/lifecycle/annotate-parser.d.ts +0 -11
- package/dist/lifecycle/annotate-parser.d.ts.map +0 -1
- package/dist/lifecycle/annotate-parser.js +0 -74
- package/dist/lifecycle/annotate-parser.js.map +0 -1
- package/dist/lifecycle/annotate-prompts.d.ts +0 -9
- package/dist/lifecycle/annotate-prompts.d.ts.map +0 -1
- package/dist/lifecycle/annotate-prompts.js +0 -95
- package/dist/lifecycle/annotate-prompts.js.map +0 -1
- package/dist/lifecycle/auto-commit.d.ts +0 -3
- package/dist/lifecycle/auto-commit.d.ts.map +0 -1
- package/dist/lifecycle/auto-commit.js +0 -5
- package/dist/lifecycle/auto-commit.js.map +0 -1
- package/dist/lifecycle/auto-register-context-block.d.ts +0 -11
- package/dist/lifecycle/auto-register-context-block.d.ts.map +0 -1
- package/dist/lifecycle/auto-register-context-block.js +0 -18
- package/dist/lifecycle/auto-register-context-block.js.map +0 -1
- package/dist/lifecycle/build-cancelled-result.d.ts +0 -11
- package/dist/lifecycle/build-cancelled-result.d.ts.map +0 -1
- package/dist/lifecycle/build-cancelled-result.js +0 -25
- package/dist/lifecycle/build-cancelled-result.js.map +0 -1
- package/dist/lifecycle/derive-completion.d.ts +0 -24
- package/dist/lifecycle/derive-completion.d.ts.map +0 -1
- package/dist/lifecycle/derive-completion.js +0 -66
- package/dist/lifecycle/derive-completion.js.map +0 -1
- package/dist/lifecycle/diff-tracker.d.ts +0 -88
- package/dist/lifecycle/diff-tracker.d.ts.map +0 -1
- package/dist/lifecycle/diff-tracker.js +0 -429
- package/dist/lifecycle/diff-tracker.js.map +0 -1
- package/dist/lifecycle/executor-output-types.d.ts +0 -53
- package/dist/lifecycle/executor-output-types.d.ts.map +0 -1
- package/dist/lifecycle/executor-output-types.js +0 -2
- package/dist/lifecycle/executor-output-types.js.map +0 -1
- package/dist/lifecycle/file-confinement-check.d.ts +0 -17
- package/dist/lifecycle/file-confinement-check.d.ts.map +0 -1
- package/dist/lifecycle/file-confinement-check.js +0 -44
- package/dist/lifecycle/file-confinement-check.js.map +0 -1
- package/dist/lifecycle/findings-parser.d.ts +0 -18
- package/dist/lifecycle/findings-parser.d.ts.map +0 -1
- package/dist/lifecycle/findings-parser.js +0 -143
- package/dist/lifecycle/findings-parser.js.map +0 -1
- package/dist/lifecycle/git-toplevel.d.ts +0 -12
- package/dist/lifecycle/git-toplevel.d.ts.map +0 -1
- package/dist/lifecycle/git-toplevel.js +0 -52
- package/dist/lifecycle/git-toplevel.js.map +0 -1
- package/dist/lifecycle/handlers/annotate-stage.d.ts +0 -35
- package/dist/lifecycle/handlers/annotate-stage.d.ts.map +0 -1
- package/dist/lifecycle/handlers/annotate-stage.js +0 -360
- package/dist/lifecycle/handlers/annotate-stage.js.map +0 -1
- package/dist/lifecycle/handlers/baseline-handlers.d.ts +0 -12
- package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +0 -1
- package/dist/lifecycle/handlers/baseline-handlers.js +0 -281
- package/dist/lifecycle/handlers/baseline-handlers.js.map +0 -1
- package/dist/lifecycle/handlers/compose-commit-message.d.ts +0 -15
- package/dist/lifecycle/handlers/compose-commit-message.d.ts.map +0 -1
- package/dist/lifecycle/handlers/compose-commit-message.js +0 -227
- package/dist/lifecycle/handlers/compose-commit-message.js.map +0 -1
- package/dist/lifecycle/handlers/enrich-runtime-result.d.ts +0 -3
- package/dist/lifecycle/handlers/enrich-runtime-result.d.ts.map +0 -1
- package/dist/lifecycle/handlers/enrich-runtime-result.js +0 -239
- package/dist/lifecycle/handlers/enrich-runtime-result.js.map +0 -1
- package/dist/lifecycle/handlers/git-commit-handler.d.ts +0 -4
- package/dist/lifecycle/handlers/git-commit-handler.d.ts.map +0 -1
- package/dist/lifecycle/handlers/git-commit-handler.js +0 -202
- package/dist/lifecycle/handlers/git-commit-handler.js.map +0 -1
- package/dist/lifecycle/handlers/implement-stage.d.ts +0 -10
- package/dist/lifecycle/handlers/implement-stage.d.ts.map +0 -1
- package/dist/lifecycle/handlers/implement-stage.js +0 -228
- package/dist/lifecycle/handlers/implement-stage.js.map +0 -1
- package/dist/lifecycle/handlers/journal-review-prompt.d.ts +0 -7
- package/dist/lifecycle/handlers/journal-review-prompt.d.ts.map +0 -1
- package/dist/lifecycle/handlers/journal-review-prompt.js +0 -54
- package/dist/lifecycle/handlers/journal-review-prompt.js.map +0 -1
- package/dist/lifecycle/handlers/parse-review-report.d.ts +0 -15
- package/dist/lifecycle/handlers/parse-review-report.d.ts.map +0 -1
- package/dist/lifecycle/handlers/parse-review-report.js +0 -40
- package/dist/lifecycle/handlers/parse-review-report.js.map +0 -1
- package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts +0 -13
- package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts.map +0 -1
- package/dist/lifecycle/handlers/prepare-execution-context-handler.js +0 -83
- package/dist/lifecycle/handlers/prepare-execution-context-handler.js.map +0 -1
- package/dist/lifecycle/handlers/quality-review-prompt.d.ts +0 -7
- package/dist/lifecycle/handlers/quality-review-prompt.d.ts.map +0 -1
- package/dist/lifecycle/handlers/quality-review-prompt.js +0 -50
- package/dist/lifecycle/handlers/quality-review-prompt.js.map +0 -1
- package/dist/lifecycle/handlers/read-route-implementer.d.ts +0 -52
- package/dist/lifecycle/handlers/read-route-implementer.d.ts.map +0 -1
- package/dist/lifecycle/handlers/read-route-implementer.js +0 -109
- package/dist/lifecycle/handlers/read-route-implementer.js.map +0 -1
- package/dist/lifecycle/handlers/register-context-block-handlers.d.ts +0 -4
- package/dist/lifecycle/handlers/register-context-block-handlers.d.ts.map +0 -1
- package/dist/lifecycle/handlers/register-context-block-handlers.js +0 -35
- package/dist/lifecycle/handlers/register-context-block-handlers.js.map +0 -1
- package/dist/lifecycle/handlers/review-stage.d.ts +0 -4
- package/dist/lifecycle/handlers/review-stage.d.ts.map +0 -1
- package/dist/lifecycle/handlers/review-stage.js +0 -277
- package/dist/lifecycle/handlers/review-stage.js.map +0 -1
- package/dist/lifecycle/handlers/rework-prompt.d.ts +0 -6
- package/dist/lifecycle/handlers/rework-prompt.d.ts.map +0 -1
- package/dist/lifecycle/handlers/rework-prompt.js +0 -18
- package/dist/lifecycle/handlers/rework-prompt.js.map +0 -1
- package/dist/lifecycle/handlers/rework-stage.d.ts +0 -4
- package/dist/lifecycle/handlers/rework-stage.d.ts.map +0 -1
- package/dist/lifecycle/handlers/rework-stage.js +0 -191
- package/dist/lifecycle/handlers/rework-stage.js.map +0 -1
- package/dist/lifecycle/handlers/spec-review-prompt.d.ts +0 -8
- package/dist/lifecycle/handlers/spec-review-prompt.d.ts.map +0 -1
- package/dist/lifecycle/handlers/spec-review-prompt.js +0 -47
- package/dist/lifecycle/handlers/spec-review-prompt.js.map +0 -1
- package/dist/lifecycle/handlers/terminal-handlers.d.ts +0 -61
- package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +0 -1
- package/dist/lifecycle/handlers/terminal-handlers.js +0 -327
- package/dist/lifecycle/handlers/terminal-handlers.js.map +0 -1
- package/dist/lifecycle/handlers/tier-policy.d.ts +0 -11
- package/dist/lifecycle/handlers/tier-policy.d.ts.map +0 -1
- package/dist/lifecycle/handlers/tier-policy.js +0 -12
- package/dist/lifecycle/handlers/tier-policy.js.map +0 -1
- package/dist/lifecycle/lifecycle-context.d.ts +0 -109
- package/dist/lifecycle/lifecycle-context.d.ts.map +0 -1
- package/dist/lifecycle/lifecycle-context.js +0 -2
- package/dist/lifecycle/lifecycle-context.js.map +0 -1
- package/dist/lifecycle/lifecycle-dispatcher.d.ts +0 -35
- package/dist/lifecycle/lifecycle-dispatcher.d.ts.map +0 -1
- package/dist/lifecycle/lifecycle-dispatcher.js +0 -64
- package/dist/lifecycle/lifecycle-dispatcher.js.map +0 -1
- package/dist/lifecycle/lifecycle-driver.d.ts +0 -16
- package/dist/lifecycle/lifecycle-driver.d.ts.map +0 -1
- package/dist/lifecycle/lifecycle-driver.js +0 -334
- package/dist/lifecycle/lifecycle-driver.js.map +0 -1
- package/dist/lifecycle/merge-stage-stats.d.ts +0 -62
- package/dist/lifecycle/merge-stage-stats.d.ts.map +0 -1
- package/dist/lifecycle/merge-stage-stats.js +0 -136
- package/dist/lifecycle/merge-stage-stats.js.map +0 -1
- package/dist/lifecycle/normalize-output-targets.d.ts +0 -2
- package/dist/lifecycle/normalize-output-targets.d.ts.map +0 -1
- package/dist/lifecycle/normalize-output-targets.js +0 -14
- package/dist/lifecycle/normalize-output-targets.js.map +0 -1
- package/dist/lifecycle/perform-implementation.d.ts +0 -3
- package/dist/lifecycle/perform-implementation.d.ts.map +0 -1
- package/dist/lifecycle/perform-implementation.js +0 -371
- package/dist/lifecycle/perform-implementation.js.map +0 -1
- package/dist/lifecycle/read-only-subtype-spec.d.ts +0 -18
- package/dist/lifecycle/read-only-subtype-spec.d.ts.map +0 -1
- package/dist/lifecycle/read-only-subtype-spec.js +0 -2
- package/dist/lifecycle/read-only-subtype-spec.js.map +0 -1
- package/dist/lifecycle/repo-commit-lock.d.ts +0 -20
- package/dist/lifecycle/repo-commit-lock.d.ts.map +0 -1
- package/dist/lifecycle/repo-commit-lock.js +0 -40
- package/dist/lifecycle/repo-commit-lock.js.map +0 -1
- package/dist/lifecycle/review-verdict-mapping.d.ts +0 -16
- package/dist/lifecycle/review-verdict-mapping.d.ts.map +0 -1
- package/dist/lifecycle/review-verdict-mapping.js +0 -24
- package/dist/lifecycle/review-verdict-mapping.js.map +0 -1
- package/dist/lifecycle/shared-compute.d.ts +0 -14
- package/dist/lifecycle/shared-compute.d.ts.map +0 -1
- package/dist/lifecycle/shared-compute.js +0 -51
- package/dist/lifecycle/shared-compute.js.map +0 -1
- package/dist/lifecycle/stage-idle-tracker.d.ts +0 -14
- package/dist/lifecycle/stage-idle-tracker.d.ts.map +0 -1
- package/dist/lifecycle/stage-idle-tracker.js +0 -17
- package/dist/lifecycle/stage-idle-tracker.js.map +0 -1
- package/dist/lifecycle/stage-io.d.ts +0 -157
- package/dist/lifecycle/stage-io.d.ts.map +0 -1
- package/dist/lifecycle/stage-io.js +0 -20
- package/dist/lifecycle/stage-io.js.map +0 -1
- package/dist/lifecycle/stage-labels.d.ts +0 -7
- package/dist/lifecycle/stage-labels.d.ts.map +0 -1
- package/dist/lifecycle/stage-labels.js +0 -19
- package/dist/lifecycle/stage-labels.js.map +0 -1
- package/dist/lifecycle/stage-plan-builder.d.ts +0 -4
- package/dist/lifecycle/stage-plan-builder.d.ts.map +0 -1
- package/dist/lifecycle/stage-plan-builder.js +0 -164
- package/dist/lifecycle/stage-plan-builder.js.map +0 -1
- package/dist/lifecycle/stage-plan-types.d.ts +0 -131
- package/dist/lifecycle/stage-plan-types.d.ts.map +0 -1
- package/dist/lifecycle/stage-plan-types.js +0 -28
- package/dist/lifecycle/stage-plan-types.js.map +0 -1
- package/dist/lifecycle/stage-progression.d.ts +0 -6
- package/dist/lifecycle/stage-progression.d.ts.map +0 -1
- package/dist/lifecycle/stage-progression.js +0 -100
- package/dist/lifecycle/stage-progression.js.map +0 -1
- package/dist/lifecycle/task-executor.d.ts +0 -24
- package/dist/lifecycle/task-executor.d.ts.map +0 -1
- package/dist/lifecycle/task-executor.js +0 -320
- package/dist/lifecycle/task-executor.js.map +0 -1
- package/dist/lifecycle/task-runner.d.ts +0 -66
- package/dist/lifecycle/task-runner.d.ts.map +0 -1
- package/dist/lifecycle/task-runner.js +0 -332
- package/dist/lifecycle/task-runner.js.map +0 -1
- package/dist/lifecycle/tool-category.d.ts +0 -2
- package/dist/lifecycle/tool-category.d.ts.map +0 -1
- package/dist/lifecycle/tool-category.js +0 -6
- package/dist/lifecycle/tool-category.js.map +0 -1
- package/dist/lifecycle/tool-config-types.d.ts +0 -32
- package/dist/lifecycle/tool-config-types.d.ts.map +0 -1
- package/dist/lifecycle/tool-config-types.js +0 -2
- package/dist/lifecycle/tool-config-types.js.map +0 -1
- package/dist/lifecycle/warm-followup.d.ts +0 -3
- package/dist/lifecycle/warm-followup.d.ts.map +0 -1
- package/dist/lifecycle/warm-followup.js +0 -16
- package/dist/lifecycle/warm-followup.js.map +0 -1
- package/dist/lifecycle/worker-output-contract.d.ts +0 -22
- package/dist/lifecycle/worker-output-contract.d.ts.map +0 -1
- package/dist/lifecycle/worker-output-contract.js +0 -91
- package/dist/lifecycle/worker-output-contract.js.map +0 -1
- package/dist/providers/assemble-run-result.d.ts +0 -17
- package/dist/providers/assemble-run-result.d.ts.map +0 -1
- package/dist/providers/assemble-run-result.js +0 -52
- package/dist/providers/assemble-run-result.js.map +0 -1
- package/dist/providers/skill-resolver.d.ts +0 -17
- package/dist/providers/skill-resolver.d.ts.map +0 -1
- package/dist/providers/skill-resolver.js +0 -123
- package/dist/providers/skill-resolver.js.map +0 -1
- package/dist/reporting/batch-persister.d.ts +0 -4
- package/dist/reporting/batch-persister.d.ts.map +0 -1
- package/dist/reporting/batch-persister.js +0 -11
- package/dist/reporting/batch-persister.js.map +0 -1
- package/dist/reporting/commit-stage-runner.d.ts +0 -12
- package/dist/reporting/commit-stage-runner.d.ts.map +0 -1
- package/dist/reporting/commit-stage-runner.js +0 -43
- package/dist/reporting/commit-stage-runner.js.map +0 -1
- package/dist/reporting/derive-investigate-status.d.ts +0 -15
- package/dist/reporting/derive-investigate-status.d.ts.map +0 -1
- package/dist/reporting/derive-investigate-status.js +0 -23
- package/dist/reporting/derive-investigate-status.js.map +0 -1
- package/dist/reporting/extract-fenced-json.d.ts +0 -7
- package/dist/reporting/extract-fenced-json.d.ts.map +0 -1
- package/dist/reporting/extract-fenced-json.js +0 -17
- package/dist/reporting/extract-fenced-json.js.map +0 -1
- package/dist/reporting/findings-headline.d.ts +0 -12
- package/dist/reporting/findings-headline.d.ts.map +0 -1
- package/dist/reporting/findings-headline.js +0 -40
- package/dist/reporting/findings-headline.js.map +0 -1
- package/dist/reporting/findings-outcome.d.ts +0 -13
- package/dist/reporting/findings-outcome.d.ts.map +0 -1
- package/dist/reporting/findings-outcome.js +0 -22
- package/dist/reporting/findings-outcome.js.map +0 -1
- package/dist/reporting/headline-composer.d.ts +0 -29
- package/dist/reporting/headline-composer.d.ts.map +0 -1
- package/dist/reporting/headline-composer.js +0 -10
- package/dist/reporting/headline-composer.js.map +0 -1
- package/dist/reporting/headline-templates/delegate.d.ts +0 -3
- package/dist/reporting/headline-templates/delegate.d.ts.map +0 -1
- package/dist/reporting/headline-templates/delegate.js +0 -42
- package/dist/reporting/headline-templates/delegate.js.map +0 -1
- package/dist/reporting/headline-templates/execute-plan.d.ts +0 -3
- package/dist/reporting/headline-templates/execute-plan.d.ts.map +0 -1
- package/dist/reporting/headline-templates/execute-plan.js +0 -26
- package/dist/reporting/headline-templates/execute-plan.js.map +0 -1
- package/dist/reporting/headline-templates/investigate.d.ts +0 -13
- package/dist/reporting/headline-templates/investigate.d.ts.map +0 -1
- package/dist/reporting/headline-templates/investigate.js +0 -53
- package/dist/reporting/headline-templates/investigate.js.map +0 -1
- package/dist/reporting/headline-templates/journal-recall.d.ts +0 -3
- package/dist/reporting/headline-templates/journal-recall.d.ts.map +0 -1
- package/dist/reporting/headline-templates/journal-recall.js +0 -9
- package/dist/reporting/headline-templates/journal-recall.js.map +0 -1
- package/dist/reporting/headline-templates/journal.d.ts +0 -3
- package/dist/reporting/headline-templates/journal.d.ts.map +0 -1
- package/dist/reporting/headline-templates/journal.js +0 -17
- package/dist/reporting/headline-templates/journal.js.map +0 -1
- package/dist/reporting/headline-templates/research.d.ts +0 -3
- package/dist/reporting/headline-templates/research.d.ts.map +0 -1
- package/dist/reporting/headline-templates/research.js +0 -22
- package/dist/reporting/headline-templates/research.js.map +0 -1
- package/dist/reporting/headline-text.d.ts +0 -36
- package/dist/reporting/headline-text.d.ts.map +0 -1
- package/dist/reporting/headline-text.js +0 -73
- package/dist/reporting/headline-text.js.map +0 -1
- package/dist/reporting/report-parser-slots/delegate-report.d.ts +0 -8
- package/dist/reporting/report-parser-slots/delegate-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/delegate-report.js +0 -12
- package/dist/reporting/report-parser-slots/delegate-report.js.map +0 -1
- package/dist/reporting/report-parser-slots/execute-plan-report.d.ts +0 -11
- package/dist/reporting/report-parser-slots/execute-plan-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/execute-plan-report.js +0 -7
- package/dist/reporting/report-parser-slots/execute-plan-report.js.map +0 -1
- package/dist/reporting/report-parser-slots/investigate-report.d.ts +0 -52
- package/dist/reporting/report-parser-slots/investigate-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/investigate-report.js +0 -307
- package/dist/reporting/report-parser-slots/investigate-report.js.map +0 -1
- package/dist/reporting/report-parser-slots/journal-report.d.ts +0 -19
- package/dist/reporting/report-parser-slots/journal-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/journal-report.js +0 -13
- package/dist/reporting/report-parser-slots/journal-report.js.map +0 -1
- package/dist/reporting/report-parser-slots/no-structured-report.d.ts +0 -10
- package/dist/reporting/report-parser-slots/no-structured-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/no-structured-report.js +0 -13
- package/dist/reporting/report-parser-slots/no-structured-report.js.map +0 -1
- package/dist/reporting/report-parser-slots/research-report.d.ts +0 -31
- package/dist/reporting/report-parser-slots/research-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/research-report.js +0 -50
- package/dist/reporting/report-parser-slots/research-report.js.map +0 -1
- package/dist/reporting/response-envelope-builder.d.ts +0 -32
- package/dist/reporting/response-envelope-builder.d.ts.map +0 -1
- package/dist/reporting/response-envelope-builder.js +0 -26
- package/dist/reporting/response-envelope-builder.js.map +0 -1
- package/dist/reporting/severity.d.ts +0 -62
- package/dist/reporting/severity.d.ts.map +0 -1
- package/dist/reporting/severity.js +0 -93
- package/dist/reporting/severity.js.map +0 -1
- package/dist/reporting/structured-report-parser.d.ts +0 -9
- package/dist/reporting/structured-report-parser.d.ts.map +0 -1
- package/dist/reporting/structured-report-parser.js +0 -8
- package/dist/reporting/structured-report-parser.js.map +0 -1
- package/dist/reporting/terminal-block-registrar.d.ts +0 -14
- package/dist/reporting/terminal-block-registrar.d.ts.map +0 -1
- package/dist/reporting/terminal-block-registrar.js +0 -17
- package/dist/reporting/terminal-block-registrar.js.map +0 -1
- package/dist/reporting/terminal-report-markdown.d.ts +0 -13
- package/dist/reporting/terminal-report-markdown.d.ts.map +0 -1
- package/dist/reporting/terminal-report-markdown.js +0 -31
- package/dist/reporting/terminal-report-markdown.js.map +0 -1
- package/dist/research/research-pre-loop.d.ts +0 -22
- package/dist/research/research-pre-loop.d.ts.map +0 -1
- package/dist/research/research-pre-loop.js +0 -50
- package/dist/research/research-pre-loop.js.map +0 -1
- package/dist/routing/read-route-criteria.d.ts +0 -36
- package/dist/routing/read-route-criteria.d.ts.map +0 -1
- package/dist/routing/read-route-criteria.js +0 -71
- package/dist/routing/read-route-criteria.js.map +0 -1
- package/dist/stores/batch-cache.d.ts +0 -29
- package/dist/stores/batch-cache.d.ts.map +0 -1
- package/dist/stores/batch-cache.js +0 -89
- package/dist/stores/batch-cache.js.map +0 -1
- package/dist/stores/batch-registry.d.ts +0 -138
- package/dist/stores/batch-registry.d.ts.map +0 -1
- package/dist/stores/batch-registry.js +0 -205
- package/dist/stores/batch-registry.js.map +0 -1
- package/dist/tool-surface/register-all-tools.d.ts +0 -4
- package/dist/tool-surface/register-all-tools.d.ts.map +0 -1
- package/dist/tool-surface/register-all-tools.js +0 -35
- package/dist/tool-surface/register-all-tools.js.map +0 -1
- package/dist/tool-surface/tool-surface-registry.d.ts +0 -28
- package/dist/tool-surface/tool-surface-registry.d.ts.map +0 -1
- package/dist/tool-surface/tool-surface-registry.js +0 -16
- package/dist/tool-surface/tool-surface-registry.js.map +0 -1
- package/dist/tools/audit/brief-slot.d.ts +0 -15
- package/dist/tools/audit/brief-slot.d.ts.map +0 -1
- package/dist/tools/audit/brief-slot.js +0 -69
- package/dist/tools/audit/brief-slot.js.map +0 -1
- package/dist/tools/audit/implementer-criteria.d.ts +0 -62
- package/dist/tools/audit/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/audit/implementer-criteria.js +0 -121
- package/dist/tools/audit/implementer-criteria.js.map +0 -1
- package/dist/tools/audit/plan-audit-criteria.d.ts +0 -35
- package/dist/tools/audit/plan-audit-criteria.d.ts.map +0 -1
- package/dist/tools/audit/plan-audit-criteria.js +0 -159
- package/dist/tools/audit/plan-audit-criteria.js.map +0 -1
- package/dist/tools/audit/schema.d.ts +0 -61
- package/dist/tools/audit/schema.d.ts.map +0 -1
- package/dist/tools/audit/schema.js +0 -21
- package/dist/tools/audit/schema.js.map +0 -1
- package/dist/tools/audit/skill-audit-criteria.d.ts +0 -9
- package/dist/tools/audit/skill-audit-criteria.d.ts.map +0 -1
- package/dist/tools/audit/skill-audit-criteria.js +0 -52
- package/dist/tools/audit/skill-audit-criteria.js.map +0 -1
- package/dist/tools/audit/spec-audit-criteria.d.ts +0 -9
- package/dist/tools/audit/spec-audit-criteria.d.ts.map +0 -1
- package/dist/tools/audit/spec-audit-criteria.js +0 -55
- package/dist/tools/audit/spec-audit-criteria.js.map +0 -1
- package/dist/tools/audit/subtypes.d.ts +0 -4
- package/dist/tools/audit/subtypes.d.ts.map +0 -1
- package/dist/tools/audit/subtypes.js +0 -69
- package/dist/tools/audit/subtypes.js.map +0 -1
- package/dist/tools/audit/tool-config.d.ts +0 -7
- package/dist/tools/audit/tool-config.d.ts.map +0 -1
- package/dist/tools/audit/tool-config.js +0 -60
- package/dist/tools/audit/tool-config.js.map +0 -1
- package/dist/tools/criteria-types.d.ts +0 -27
- package/dist/tools/criteria-types.d.ts.map +0 -1
- package/dist/tools/criteria-types.js +0 -25
- package/dist/tools/criteria-types.js.map +0 -1
- package/dist/tools/debug/brief-slot.d.ts +0 -15
- package/dist/tools/debug/brief-slot.d.ts.map +0 -1
- package/dist/tools/debug/brief-slot.js +0 -10
- package/dist/tools/debug/brief-slot.js.map +0 -1
- package/dist/tools/debug/implementer-criteria.d.ts +0 -45
- package/dist/tools/debug/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/debug/implementer-criteria.js +0 -97
- package/dist/tools/debug/implementer-criteria.js.map +0 -1
- package/dist/tools/debug/schema.d.ts +0 -60
- package/dist/tools/debug/schema.d.ts.map +0 -1
- package/dist/tools/debug/schema.js +0 -17
- package/dist/tools/debug/schema.js.map +0 -1
- package/dist/tools/debug/subtypes.d.ts +0 -4
- package/dist/tools/debug/subtypes.d.ts.map +0 -1
- package/dist/tools/debug/subtypes.js +0 -26
- package/dist/tools/debug/subtypes.js.map +0 -1
- package/dist/tools/debug/tool-config.d.ts +0 -7
- package/dist/tools/debug/tool-config.d.ts.map +0 -1
- package/dist/tools/debug/tool-config.js +0 -55
- package/dist/tools/debug/tool-config.js.map +0 -1
- package/dist/tools/delegate/brief-slot.d.ts +0 -17
- package/dist/tools/delegate/brief-slot.d.ts.map +0 -1
- package/dist/tools/delegate/brief-slot.js +0 -55
- package/dist/tools/delegate/brief-slot.js.map +0 -1
- package/dist/tools/delegate/implementer-criteria.d.ts +0 -53
- package/dist/tools/delegate/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/delegate/implementer-criteria.js +0 -99
- package/dist/tools/delegate/implementer-criteria.js.map +0 -1
- package/dist/tools/delegate/schema.d.ts +0 -74
- package/dist/tools/delegate/schema.d.ts.map +0 -1
- package/dist/tools/delegate/schema.js +0 -23
- package/dist/tools/delegate/schema.js.map +0 -1
- package/dist/tools/delegate/tool-config.d.ts +0 -7
- package/dist/tools/delegate/tool-config.d.ts.map +0 -1
- package/dist/tools/delegate/tool-config.js +0 -44
- package/dist/tools/delegate/tool-config.js.map +0 -1
- package/dist/tools/execute-plan/barrel.d.ts +0 -2
- package/dist/tools/execute-plan/barrel.d.ts.map +0 -1
- package/dist/tools/execute-plan/barrel.js +0 -7
- package/dist/tools/execute-plan/barrel.js.map +0 -1
- package/dist/tools/execute-plan/brief-slot.d.ts +0 -19
- package/dist/tools/execute-plan/brief-slot.d.ts.map +0 -1
- package/dist/tools/execute-plan/brief-slot.js +0 -80
- package/dist/tools/execute-plan/brief-slot.js.map +0 -1
- package/dist/tools/execute-plan/implementer-criteria.d.ts +0 -57
- package/dist/tools/execute-plan/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/execute-plan/implementer-criteria.js +0 -108
- package/dist/tools/execute-plan/implementer-criteria.js.map +0 -1
- package/dist/tools/execute-plan/plan-extractor.d.ts +0 -21
- package/dist/tools/execute-plan/plan-extractor.d.ts.map +0 -1
- package/dist/tools/execute-plan/plan-extractor.js +0 -96
- package/dist/tools/execute-plan/plan-extractor.js.map +0 -1
- package/dist/tools/execute-plan/tool-config.d.ts +0 -68
- package/dist/tools/execute-plan/tool-config.d.ts.map +0 -1
- package/dist/tools/execute-plan/tool-config.js +0 -107
- package/dist/tools/execute-plan/tool-config.js.map +0 -1
- package/dist/tools/index.d.ts +0 -8
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -14
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/investigate/brief-slot.d.ts +0 -15
- package/dist/tools/investigate/brief-slot.d.ts.map +0 -1
- package/dist/tools/investigate/brief-slot.js +0 -9
- package/dist/tools/investigate/brief-slot.js.map +0 -1
- package/dist/tools/investigate/implementer-criteria.d.ts +0 -52
- package/dist/tools/investigate/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/investigate/implementer-criteria.js +0 -106
- package/dist/tools/investigate/implementer-criteria.js.map +0 -1
- package/dist/tools/investigate/schema.d.ts +0 -62
- package/dist/tools/investigate/schema.d.ts.map +0 -1
- package/dist/tools/investigate/schema.js +0 -13
- package/dist/tools/investigate/schema.js.map +0 -1
- package/dist/tools/investigate/subtypes.d.ts +0 -4
- package/dist/tools/investigate/subtypes.d.ts.map +0 -1
- package/dist/tools/investigate/subtypes.js +0 -26
- package/dist/tools/investigate/subtypes.js.map +0 -1
- package/dist/tools/investigate/tool-config.d.ts +0 -8
- package/dist/tools/investigate/tool-config.d.ts.map +0 -1
- package/dist/tools/investigate/tool-config.js +0 -68
- package/dist/tools/investigate/tool-config.js.map +0 -1
- package/dist/tools/journal/recall/brief-slot.d.ts +0 -7
- package/dist/tools/journal/recall/brief-slot.d.ts.map +0 -1
- package/dist/tools/journal/recall/brief-slot.js +0 -5
- package/dist/tools/journal/recall/brief-slot.js.map +0 -1
- package/dist/tools/journal/recall/implementer-criteria.d.ts +0 -9
- package/dist/tools/journal/recall/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/journal/recall/implementer-criteria.js +0 -23
- package/dist/tools/journal/recall/implementer-criteria.js.map +0 -1
- package/dist/tools/journal/recall/schema.d.ts +0 -54
- package/dist/tools/journal/recall/schema.d.ts.map +0 -1
- package/dist/tools/journal/recall/schema.js +0 -10
- package/dist/tools/journal/recall/schema.js.map +0 -1
- package/dist/tools/journal/recall/subtypes.d.ts +0 -4
- package/dist/tools/journal/recall/subtypes.d.ts.map +0 -1
- package/dist/tools/journal/recall/subtypes.js +0 -25
- package/dist/tools/journal/recall/subtypes.js.map +0 -1
- package/dist/tools/journal/recall/tool-config.d.ts +0 -8
- package/dist/tools/journal/recall/tool-config.d.ts.map +0 -1
- package/dist/tools/journal/recall/tool-config.js +0 -46
- package/dist/tools/journal/recall/tool-config.js.map +0 -1
- package/dist/tools/journal/record/brief-slot.d.ts +0 -12
- package/dist/tools/journal/record/brief-slot.d.ts.map +0 -1
- package/dist/tools/journal/record/brief-slot.js +0 -24
- package/dist/tools/journal/record/brief-slot.js.map +0 -1
- package/dist/tools/journal/record/implementer-criteria.d.ts +0 -6
- package/dist/tools/journal/record/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/journal/record/implementer-criteria.js +0 -20
- package/dist/tools/journal/record/implementer-criteria.js.map +0 -1
- package/dist/tools/journal/record/schema.d.ts +0 -55
- package/dist/tools/journal/record/schema.d.ts.map +0 -1
- package/dist/tools/journal/record/schema.js +0 -12
- package/dist/tools/journal/record/schema.js.map +0 -1
- package/dist/tools/journal/record/tool-config.d.ts +0 -7
- package/dist/tools/journal/record/tool-config.d.ts.map +0 -1
- package/dist/tools/journal/record/tool-config.js +0 -40
- package/dist/tools/journal/record/tool-config.js.map +0 -1
- package/dist/tools/read-route-prompt.d.ts +0 -113
- package/dist/tools/read-route-prompt.d.ts.map +0 -1
- package/dist/tools/read-route-prompt.js +0 -86
- package/dist/tools/read-route-prompt.js.map +0 -1
- package/dist/tools/register-context-block/schema.d.ts +0 -8
- package/dist/tools/register-context-block/schema.d.ts.map +0 -1
- package/dist/tools/register-context-block/schema.js +0 -7
- package/dist/tools/register-context-block/schema.js.map +0 -1
- package/dist/tools/register-context-block/tool-config.d.ts +0 -6
- package/dist/tools/register-context-block/tool-config.d.ts.map +0 -1
- package/dist/tools/register-context-block/tool-config.js +0 -39
- package/dist/tools/register-context-block/tool-config.js.map +0 -1
- package/dist/tools/research/brief-slot.d.ts +0 -37
- package/dist/tools/research/brief-slot.d.ts.map +0 -1
- package/dist/tools/research/brief-slot.js +0 -68
- package/dist/tools/research/brief-slot.js.map +0 -1
- package/dist/tools/research/implementer-criteria.d.ts +0 -13
- package/dist/tools/research/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/research/implementer-criteria.js +0 -109
- package/dist/tools/research/implementer-criteria.js.map +0 -1
- package/dist/tools/research/schema.d.ts +0 -11
- package/dist/tools/research/schema.d.ts.map +0 -1
- package/dist/tools/research/schema.js +0 -59
- package/dist/tools/research/schema.js.map +0 -1
- package/dist/tools/research/subtypes.d.ts +0 -4
- package/dist/tools/research/subtypes.d.ts.map +0 -1
- package/dist/tools/research/subtypes.js +0 -25
- package/dist/tools/research/subtypes.js.map +0 -1
- package/dist/tools/research/tool-config.d.ts +0 -8
- package/dist/tools/research/tool-config.d.ts.map +0 -1
- package/dist/tools/research/tool-config.js +0 -48
- package/dist/tools/research/tool-config.js.map +0 -1
- package/dist/tools/research/two-turn-driver.d.ts +0 -16
- package/dist/tools/research/two-turn-driver.d.ts.map +0 -1
- package/dist/tools/research/two-turn-driver.js +0 -41
- package/dist/tools/research/two-turn-driver.js.map +0 -1
- package/dist/tools/retry/brief-slot.d.ts +0 -7
- package/dist/tools/retry/brief-slot.d.ts.map +0 -1
- package/dist/tools/retry/brief-slot.js +0 -2
- package/dist/tools/retry/brief-slot.js.map +0 -1
- package/dist/tools/retry/schema.d.ts +0 -54
- package/dist/tools/retry/schema.d.ts.map +0 -1
- package/dist/tools/retry/schema.js +0 -12
- package/dist/tools/retry/schema.js.map +0 -1
- package/dist/tools/retry/tool-config.d.ts +0 -7
- package/dist/tools/retry/tool-config.d.ts.map +0 -1
- package/dist/tools/retry/tool-config.js +0 -84
- package/dist/tools/retry/tool-config.js.map +0 -1
- package/dist/tools/review/brief-slot.d.ts +0 -11
- package/dist/tools/review/brief-slot.d.ts.map +0 -1
- package/dist/tools/review/brief-slot.js +0 -23
- package/dist/tools/review/brief-slot.js.map +0 -1
- package/dist/tools/review/implementer-criteria.d.ts +0 -48
- package/dist/tools/review/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/review/implementer-criteria.js +0 -108
- package/dist/tools/review/implementer-criteria.js.map +0 -1
- package/dist/tools/review/schema.d.ts +0 -64
- package/dist/tools/review/schema.d.ts.map +0 -1
- package/dist/tools/review/schema.js +0 -17
- package/dist/tools/review/schema.js.map +0 -1
- package/dist/tools/review/subtypes.d.ts +0 -4
- package/dist/tools/review/subtypes.d.ts.map +0 -1
- package/dist/tools/review/subtypes.js +0 -27
- package/dist/tools/review/subtypes.js.map +0 -1
- package/dist/tools/review/tool-config.d.ts +0 -7
- package/dist/tools/review/tool-config.d.ts.map +0 -1
- package/dist/tools/review/tool-config.js +0 -94
- package/dist/tools/review/tool-config.js.map +0 -1
- package/dist/tools/shared-output.d.ts +0 -56
- package/dist/tools/shared-output.d.ts.map +0 -1
- package/dist/tools/shared-output.js +0 -33
- package/dist/tools/shared-output.js.map +0 -1
- package/dist/types/review-policy.d.ts +0 -2
- package/dist/types/review-policy.d.ts.map +0 -1
- package/dist/types/review-policy.js +0 -2
- package/dist/types/review-policy.js.map +0 -1
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
// v4.5 — Implementing stage handler.
|
|
2
|
-
// Sends the brief to the route's implementer tier via session.send,
|
|
3
|
-
// captures the pre-task HEAD SHA, and returns a StageGate<ImplementPayload>
|
|
4
|
-
// containing the worker's structured output plus prose-extracted findings.
|
|
5
|
-
import { parseWorkerOutput } from '../worker-output-contract.js';
|
|
6
|
-
import { performImplementation } from '../perform-implementation.js';
|
|
7
|
-
import { checkOutputTargets } from '../../bounded-execution/file-artifact-check.js';
|
|
8
|
-
import { spawnSync } from 'node:child_process';
|
|
9
|
-
import { join } from 'node:path';
|
|
10
|
-
const READ_ROUTES = ['audit', 'review', 'debug', 'investigate', 'explore', 'journal-recall'];
|
|
11
|
-
export function capturePreTaskState(state) {
|
|
12
|
-
// Production wires the cwd onto state.executionContext.cwd, not state.cwd —
|
|
13
|
-
// resolve the fallback (same as git-commit-handler) and persist it onto
|
|
14
|
-
// state.cwd so the downstream getRealFilesChanged() reads the real cwd
|
|
15
|
-
// instead of going inert and falling back to the worker's self-report.
|
|
16
|
-
const cwd = state.cwd ?? state.executionContext?.cwd;
|
|
17
|
-
if (!cwd)
|
|
18
|
-
return;
|
|
19
|
-
state.cwd = cwd;
|
|
20
|
-
const headResult = spawnSync('git', ['rev-parse', 'HEAD'], { cwd, encoding: 'utf8', windowsHide: true });
|
|
21
|
-
if (headResult.status !== 0)
|
|
22
|
-
return;
|
|
23
|
-
state.preTaskHeadSha = headResult.stdout.trim();
|
|
24
|
-
const lsResult = spawnSync('git', ['ls-files', '--others', '--exclude-standard'], { cwd, encoding: 'utf8', windowsHide: true });
|
|
25
|
-
if (lsResult.status !== 0) {
|
|
26
|
-
state.preTaskUntrackedFiles = new Set();
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
const relativeFiles = lsResult.stdout.split('\n').filter(line => line.length > 0);
|
|
30
|
-
state.preTaskUntrackedFiles = new Set(relativeFiles.map((rel) => join(cwd, rel)));
|
|
31
|
-
}
|
|
32
|
-
// Forward declaration — the actual parser lives in findings-parser.ts.
|
|
33
|
-
// We parse inline to keep the dependency lightweight and avoid importing
|
|
34
|
-
// the full findings-parser which may have criteria-specific logic.
|
|
35
|
-
function parseFindingsFromProse(text) {
|
|
36
|
-
if (!text || text.trim().length === 0)
|
|
37
|
-
return [];
|
|
38
|
-
const blocks = [];
|
|
39
|
-
const lines = text.split('\n');
|
|
40
|
-
let current = [];
|
|
41
|
-
for (const line of lines) {
|
|
42
|
-
if (/^## Finding \d+:/.test(line)) {
|
|
43
|
-
if (current.length > 0)
|
|
44
|
-
blocks.push(current.join('\n'));
|
|
45
|
-
current = [line];
|
|
46
|
-
}
|
|
47
|
-
else if (current.length > 0) {
|
|
48
|
-
current.push(line);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
if (current.length > 0)
|
|
52
|
-
blocks.push(current.join('\n'));
|
|
53
|
-
const findings = [];
|
|
54
|
-
const SEVERITY_VALUES = new Set(['critical', 'high', 'medium', 'low']);
|
|
55
|
-
for (const block of blocks) {
|
|
56
|
-
const claimLine = block.match(/^\s*- Claim:\s*(.+)$/im)?.[1]?.trim() ?? '';
|
|
57
|
-
if (claimLine.startsWith('[N/A]'))
|
|
58
|
-
continue;
|
|
59
|
-
const sevRaw = block.match(/^\s*- Severity:\s*(\w+)/im)?.[1]?.toLowerCase();
|
|
60
|
-
const severity = sevRaw && SEVERITY_VALUES.has(sevRaw)
|
|
61
|
-
? sevRaw
|
|
62
|
-
: 'medium';
|
|
63
|
-
const category = block.match(/^\s*- Category:\s*(\S+)/im)?.[1] ?? 'general';
|
|
64
|
-
const evidence = block.match(/^\s*- (?:Issue|Evidence):\s*(.+)$/im)?.[1]?.trim();
|
|
65
|
-
const suggestion = block.match(/^\s*- (?:Suggestion|Fix):\s*(.+)$/im)?.[1]?.trim();
|
|
66
|
-
const f = { severity, category, claim: claimLine, source: 'implementer' };
|
|
67
|
-
if (evidence)
|
|
68
|
-
f.evidence = evidence;
|
|
69
|
-
if (suggestion)
|
|
70
|
-
f.suggestion = suggestion;
|
|
71
|
-
findings.push(f);
|
|
72
|
-
}
|
|
73
|
-
return findings;
|
|
74
|
-
}
|
|
75
|
-
function defaultImplementPayload(self) {
|
|
76
|
-
return {
|
|
77
|
-
workerSelfAssessment: self,
|
|
78
|
-
summary: '',
|
|
79
|
-
filesChanged: [],
|
|
80
|
-
findings: [],
|
|
81
|
-
citations: [],
|
|
82
|
-
criteriaSucceeded: [],
|
|
83
|
-
criteriaErrors: [],
|
|
84
|
-
sourcesUsed: [],
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
function tel(t0, turn, stop) {
|
|
88
|
-
return {
|
|
89
|
-
stageLabel: 'implement',
|
|
90
|
-
durationMs: Date.now() - t0,
|
|
91
|
-
costUSD: turn.costUSD ?? null,
|
|
92
|
-
turnsUsed: turn.turnsUsed ?? 0,
|
|
93
|
-
stopReason: stop,
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
export async function implementHandler(state) {
|
|
97
|
-
const t0 = Date.now();
|
|
98
|
-
try {
|
|
99
|
-
// Snapshot HEAD + untracked files before the worker runs — getRealFilesChanged()
|
|
100
|
-
// (terminal sealing) and the progress watchdog read these to compute the real
|
|
101
|
-
// on-disk diff since task start.
|
|
102
|
-
capturePreTaskState(state);
|
|
103
|
-
const ctx = state.executionContext;
|
|
104
|
-
if (!ctx) {
|
|
105
|
-
return {
|
|
106
|
-
outcome: 'halt',
|
|
107
|
-
comment: 'implement halted: state.executionContext not set',
|
|
108
|
-
payload: defaultImplementPayload('failed'),
|
|
109
|
-
telemetry: tel(t0, {}, 'transport_error'),
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
// v5: Call performImplementation to orchestrate read or write routes
|
|
113
|
-
// and populate state.lastRunResult.
|
|
114
|
-
await performImplementation(state);
|
|
115
|
-
const result = state.lastRunResult;
|
|
116
|
-
if (!result) {
|
|
117
|
-
return {
|
|
118
|
-
outcome: 'halt',
|
|
119
|
-
comment: 'implement halted: no result from performImplementation',
|
|
120
|
-
payload: defaultImplementPayload('failed'),
|
|
121
|
-
telemetry: tel(t0, {}, 'transport_error'),
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
// Transform lastRunResult into ImplementPayload for the stage gate.
|
|
125
|
-
// Note: parseWorkerOutput extracts filesChanged from the structured output JSON.
|
|
126
|
-
const parsed = parseWorkerOutput(result.output ?? '');
|
|
127
|
-
// Persist parsedCleanly so enrichRuntimeResult can access it
|
|
128
|
-
result.parsedCleanly = parsed.parsedCleanly;
|
|
129
|
-
const findings = [...(result.findings ?? [])];
|
|
130
|
-
const outputTargets = ctx.outputTargets ?? [];
|
|
131
|
-
if (outputTargets.length > 0) {
|
|
132
|
-
let nextId = findings.length + 1;
|
|
133
|
-
try {
|
|
134
|
-
const missing = checkOutputTargets(outputTargets);
|
|
135
|
-
if (missing.length > 0) {
|
|
136
|
-
findings.push({
|
|
137
|
-
id: `F${nextId++}`,
|
|
138
|
-
severity: 'high',
|
|
139
|
-
category: 'missing_output_targets',
|
|
140
|
-
claim: `Task declared ${missing.length} output target(s) that were not produced`,
|
|
141
|
-
evidence: `Missing paths: ${missing.join(', ')}`,
|
|
142
|
-
source: 'implementer',
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
catch (e) {
|
|
147
|
-
findings.push({
|
|
148
|
-
id: `F${nextId++}`,
|
|
149
|
-
severity: 'medium',
|
|
150
|
-
category: 'output_targets_check_failed',
|
|
151
|
-
claim: 'Output-target existence check raised an error',
|
|
152
|
-
evidence: e instanceof Error ? e.message : String(e),
|
|
153
|
-
source: 'implementer',
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
const payload = {
|
|
158
|
-
// workerSelfAssessment lookup chain matches the rest of the payload
|
|
159
|
-
// composition: prefer the runtime-level `workerStatus` (set by
|
|
160
|
-
// enrich-runtime-result on the read-route path), fall back to the
|
|
161
|
-
// structured JSON block the worker emitted (`parseWorkerOutput`),
|
|
162
|
-
// and only default to 'failed' when neither produced a value. Pre-fix,
|
|
163
|
-
// standard write tasks always read 'failed' because workerStatus is
|
|
164
|
-
// populated by enrichRuntimeResult — which runs AFTER implement-stage.
|
|
165
|
-
workerSelfAssessment: (result.workerStatus
|
|
166
|
-
?? parsed.workerSelfAssessment
|
|
167
|
-
?? 'failed'),
|
|
168
|
-
summary: parsed.summary ?? result.summary ?? '',
|
|
169
|
-
filesChanged: parsed.filesChanged ?? result.filesWritten ?? result.filesChanged ?? [],
|
|
170
|
-
findings,
|
|
171
|
-
citations: (result.citations ?? parsed.citations ?? []),
|
|
172
|
-
criteriaSucceeded: result.criteriaSucceeded ?? parsed.criteriaSucceeded ?? [],
|
|
173
|
-
criteriaErrors: result.criteriaErrors ?? parsed.criteriaErrors ?? [],
|
|
174
|
-
sourcesUsed: result.sourcesUsed ?? parsed.sourcesUsed ?? [],
|
|
175
|
-
parsedCleanly: parsed.parsedCleanly,
|
|
176
|
-
...(result.findingsOutcome !== undefined && { findingsOutcome: result.findingsOutcome }),
|
|
177
|
-
...(result.findingsOutcomeReason !== undefined && { findingsOutcomeReason: result.findingsOutcomeReason }),
|
|
178
|
-
...(result.outcomeInferred !== undefined && { outcomeInferred: result.outcomeInferred }),
|
|
179
|
-
...(result.outcomeMalformed !== undefined && { outcomeMalformed: result.outcomeMalformed }),
|
|
180
|
-
};
|
|
181
|
-
// Halt ONLY on hard worker error. 'incomplete' (worker hit a cap but
|
|
182
|
-
// still produced output) flows through to subsequent stages so the
|
|
183
|
-
// compose envelope reports the truthful incomplete state — same as
|
|
184
|
-
// the legacy executor's behavior.
|
|
185
|
-
if (result.status === 'error') {
|
|
186
|
-
return {
|
|
187
|
-
outcome: 'halt',
|
|
188
|
-
comment: `implement status: ${result.status}`,
|
|
189
|
-
payload,
|
|
190
|
-
telemetry: tel(t0, result, 'normal'),
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
return {
|
|
194
|
-
outcome: 'advance',
|
|
195
|
-
payload,
|
|
196
|
-
telemetry: tel(t0, result, 'normal'),
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
catch (err) {
|
|
200
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
201
|
-
return {
|
|
202
|
-
outcome: 'halt',
|
|
203
|
-
comment: `implement crashed: ${msg}`,
|
|
204
|
-
payload: defaultImplementPayload('failed'),
|
|
205
|
-
telemetry: {
|
|
206
|
-
stageLabel: 'implement',
|
|
207
|
-
durationMs: Date.now() - t0,
|
|
208
|
-
costUSD: null,
|
|
209
|
-
turnsUsed: 0,
|
|
210
|
-
stopReason: 'transport_error',
|
|
211
|
-
},
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
// v4-compat shim: tests/helpers/bootstrap.ts and a few other call sites use
|
|
216
|
-
// `new TaskExecutor(emitter)` and `executor.handler.bind(executor)`. The v5
|
|
217
|
-
// stage handler is the bare `implementHandler` function above. This class
|
|
218
|
-
// preserves the test-fixture contract while delegating to the v5 handler.
|
|
219
|
-
export class TaskExecutor {
|
|
220
|
-
_emitter;
|
|
221
|
-
constructor(_emitter) {
|
|
222
|
-
this._emitter = _emitter;
|
|
223
|
-
}
|
|
224
|
-
handler = async (state) => {
|
|
225
|
-
await implementHandler(state);
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
//# sourceMappingURL=implement-stage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"implement-stage.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/implement-stage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"journal-review-prompt.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/journal-review-prompt.ts"],"names":[],"mappings":"AA2BA,wBAAgB,mBAAmB,CAAC,GAAG,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CA2BhI"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
// Dedicated cross-agent review for the journal-record write route. Its
|
|
2
|
-
// "diff" is markdown ADR nodes under .mmagent/journal/, NOT source code, so
|
|
3
|
-
// the generic spec/quality code-review prompts mis-fit (they can produce a
|
|
4
|
-
// degenerate `changes_required` with no findings). This validates the NODE on
|
|
5
|
-
// its own terms. Output format is identical to the quality reviewer so
|
|
6
|
-
// parse-review-report.ts parses it unchanged.
|
|
7
|
-
const OUTPUT_FORMAT = `Output format (mandatory):
|
|
8
|
-
|
|
9
|
-
## Verdict
|
|
10
|
-
approved | changes_required
|
|
11
|
-
|
|
12
|
-
## Finding N: <one-line claim for this finding>
|
|
13
|
-
- Severity: critical | high | medium | low
|
|
14
|
-
- Category: frontmatter | edges | schema | confinement | dedup | content
|
|
15
|
-
- Evidence: <quote the offending frontmatter / line>
|
|
16
|
-
- Suggestion: <specific, actionable fix>
|
|
17
|
-
|
|
18
|
-
## Outcome
|
|
19
|
-
found | clean
|
|
20
|
-
|
|
21
|
-
Rules:
|
|
22
|
-
- "approved" when the node is well-formed and faithfully records the learning. Minor wording is NOT a blocker.
|
|
23
|
-
- "changes_required" ONLY for real schema/correctness problems below — and when you do, you MUST enumerate at least one ## Finding. Never return changes_required with no findings.
|
|
24
|
-
- If approved: write "## Verdict\\napproved", omit the ## Finding sections, then "## Outcome\\nclean".
|
|
25
|
-
- Read-only investigation; do NOT use editor tools.`;
|
|
26
|
-
export function journalReviewPrompt(ctx) {
|
|
27
|
-
const diffContent = ctx.diff && ctx.diff.trim() ? ctx.diff : '(no diff available)';
|
|
28
|
-
return `You are the journal reviewer. You are validating a change to a project's
|
|
29
|
-
learnings journal — markdown ADR "node" files under \`.mmagent/journal/\`, NOT
|
|
30
|
-
source code. Judge the node on its own terms; do not apply code-quality criteria.
|
|
31
|
-
|
|
32
|
-
Brief: ${ctx.brief}
|
|
33
|
-
|
|
34
|
-
Worker said: ${ctx.workerSummary}
|
|
35
|
-
|
|
36
|
-
Files changed: ${ctx.filesChanged.join(', ') || '(none)'}
|
|
37
|
-
|
|
38
|
-
Diff (authoritative — what actually changed on disk):
|
|
39
|
-
${diffContent}
|
|
40
|
-
|
|
41
|
-
Validate the node(s):
|
|
42
|
-
1. FRONTMATTER well-formed: id (zero-padded 4-digit string, e.g. "0007"), title, status ∈ {adopted, dropped, inconclusive, superseded}, tags (lowercase kebab-case), date (ISO YYYY-MM-DD), links (array of {type, target}), supersededBy (an id or null).
|
|
43
|
-
2. EDGES use only: supersedes, refines, relates, depends-on, contradicts, parent.
|
|
44
|
-
3. CONTENT: the body has "## Context" and "## Consequences" sections, coherent and faithful to the learning in the brief.
|
|
45
|
-
4. CONFINEMENT: all changed paths are under \`.mmagent/journal/\` (nodes/, index.md, log.md, schema.md). Flag any file written outside it.
|
|
46
|
-
5. DEDUP integrity: on a supersede, the superseded node's status is "superseded" with supersededBy set; index.md gained the row and log.md gained exactly one line.
|
|
47
|
-
|
|
48
|
-
Guardrails:
|
|
49
|
-
- the diff above is ground truth — do NOT claim files are missing/untracked
|
|
50
|
-
- this is markdown/docs, not code — judge the node's correctness, not code style
|
|
51
|
-
|
|
52
|
-
${OUTPUT_FORMAT}`;
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=journal-review-prompt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"journal-review-prompt.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/journal-review-prompt.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,4EAA4E;AAC5E,2EAA2E;AAC3E,8EAA8E;AAC9E,uEAAuE;AACvE,8CAA8C;AAE9C,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;oDAkB8B,CAAC;AAErD,MAAM,UAAU,mBAAmB,CAAC,GAAoF;IACtH,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACnF,OAAO;;;;SAIA,GAAG,CAAC,KAAK;;eAEH,GAAG,CAAC,aAAa;;iBAEf,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ;;;EAGtD,WAAW;;;;;;;;;;;;;EAaX,aAAa,EAAE,CAAC;AAClB,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { FindingsOutcomeKind } from '../../reporting/findings-outcome.js';
|
|
2
|
-
export interface ParsedReviewReport {
|
|
3
|
-
verdict: 'approved' | 'changes_required';
|
|
4
|
-
findings: Array<{
|
|
5
|
-
severity: 'critical' | 'high' | 'medium' | 'low';
|
|
6
|
-
category: string;
|
|
7
|
-
claim: string;
|
|
8
|
-
evidence?: string;
|
|
9
|
-
suggestion?: string;
|
|
10
|
-
}>;
|
|
11
|
-
}
|
|
12
|
-
type WarnSink = (event: string, data: Record<string, unknown>) => void;
|
|
13
|
-
export declare function parseReviewReport(text: string, legalOutcomes?: readonly FindingsOutcomeKind[], warnSink?: WarnSink): ParsedReviewReport;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=parse-review-report.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-review-report.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/parse-review-report.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,UAAU,GAAG,kBAAkB,CAAC;IACzC,QAAQ,EAAE,KAAK,CAAC;QACd,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;QACjD,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAKD,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAEvE,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,aAAa,GAAE,SAAS,mBAAmB,EAAyC,EACpF,QAAQ,CAAC,EAAE,QAAQ,GAClB,kBAAkB,CAsCpB"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { parseFindings } from '../findings-parser.js';
|
|
2
|
-
const VERDICT_HEADER = /^##\s*verdict\s*$/im;
|
|
3
|
-
const FINDINGS_HEADER = /^##\s*findings\s*$/im;
|
|
4
|
-
export function parseReviewReport(text, legalOutcomes = ['found', 'clean', 'not_applicable'], warnSink) {
|
|
5
|
-
const safe = (text ?? '').toString();
|
|
6
|
-
const verdictMatch = safe.match(VERDICT_HEADER);
|
|
7
|
-
const findingsMatch = safe.match(FINDINGS_HEADER);
|
|
8
|
-
let verdict = 'changes_required';
|
|
9
|
-
if (verdictMatch) {
|
|
10
|
-
const after = safe.slice(verdictMatch.index + verdictMatch[0].length);
|
|
11
|
-
const firstLine = after.split('\n').map(s => s.trim()).find(s => s.length > 0) ?? '';
|
|
12
|
-
if (/approved/i.test(firstLine) && !/changes/i.test(firstLine)) {
|
|
13
|
-
verdict = 'approved';
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
else if (/\bapproved\b/i.test(safe) && !/changes[\s_-]?required/i.test(safe)) {
|
|
17
|
-
verdict = 'approved';
|
|
18
|
-
}
|
|
19
|
-
// Delegate finding extraction to the canonical parseFindings parser.
|
|
20
|
-
// parseFindings is imported from lifecycle/findings-parser and handles the
|
|
21
|
-
// ## Finding N: block format with severity/category/claim/evidence/suggestion.
|
|
22
|
-
const findingsSection = findingsMatch
|
|
23
|
-
? safe.slice(findingsMatch.index + findingsMatch[0].length)
|
|
24
|
-
: '';
|
|
25
|
-
const result = parseFindings(findingsSection, 'reviewer', legalOutcomes, warnSink);
|
|
26
|
-
const findings = result.findings;
|
|
27
|
-
// Severity-gated verdict override. The reviewer prompt is explicit that
|
|
28
|
-
// "approved" means ship-able and that medium/low findings are nice-to-fix,
|
|
29
|
-
// not blockers (see lifecycle/handlers/quality-review-prompt.ts:23-24). A blanket
|
|
30
|
-
// "any finding flips approved → changes_required" rule contradicted that
|
|
31
|
-
// contract and triggered a full rework cycle for a single low-severity
|
|
32
|
-
// nit. Only critical/high findings are blockers, matching the ladder the
|
|
33
|
-
// LLM was instructed to use.
|
|
34
|
-
if (verdict === 'approved'
|
|
35
|
-
&& findings.some(f => f.severity === 'critical' || f.severity === 'high')) {
|
|
36
|
-
verdict = 'changes_required';
|
|
37
|
-
}
|
|
38
|
-
return { verdict, findings };
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=parse-review-report.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-review-report.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/parse-review-report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AActD,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAC7C,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAI/C,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,gBAAgD,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,EACpF,QAAmB;IAEnB,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAElD,IAAI,OAAO,GAAoC,kBAAkB,CAAC;IAClE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrF,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/D,OAAO,GAAG,UAAU,CAAC;QACvB,CAAC;IACH,CAAC;SAAM,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/E,OAAO,GAAG,UAAU,CAAC;IACvB,CAAC;IAED,qEAAqE;IACrE,2EAA2E;IAC3E,+EAA+E;IAC/E,MAAM,eAAe,GAAG,aAAa;QACnC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG,aAAa,CAAC,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEjC,wEAAwE;IACxE,2EAA2E;IAC3E,kFAAkF;IAClF,yEAAyE;IACzE,uEAAuE;IACvE,yEAAyE;IACzE,6BAA6B;IAC7B,IAAI,OAAO,KAAK,UAAU;WACnB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,CAAC;QAC9E,OAAO,GAAG,kBAAkB,CAAC;IAC/B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { LifecycleState } from '../stage-plan-types.js';
|
|
2
|
-
import type { StageGate } from '../stage-io.js';
|
|
3
|
-
/**
|
|
4
|
-
* Stage handler: row 2.5 — prepare_execution_context.
|
|
5
|
-
*
|
|
6
|
-
* Seeding: populates state.task, state.reviewPolicy, state.diffTracker.
|
|
7
|
-
* This handler is the canonical "state was set up correctly" acknowledgment
|
|
8
|
-
* for downstream handlers that read from these slots.
|
|
9
|
-
*
|
|
10
|
-
* §5.1 payload: null. Gate exists only for the per-stage telemetry slot.
|
|
11
|
-
*/
|
|
12
|
-
export declare function prepareExecutionContextHandler(state: LifecycleState): Promise<StageGate<null>>;
|
|
13
|
-
//# sourceMappingURL=prepare-execution-context-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-execution-context-handler.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/prepare-execution-context-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD;;;;;;;;GAQG;AACH,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CA0E1B"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { DiffTracker } from '../diff-tracker.js';
|
|
2
|
-
/**
|
|
3
|
-
* Stage handler: row 2.5 — prepare_execution_context.
|
|
4
|
-
*
|
|
5
|
-
* Seeding: populates state.task, state.reviewPolicy, state.diffTracker.
|
|
6
|
-
* This handler is the canonical "state was set up correctly" acknowledgment
|
|
7
|
-
* for downstream handlers that read from these slots.
|
|
8
|
-
*
|
|
9
|
-
* §5.1 payload: null. Gate exists only for the per-stage telemetry slot.
|
|
10
|
-
*/
|
|
11
|
-
export async function prepareExecutionContextHandler(state) {
|
|
12
|
-
const t0 = Date.now();
|
|
13
|
-
try {
|
|
14
|
-
// Fallback: if rawRequest carries a TaskSpec[] and state.task is empty,
|
|
15
|
-
// surface the first task so per-task handlers have something to read.
|
|
16
|
-
if (!state.task) {
|
|
17
|
-
const req = state.request;
|
|
18
|
-
const first = req?.tasks?.[0];
|
|
19
|
-
if (first)
|
|
20
|
-
state.task = first;
|
|
21
|
-
}
|
|
22
|
-
// #45 Step 7e: per-task reviewPolicy lives on TaskSpec, not on rawRequest's
|
|
23
|
-
// top-level. Override state.reviewPolicy from state.task when present so
|
|
24
|
-
// the per-row runConditions (gating spec/quality/diff chains) see the
|
|
25
|
-
// right value.
|
|
26
|
-
const task = state.task;
|
|
27
|
-
if (task?.reviewPolicy) {
|
|
28
|
-
state.reviewPolicy = task.reviewPolicy;
|
|
29
|
-
}
|
|
30
|
-
// Tool sweep #6: snapshot the worker's declared filePaths BEFORE the
|
|
31
|
-
// implementer runs so reviewer stages can produce a cumulative diff
|
|
32
|
-
// against the pre-task baseline. Skip read-only routes (audit / review
|
|
33
|
-
// / verify / debug / investigate / explore) — they don't write files
|
|
34
|
-
// by sandbox policy, so a tracker would just be empty noise.
|
|
35
|
-
if (!state.diffTracker && task && state.toolCategory !== 'read_only') {
|
|
36
|
-
const cwd = task.cwd;
|
|
37
|
-
const filePaths = Array.isArray(task.filePaths) ? task.filePaths : [];
|
|
38
|
-
if (cwd && filePaths.length > 0) {
|
|
39
|
-
const tracker = new DiffTracker(cwd);
|
|
40
|
-
try {
|
|
41
|
-
await tracker.snapshot(filePaths);
|
|
42
|
-
state.diffTracker = tracker;
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
// Snapshot failures (permission, unreadable) shouldn't block the
|
|
46
|
-
// task. Reviewer just sees an empty diff and falls back to the
|
|
47
|
-
// worker-output-only path — degraded but not broken.
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
outcome: 'advance',
|
|
53
|
-
payload: null,
|
|
54
|
-
telemetry: {
|
|
55
|
-
stageLabel: 'prepare',
|
|
56
|
-
durationMs: Date.now() - t0,
|
|
57
|
-
costUSD: 0,
|
|
58
|
-
turnsUsed: 0,
|
|
59
|
-
stopReason: 'normal',
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
catch (err) {
|
|
64
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
65
|
-
const comment = /brief schema|invalid brief/i.test(msg) ? `brief_invalid: ${msg}` :
|
|
66
|
-
/workspace|traversal|sandbox/i.test(msg) ? `workspace_violation: ${msg}` :
|
|
67
|
-
/context_block|missing/i.test(msg) ? `context_block_missing: ${msg}` :
|
|
68
|
-
`prepare_failed: ${msg}`;
|
|
69
|
-
return {
|
|
70
|
-
outcome: 'halt',
|
|
71
|
-
comment,
|
|
72
|
-
payload: null,
|
|
73
|
-
telemetry: {
|
|
74
|
-
stageLabel: 'prepare',
|
|
75
|
-
durationMs: Date.now() - t0,
|
|
76
|
-
costUSD: 0,
|
|
77
|
-
turnsUsed: 0,
|
|
78
|
-
stopReason: 'transport_error',
|
|
79
|
-
},
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=prepare-execution-context-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-execution-context-handler.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/prepare-execution-context-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"quality-review-prompt.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/quality-review-prompt.ts"],"names":[],"mappings":"AA+BA,wBAAgB,mBAAmB,CAAC,GAAG,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAkBhI"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
const OUTPUT_FORMAT = `Output format (mandatory):
|
|
2
|
-
|
|
3
|
-
## Verdict
|
|
4
|
-
approved | changes_required
|
|
5
|
-
|
|
6
|
-
## Finding N: <one-line claim for this finding>
|
|
7
|
-
- Severity: critical | high | medium | low
|
|
8
|
-
- Category: <category name>
|
|
9
|
-
- Evidence: <one concrete symptom or risk — quote source line or describe observable bad behaviour>
|
|
10
|
-
- Suggestion: <specific, actionable fix — not a general nudge>
|
|
11
|
-
|
|
12
|
-
## Finding N+1: ...
|
|
13
|
-
(omit section entirely if approved)
|
|
14
|
-
|
|
15
|
-
## Outcome
|
|
16
|
-
found | clean
|
|
17
|
-
|
|
18
|
-
Rules:
|
|
19
|
-
- "approved" when the code is safe and correct enough to ship. Style nits do NOT block.
|
|
20
|
-
- "changes_required" only for substantive risks (null-handling gap, missing error path, real edge case, security surface, etc.).
|
|
21
|
-
- Each finding must be specific enough that a rework worker can act on it without re-deriving.
|
|
22
|
-
- If approved, write "## Verdict\napproved" and omit the ## Finding sections entirely; then "## Outcome\nclean".
|
|
23
|
-
- If changes_required, write "## Outcome\nfound".
|
|
24
|
-
- Do NOT use editor tools. Read-only investigation only.
|
|
25
|
-
|
|
26
|
-
**Severity definitions (per quality-review):**
|
|
27
|
-
- **critical:** Will break in production
|
|
28
|
-
- **high:** Correctness gap in normal use
|
|
29
|
-
- **medium:** Maintainability/fragility
|
|
30
|
-
- **low:** Style`;
|
|
31
|
-
export function qualityReviewPrompt(ctx) {
|
|
32
|
-
const diffContent = ctx.diff && ctx.diff.trim() ? ctx.diff : '(no diff available)';
|
|
33
|
-
return `You are the quality reviewer for this task.
|
|
34
|
-
|
|
35
|
-
Brief: ${ctx.brief}
|
|
36
|
-
|
|
37
|
-
Worker said: ${ctx.workerSummary}
|
|
38
|
-
|
|
39
|
-
Files changed: ${ctx.filesChanged.join(', ') || '(none)'}
|
|
40
|
-
|
|
41
|
-
Diff (authoritative — what actually changed on disk):
|
|
42
|
-
${diffContent}
|
|
43
|
-
|
|
44
|
-
Guardrails:
|
|
45
|
-
- do NOT claim files missing/untracked — the diff is authoritative
|
|
46
|
-
- test status is in Worker said; don't infer skipped from diff
|
|
47
|
-
|
|
48
|
-
${OUTPUT_FORMAT}`;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=quality-review-prompt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"quality-review-prompt.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/quality-review-prompt.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6BL,CAAC;AAElB,MAAM,UAAU,mBAAmB,CAAC,GAAoF;IACtH,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACnF,OAAO;;SAEA,GAAG,CAAC,KAAK;;eAEH,GAAG,CAAC,aAAa;;iBAEf,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ;;;EAGtD,WAAW;;;;;;EAMX,aAAa,EAAE,CAAC;AAClB,CAAC"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import type { Session } from '../../types/run-result.js';
|
|
2
|
-
import { type Finding } from '../findings-parser.js';
|
|
3
|
-
import type { FindingsOutcomeKind } from '../../reporting/findings-outcome.js';
|
|
4
|
-
interface Criterion {
|
|
5
|
-
id: string;
|
|
6
|
-
title: string;
|
|
7
|
-
description: string;
|
|
8
|
-
}
|
|
9
|
-
export interface ReadRouteImplementerInput {
|
|
10
|
-
session: Session;
|
|
11
|
-
cachedPrefix: string;
|
|
12
|
-
criteria: readonly Criterion[];
|
|
13
|
-
buildSuffix: (c: Criterion) => string;
|
|
14
|
-
legalOutcomes: readonly FindingsOutcomeKind[];
|
|
15
|
-
/** Optional sink for dropped/malformed Finding warnings (parser-side).
|
|
16
|
-
* Pass an envelope-bound sink so silent parser drops become visible in
|
|
17
|
-
* validationWarnings — otherwise a worker's malformed Findings vanish
|
|
18
|
-
* without trace. Defaults to no-op (back-compat with tests). */
|
|
19
|
-
warnSink?: (event: string, data: Record<string, unknown>) => void;
|
|
20
|
-
}
|
|
21
|
-
export interface ReadRouteImplementerResult {
|
|
22
|
-
findings: Finding[];
|
|
23
|
-
criteriaErrors: {
|
|
24
|
-
criterionId: string;
|
|
25
|
-
error: string;
|
|
26
|
-
}[];
|
|
27
|
-
usage: {
|
|
28
|
-
inputTokens: number;
|
|
29
|
-
outputTokens: number;
|
|
30
|
-
cachedReadTokens: number;
|
|
31
|
-
cachedNonReadTokens: number;
|
|
32
|
-
};
|
|
33
|
-
turns: number;
|
|
34
|
-
costUSD: number | null;
|
|
35
|
-
durationMs: number;
|
|
36
|
-
/** Joined per-criterion narrative — used by downstream parsers that
|
|
37
|
-
* read raw text (annotator fallback, terminal-block renderers). */
|
|
38
|
-
synthesizedOutput: string;
|
|
39
|
-
findingsOutcome: FindingsOutcomeKind;
|
|
40
|
-
findingsOutcomeReason: string | null;
|
|
41
|
-
outcomeInferred: boolean;
|
|
42
|
-
outcomeMalformed: boolean;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Run the sequential read-route criteria loop on a single session.
|
|
46
|
-
* Prefix is sent once with the first criterion (cached after); each
|
|
47
|
-
* subsequent criterion sends only its suffix and benefits from the
|
|
48
|
-
* model's prior tool calls retained in the session.
|
|
49
|
-
*/
|
|
50
|
-
export declare function runReadRouteImplementer(input: ReadRouteImplementerInput): Promise<ReadRouteImplementerResult>;
|
|
51
|
-
export {};
|
|
52
|
-
//# sourceMappingURL=read-route-implementer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"read-route-implementer.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/read-route-implementer.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAK/E,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IAC/B,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,MAAM,CAAC;IACtC,aAAa,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC9C;;;qEAGiE;IACjE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,cAAc,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzD,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5G,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB;wEACoE;IACpE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,mBAAmB,CAAC;IACrC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,0BAA0B,CAAC,CA2FrC"}
|