@zhixuan92/multi-model-agent-core 5.1.0 → 5.2.1
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/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 +34 -11
- 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 +29 -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/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/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 +3 -17
- 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/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 +7 -118
- package/src/skills/audit/implement-plan.md +182 -0
- package/src/skills/audit/implement-skill.md +72 -0
- package/src/skills/audit/implement-spec.md +91 -0
- package/src/skills/audit/implement.md +123 -0
- package/src/skills/audit/review.md +116 -0
- package/src/skills/debug/implement.md +81 -0
- package/src/skills/debug/review.md +69 -0
- package/src/skills/delegate/implement.md +61 -0
- package/src/skills/delegate/review.md +53 -0
- package/src/skills/execute_plan/implement.md +67 -0
- package/src/skills/execute_plan/review.md +63 -0
- package/src/skills/investigate/implement.md +88 -0
- package/src/skills/investigate/review.md +71 -0
- package/src/skills/journal_recall/implement.md +60 -0
- package/src/skills/journal_recall/review.md +69 -0
- package/src/skills/journal_record/implement.md +62 -0
- package/src/skills/journal_record/review.md +65 -0
- package/src/skills/main/implement.md +25 -0
- package/src/skills/main/review.md +3 -0
- package/src/skills/research/implement.md +82 -0
- package/src/skills/research/review.md +68 -0
- package/src/skills/retry_tasks/implement.md +1 -0
- package/src/skills/retry_tasks/review.md +1 -0
- package/src/skills/review/implement.md +87 -0
- package/src/skills/review/review.md +77 -0
- 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 -28
- package/dist/lifecycle/derive-completion.d.ts.map +0 -1
- package/dist/lifecycle/derive-completion.js +0 -79
- package/dist/lifecycle/derive-completion.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-exec.d.ts +0 -62
- package/dist/lifecycle/git-exec.d.ts.map +0 -1
- package/dist/lifecycle/git-exec.js +0 -135
- package/dist/lifecycle/git-exec.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/goal-builder.d.ts +0 -35
- package/dist/lifecycle/goal-builder.d.ts.map +0 -1
- package/dist/lifecycle/goal-builder.js +0 -56
- package/dist/lifecycle/goal-builder.js.map +0 -1
- package/dist/lifecycle/goal-preconditions.d.ts +0 -21
- package/dist/lifecycle/goal-preconditions.d.ts.map +0 -1
- package/dist/lifecycle/goal-preconditions.js +0 -33
- package/dist/lifecycle/goal-preconditions.js.map +0 -1
- package/dist/lifecycle/goal-prompts.d.ts +0 -27
- package/dist/lifecycle/goal-prompts.d.ts.map +0 -1
- package/dist/lifecycle/goal-prompts.js +0 -204
- package/dist/lifecycle/goal-prompts.js.map +0 -1
- package/dist/lifecycle/goal-report.d.ts +0 -42
- package/dist/lifecycle/goal-report.d.ts.map +0 -1
- package/dist/lifecycle/goal-report.js +0 -125
- package/dist/lifecycle/goal-report.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 -387
- 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/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/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/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 -61
- package/dist/lifecycle/handlers/prepare-execution-context-handler.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-fix-stage.d.ts +0 -9
- package/dist/lifecycle/handlers/review-fix-stage.d.ts.map +0 -1
- package/dist/lifecycle/handlers/review-fix-stage.js +0 -75
- package/dist/lifecycle/handlers/review-fix-stage.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 -339
- package/dist/lifecycle/handlers/terminal-handlers.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/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 -134
- package/dist/lifecycle/stage-io.d.ts.map +0 -1
- package/dist/lifecycle/stage-io.js +0 -9
- 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 -157
- 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 -365
- 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 -334
- 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/lifecycle/write-goal-lock.d.ts +0 -29
- package/dist/lifecycle/write-goal-lock.d.ts.map +0 -1
- package/dist/lifecycle/write-goal-lock.js +0 -70
- package/dist/lifecycle/write-goal-lock.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 -20
- package/dist/tools/delegate/brief-slot.d.ts.map +0 -1
- package/dist/tools/delegate/brief-slot.js +0 -31
- 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 -70
- package/dist/tools/delegate/schema.d.ts.map +0 -1
- package/dist/tools/delegate/schema.js +0 -24
- 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 -47
- 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 -25
- package/dist/tools/execute-plan/brief-slot.d.ts.map +0 -1
- package/dist/tools/execute-plan/brief-slot.js +0 -124
- 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 -58
- 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 -15
- package/dist/tools/journal/record/brief-slot.d.ts.map +0 -1
- package/dist/tools/journal/record/brief-slot.js +0 -28
- 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 -47
- 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 -3
- package/dist/tools/retry/brief-slot.js.map +0 -1
- package/dist/tools/retry/schema.d.ts +0 -53
- 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 -79
- 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"goal-prompts.js","sourceRoot":"","sources":["../../src/lifecycle/goal-prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import type { Goal } from '../types/goal.js';
|
|
2
|
-
import type { StructuredReport } from './handlers/annotate-stage.js';
|
|
3
|
-
import type { AnnotatePayload } from './stage-io.js';
|
|
4
|
-
export interface ParsedTaskSummary {
|
|
5
|
-
task: number;
|
|
6
|
-
heading?: string;
|
|
7
|
-
filesChanged?: string[];
|
|
8
|
-
status?: 'done' | 'failed' | 'skipped';
|
|
9
|
-
note?: string;
|
|
10
|
-
}
|
|
11
|
-
export interface ParsedGoalSummary {
|
|
12
|
-
tasks: ParsedTaskSummary[];
|
|
13
|
-
overall?: string;
|
|
14
|
-
findings?: Array<{
|
|
15
|
-
severity?: string;
|
|
16
|
-
category?: string;
|
|
17
|
-
claim?: string;
|
|
18
|
-
note?: string;
|
|
19
|
-
}>;
|
|
20
|
-
}
|
|
21
|
-
/** Extract the final fenced ```json block and parse the structured summary. */
|
|
22
|
-
export declare function parseGoalSummary(output: string): ParsedGoalSummary | null;
|
|
23
|
-
/** Parse the `[task N]` prefix from a commit subject. */
|
|
24
|
-
export declare function taskNumberFromSubject(subject: string): number | null;
|
|
25
|
-
export interface GoalReportInput {
|
|
26
|
-
goal: Goal;
|
|
27
|
-
baseSha: string;
|
|
28
|
-
phase1Output: string;
|
|
29
|
-
phase2Output?: string;
|
|
30
|
-
}
|
|
31
|
-
export interface GoalReportResult {
|
|
32
|
-
report: StructuredReport;
|
|
33
|
-
payload: AnnotatePayload;
|
|
34
|
-
/** Whether at least one commit landed (drives failed vs done). */
|
|
35
|
-
commitCount: number;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Build the deterministic goal report from git state + phase summaries.
|
|
39
|
-
* Pure-ish: only reads git; never writes.
|
|
40
|
-
*/
|
|
41
|
-
export declare function buildGoalReport(input: GoalReportInput): Promise<GoalReportResult>;
|
|
42
|
-
//# sourceMappingURL=goal-report.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"goal-report.d.ts","sourceRoot":"","sources":["../../src/lifecycle/goal-report.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AAE9D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3F;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAczE;AAED,yDAAyD;AACzD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGpE;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuGvF"}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { gitLogCommits, currentHead, isAncestor } from './git-exec.js';
|
|
2
|
-
/** Extract the final fenced ```json block and parse the structured summary. */
|
|
3
|
-
export function parseGoalSummary(output) {
|
|
4
|
-
if (!output)
|
|
5
|
-
return null;
|
|
6
|
-
// Prefer the LAST fenced json block (the agent ends with it).
|
|
7
|
-
const matches = [...output.matchAll(/```(?:json)?\s*\n([\s\S]*?)\n```/gi)];
|
|
8
|
-
const candidates = matches.map((m) => m[1]).filter((s) => !!s);
|
|
9
|
-
for (let i = candidates.length - 1; i >= 0; i--) {
|
|
10
|
-
try {
|
|
11
|
-
const parsed = JSON.parse(candidates[i]);
|
|
12
|
-
if (parsed && typeof parsed === 'object' && Array.isArray(parsed.tasks)) {
|
|
13
|
-
return parsed;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
catch { /* try the next-earlier block */ }
|
|
17
|
-
}
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
/** Parse the `[task N]` prefix from a commit subject. */
|
|
21
|
-
export function taskNumberFromSubject(subject) {
|
|
22
|
-
const m = subject.match(/^\[task (\d+)\]/);
|
|
23
|
-
return m ? Number.parseInt(m[1], 10) : null;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Build the deterministic goal report from git state + phase summaries.
|
|
27
|
-
* Pure-ish: only reads git; never writes.
|
|
28
|
-
*/
|
|
29
|
-
export async function buildGoalReport(input) {
|
|
30
|
-
const { goal, baseSha } = input;
|
|
31
|
-
const cwd = goal.cwd;
|
|
32
|
-
const head = (await currentHead(cwd)) ?? baseSha;
|
|
33
|
-
const commits = await gitLogCommits(cwd, baseSha);
|
|
34
|
-
const taskCount = goal.tasks.length;
|
|
35
|
-
const findings = [];
|
|
36
|
-
const pushFinding = (severity, category, claim, extra) => {
|
|
37
|
-
findings.push({ severity, category, claim, source: 'implementer', ...extra });
|
|
38
|
-
};
|
|
39
|
-
// Match commits → tasks via [task N] prefix.
|
|
40
|
-
const matchedTasks = new Set();
|
|
41
|
-
const filesChangedSet = new Set();
|
|
42
|
-
for (const c of commits) {
|
|
43
|
-
for (const f of c.filesChanged)
|
|
44
|
-
filesChangedSet.add(f);
|
|
45
|
-
const n = taskNumberFromSubject(c.subject);
|
|
46
|
-
if (n !== null)
|
|
47
|
-
matchedTasks.add(n);
|
|
48
|
-
}
|
|
49
|
-
// History-rewrite guard: baseSha must still be an ancestor of HEAD (a rewrite
|
|
50
|
-
// makes per-task attribution unreliable).
|
|
51
|
-
const historyRewritten = !(await isAncestor(cwd, baseSha, head));
|
|
52
|
-
// Final per-task state. The CALLER only wants to know: is each task done, and
|
|
53
|
-
// if not, what's the problem — NOT the in-between (which tier did what). A task
|
|
54
|
-
// is DONE when it has a [task N] commit AND its final self-reported status
|
|
55
|
-
// (phase-2 over phase-1 — the end state) is not failed/skipped.
|
|
56
|
-
const p1 = parseGoalSummary(input.phase1Output);
|
|
57
|
-
const p2 = input.phase2Output ? parseGoalSummary(input.phase2Output) : null;
|
|
58
|
-
const statusByTask = new Map();
|
|
59
|
-
const noteByTask = new Map();
|
|
60
|
-
for (const t of [...(p1?.tasks ?? []), ...(p2?.tasks ?? [])]) {
|
|
61
|
-
if (t.status)
|
|
62
|
-
statusByTask.set(t.task, t.status); // later (phase-2) wins
|
|
63
|
-
if (t.note && t.note.trim())
|
|
64
|
-
noteByTask.set(t.task, t.note.trim());
|
|
65
|
-
}
|
|
66
|
-
const notDone = [];
|
|
67
|
-
for (const t of goal.tasks) {
|
|
68
|
-
const committed = matchedTasks.has(t.n);
|
|
69
|
-
const status = statusByTask.get(t.n);
|
|
70
|
-
if (!committed) {
|
|
71
|
-
notDone.push({ n: t.n, heading: t.heading, reason: 'no commit recorded for this task' });
|
|
72
|
-
}
|
|
73
|
-
else if (status === 'failed' || status === 'skipped') {
|
|
74
|
-
const note = noteByTask.get(t.n);
|
|
75
|
-
notDone.push({ n: t.n, heading: t.heading, reason: `reported ${status}${note ? `: ${note}` : ''}` });
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
// findings = ONLY the final-state problems the caller needs to act on. No
|
|
79
|
-
// intermediate review notes, no "the reviewer fixed X" — just: not-done tasks.
|
|
80
|
-
for (const nd of notDone) {
|
|
81
|
-
pushFinding('high', 'task_not_done', `task ${nd.n} (${nd.heading}) NOT done — ${nd.reason}`);
|
|
82
|
-
}
|
|
83
|
-
if (historyRewritten) {
|
|
84
|
-
pushFinding('high', 'history_rewritten', 'git history was rewritten below the goal-set start commit — per-task attribution is unreliable');
|
|
85
|
-
}
|
|
86
|
-
const filesChanged = [...filesChangedSet];
|
|
87
|
-
const lastCommit = commits[commits.length - 1];
|
|
88
|
-
const doneCount = taskCount - notDone.length;
|
|
89
|
-
const allDone = notDone.length === 0 && commits.length > 0 && !historyRewritten;
|
|
90
|
-
// One clean answer for the main agent: are all tasks done, or which are not + why.
|
|
91
|
-
const summary = commits.length === 0
|
|
92
|
-
? 'No tasks completed — nothing was committed.'
|
|
93
|
-
: allDone
|
|
94
|
-
? `All ${taskCount} task(s) done and committed.`
|
|
95
|
-
: `${doneCount}/${taskCount} task(s) done. Not done: `
|
|
96
|
-
+ notDone.map((nd) => `task ${nd.n} (${nd.reason})`).join('; ')
|
|
97
|
-
+ (historyRewritten ? '; history was rewritten' : '') + '.';
|
|
98
|
-
const workerStatus = commits.length === 0 ? 'failed' : allDone ? 'done' : 'done_with_concerns';
|
|
99
|
-
const report = {
|
|
100
|
-
summary,
|
|
101
|
-
workerStatus,
|
|
102
|
-
unresolved: notDone.map((nd) => `task ${nd.n} (${nd.heading}): ${nd.reason}`),
|
|
103
|
-
filesChanged,
|
|
104
|
-
// The intermediate review process is deliberately NOT surfaced to the caller.
|
|
105
|
-
reviewVerdict: null,
|
|
106
|
-
reviewConcerns: [],
|
|
107
|
-
reworkApplied: false,
|
|
108
|
-
commitSha: commits.length > 0 ? head : null,
|
|
109
|
-
commitMessage: lastCommit ? lastCommit.subject : null,
|
|
110
|
-
commitSkipReason: commits.length === 0 ? 'no_commits' : null,
|
|
111
|
-
findings: findings.map((f) => ({ severity: f.severity, category: f.category, claim: f.claim, ...(f.evidence && { evidence: f.evidence }), ...(f.suggestion && { suggestion: f.suggestion }) })),
|
|
112
|
-
criteriaErrors: [],
|
|
113
|
-
findingsOutcome: notDone.length > 0 || historyRewritten ? 'found' : 'clean',
|
|
114
|
-
};
|
|
115
|
-
const payload = {
|
|
116
|
-
completed: allDone,
|
|
117
|
-
message: summary,
|
|
118
|
-
findings,
|
|
119
|
-
summary,
|
|
120
|
-
filesChanged,
|
|
121
|
-
commitSha: commits.length > 0 ? head : null,
|
|
122
|
-
};
|
|
123
|
-
return { report, payload, commitCount: commits.length };
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=goal-report.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"goal-report.js","sourceRoot":"","sources":["../../src/lifecycle/goal-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { LifecycleState } from '../stage-plan-types.js';
|
|
2
|
-
import { type ResearchSourcesUsedEntry } from '../../reporting/report-parser-slots/research-report.js';
|
|
3
|
-
import type { AnnotatePayload, StageGate } from '../stage-io.js';
|
|
4
|
-
export interface StructuredReport {
|
|
5
|
-
summary: string;
|
|
6
|
-
workerStatus: 'done' | 'done_with_concerns' | 'blocked' | 'failed';
|
|
7
|
-
unresolved: string[];
|
|
8
|
-
filesChanged: string[];
|
|
9
|
-
reviewVerdict: 'approved' | 'changes_required' | null;
|
|
10
|
-
reviewConcerns: string[];
|
|
11
|
-
reworkApplied: boolean;
|
|
12
|
-
commitSha: string | null;
|
|
13
|
-
commitMessage: string | null;
|
|
14
|
-
commitSkipReason: string | null;
|
|
15
|
-
findings: {
|
|
16
|
-
severity: string;
|
|
17
|
-
category: string;
|
|
18
|
-
claim: string;
|
|
19
|
-
evidence?: string;
|
|
20
|
-
suggestion?: string;
|
|
21
|
-
}[];
|
|
22
|
-
criteriaErrors: {
|
|
23
|
-
criterionId: string;
|
|
24
|
-
error: string;
|
|
25
|
-
}[];
|
|
26
|
-
/** Research-only: parsed `## Sources used` markdown table. Absent on
|
|
27
|
-
* every other route (audit/review/debug/investigate/write routes). */
|
|
28
|
-
sourcesUsed?: ResearchSourcesUsedEntry[];
|
|
29
|
-
findingsOutcome?: 'found' | 'clean' | 'not_applicable';
|
|
30
|
-
findingsOutcomeReason?: string | null;
|
|
31
|
-
outcomeInferred?: boolean;
|
|
32
|
-
outcomeMalformed?: boolean;
|
|
33
|
-
}
|
|
34
|
-
export declare function annotator(state: LifecycleState): Promise<StageGate<AnnotatePayload>>;
|
|
35
|
-
//# sourceMappingURL=annotate-stage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"annotate-stage.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/annotate-stage.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,wDAAwD,CAAC;AAGhE,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIjE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,UAAU,GAAG,kBAAkB,GAAG,IAAI,CAAC;IACtD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1G,cAAc,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzD;2EACuE;IACvE,WAAW,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACzC,eAAe,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAAC;IACvD,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAsV1F"}
|
|
@@ -1,387 +0,0 @@
|
|
|
1
|
-
// v4.4.x — unified Annotating stage.
|
|
2
|
-
//
|
|
3
|
-
// LLM judge layer (spec §5.7.2), NOT a pure transform: this stage fires a
|
|
4
|
-
// real LLM turn on the standard tier (see getSession('standard') below) for
|
|
5
|
-
// both read and write routes. The LLM is the PROPOSER — it may set
|
|
6
|
-
// completed/message/summary — while the deterministic parser
|
|
7
|
-
// (applyAnnotatePreconditions) is the ENFORCER and the mechanical fields
|
|
8
|
-
// (findings, filesChanged, commitSha) are always overridden from upstream
|
|
9
|
-
// gates. It judges/summarizes the worker's emitted report; it does NOT
|
|
10
|
-
// independently re-read the codebase to find defects (that is the Review
|
|
11
|
-
// stage, which is write-routes-only). Falls back to mechanical synthesis only
|
|
12
|
-
// on tier-3 prompt-budget truncation or after all transport retries fail.
|
|
13
|
-
//
|
|
14
|
-
// It assembles the canonical StructuredReport from state.lastRunResult, the
|
|
15
|
-
// Review stage's verdict + concerns, the Rework flag, and the Committing
|
|
16
|
-
// stage's outcome. Same handler for read and write routes — route-specific
|
|
17
|
-
// fields hold empty arrays / nulls on the other side so the orchestrator
|
|
18
|
-
// parses one shape.
|
|
19
|
-
import { mergeStageStats } from '../merge-stage-stats.js';
|
|
20
|
-
import { HUMAN_LABEL } from '../stage-labels.js';
|
|
21
|
-
import { parseSourcesUsed, } from '../../reporting/report-parser-slots/research-report.js';
|
|
22
|
-
import { applyAnnotatePreconditions } from '../annotate-parser.js';
|
|
23
|
-
import { annotatePromptWrite, annotatePromptRead } from '../annotate-prompts.js';
|
|
24
|
-
const READ_ROUTES = new Set(['audit', 'review', 'debug', 'investigate', 'research', 'journal-recall']);
|
|
25
|
-
export async function annotator(state) {
|
|
26
|
-
const t0 = Date.now();
|
|
27
|
-
const last = (state.lastRunResult ?? {});
|
|
28
|
-
const route = state.route;
|
|
29
|
-
const isRead = !!route && READ_ROUTES.has(route);
|
|
30
|
-
// Goal mode (write routes): the report is rebuilt deterministically from
|
|
31
|
-
// `git log baseSha..HEAD` + the phases' structured-summary blocks — no LLM
|
|
32
|
-
// judge turn, no commit gate. The agent self-committed; git is the source.
|
|
33
|
-
const goal = state.task?.goal;
|
|
34
|
-
if (goal) {
|
|
35
|
-
const baseSha = state.goalBaseSha ?? state.preTaskHeadSha;
|
|
36
|
-
const { buildGoalReport } = await import('../goal-report.js');
|
|
37
|
-
const gr = await buildGoalReport({
|
|
38
|
-
goal,
|
|
39
|
-
baseSha: baseSha ?? 'HEAD',
|
|
40
|
-
phase1Output: last.output ?? '',
|
|
41
|
-
...(state.goalPhase2Output !== undefined && { phase2Output: state.goalPhase2Output }),
|
|
42
|
-
});
|
|
43
|
-
state.structuredReport = gr.report;
|
|
44
|
-
state.annotatePayload = gr.payload;
|
|
45
|
-
// Feed the terminal seal's deriveCompletion goal branch (completion = ≥1 commit).
|
|
46
|
-
state.goalCommitCount = gr.commitCount;
|
|
47
|
-
mergeStageStats(state, 'annotating', {
|
|
48
|
-
inputTokens: 0, outputTokens: 0, cachedReadTokens: 0, cachedNonReadTokens: 0,
|
|
49
|
-
turnCount: 0, costUSD: 0, durationMs: Date.now() - t0, filesWrittenCount: 0,
|
|
50
|
-
}, { tier: null, model: null });
|
|
51
|
-
return {
|
|
52
|
-
outcome: 'advance',
|
|
53
|
-
payload: gr.payload,
|
|
54
|
-
telemetry: { stageLabel: 'annotate', durationMs: Date.now() - t0, costUSD: 0, turnsUsed: 0, stopReason: 'normal' },
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
const findings = last.findings ?? [];
|
|
58
|
-
const summary = last.summary
|
|
59
|
-
?? (isRead ? `produced ${findings.length} findings` : (last.output ?? '').slice(0, 200));
|
|
60
|
-
// Commit fields are authoritative from the commit GATE payload — the commit
|
|
61
|
-
// handler writes the SHA/message/files THERE, not into state.lastRunResult
|
|
62
|
-
// (see git-commit-handler.ts header). Sourcing them from `last` left them
|
|
63
|
-
// perpetually null on the user-facing report, and `last.filesChanged` (a
|
|
64
|
-
// repo-wide diff) leaked sibling workers' files under concurrent dispatch.
|
|
65
|
-
// The committed gate's filesChanged is this worker's own pathspec.
|
|
66
|
-
const commitGate = state.gates?.['commit'];
|
|
67
|
-
const commitPayload = (commitGate?.payload ?? null);
|
|
68
|
-
const committed = commitGate?.outcome === 'advance' && commitPayload?.kind === 'committed';
|
|
69
|
-
const report = {
|
|
70
|
-
summary,
|
|
71
|
-
workerStatus: last.workerStatus ?? (isRead ? 'done' : 'failed'),
|
|
72
|
-
unresolved: last.unresolved ?? [],
|
|
73
|
-
filesChanged: isRead ? [] : (committed ? (commitPayload?.filesChanged ?? []) : (last.filesChanged ?? [])),
|
|
74
|
-
reviewVerdict: isRead ? null : ((state.reviewVerdict) ?? null),
|
|
75
|
-
reviewConcerns: isRead ? [] : ((state.reviewConcerns) ?? []),
|
|
76
|
-
reworkApplied: isRead ? false : Boolean(state.reworkApplied),
|
|
77
|
-
commitSha: isRead ? null : (committed ? (commitPayload?.commitSha ?? null) : null),
|
|
78
|
-
commitMessage: isRead ? null : (committed ? (commitPayload?.commitMessage ?? null) : null),
|
|
79
|
-
commitSkipReason: isRead || committed ? null : (commitPayload?.kind === 'no_op' ? (commitPayload?.reason ?? null) : null),
|
|
80
|
-
findings: isRead ? findings : [],
|
|
81
|
-
criteriaErrors: isRead ? (last.criteriaErrors ?? []) : [],
|
|
82
|
-
};
|
|
83
|
-
if (route === 'research') {
|
|
84
|
-
// Prefer the deterministic table derived from the EvidencePack (threaded
|
|
85
|
-
// onto lastRunResult by perform-implementation). The worker-emitted
|
|
86
|
-
// `## Sources used` markdown is an unreliable fallback — the per-criterion
|
|
87
|
-
// synthesis loop has no designated turn that emits it.
|
|
88
|
-
const fromPack = last.sourcesUsed;
|
|
89
|
-
report.sourcesUsed = (Array.isArray(fromPack) && fromPack.length > 0)
|
|
90
|
-
? fromPack
|
|
91
|
-
: parseSourcesUsed(last.output ?? '');
|
|
92
|
-
}
|
|
93
|
-
report.findingsOutcome = last.findingsOutcome;
|
|
94
|
-
report.findingsOutcomeReason = last.findingsOutcomeReason;
|
|
95
|
-
report.outcomeInferred = last.outcomeInferred;
|
|
96
|
-
report.outcomeMalformed = last.outcomeMalformed;
|
|
97
|
-
state.structuredReport = report;
|
|
98
|
-
// v5: prompt-budget truncation per spec §14 assumption 7 + AC-30 to AC-33.
|
|
99
|
-
// Three tiers, applied progressively when config.truncateAnnotatePromptTier
|
|
100
|
-
// signals overflow:
|
|
101
|
-
// tier 1 → strip Finding.evidence
|
|
102
|
-
// tier 2 → also strip summary fields (set to '')
|
|
103
|
-
// tier 3 → fallback mode: emit deterministic AnnotatePayload with verbatim
|
|
104
|
-
// spec-text message; completed=false; findings passthrough.
|
|
105
|
-
const cfg = state.config ?? {};
|
|
106
|
-
const tier = cfg.truncateAnnotatePromptTier ?? 0;
|
|
107
|
-
const envelope = state.executionContext?.envelope;
|
|
108
|
-
const reviewGate = state.gates?.['review'];
|
|
109
|
-
const implementGate = state.gates?.['implement'];
|
|
110
|
-
const aggregatedFindings = [
|
|
111
|
-
...(last.findings ?? []),
|
|
112
|
-
...((reviewGate?.outcome === 'advance' ? reviewGate.payload?.findings : undefined) ?? []),
|
|
113
|
-
...((implementGate?.outcome === 'advance' ? implementGate.payload?.findings : undefined) ?? []),
|
|
114
|
-
];
|
|
115
|
-
// Dedupe by claim+evidence (preserve first occurrence)
|
|
116
|
-
const seen = new Set();
|
|
117
|
-
const dedupedFindings = [];
|
|
118
|
-
for (const f of aggregatedFindings) {
|
|
119
|
-
const key = `${f.claim ?? ''}|${f.evidence ?? ''}`;
|
|
120
|
-
if (seen.has(key))
|
|
121
|
-
continue;
|
|
122
|
-
seen.add(key);
|
|
123
|
-
dedupedFindings.push(f);
|
|
124
|
-
}
|
|
125
|
-
// Mechanical filesChanged + commitSha derivation (spec §5.7 rule 4).
|
|
126
|
-
// Reuses the `commitGate` resolved above.
|
|
127
|
-
const mechanicalFilesChanged = commitGate?.outcome === 'advance' &&
|
|
128
|
-
commitGate.payload?.kind === 'committed'
|
|
129
|
-
? commitGate.payload.filesChanged ?? []
|
|
130
|
-
: (isRead ? [] : report.filesChanged);
|
|
131
|
-
const mechanicalCommitSha = commitGate?.outcome === 'advance' &&
|
|
132
|
-
commitGate.payload?.kind === 'committed'
|
|
133
|
-
? (commitGate.payload.commitSha ?? null)
|
|
134
|
-
: (isRead ? null : (report.commitSha ?? null));
|
|
135
|
-
let truncatedFindings = dedupedFindings.slice();
|
|
136
|
-
let truncatedSummary = report.summary;
|
|
137
|
-
let fallbackMode = false;
|
|
138
|
-
if (tier >= 1) {
|
|
139
|
-
const droppedEvidenceCount = truncatedFindings.filter(f => f.evidence !== undefined).length;
|
|
140
|
-
truncatedFindings = truncatedFindings.map(f => {
|
|
141
|
-
const cp = { ...f };
|
|
142
|
-
delete cp.evidence;
|
|
143
|
-
return cp;
|
|
144
|
-
});
|
|
145
|
-
// Annotation truncation is now recorded as a validation warning in the envelope
|
|
146
|
-
const env = envelope;
|
|
147
|
-
env?.recordValidationWarning?.({ rule: 'AnnotateTruncationTier1', path: 'annotatePrompt' });
|
|
148
|
-
}
|
|
149
|
-
if (tier >= 2) {
|
|
150
|
-
const dropped = truncatedSummary ? 1 : 0;
|
|
151
|
-
truncatedSummary = '';
|
|
152
|
-
const env = envelope;
|
|
153
|
-
env?.recordValidationWarning?.({ rule: 'AnnotateTruncationTier2', path: 'annotatePrompt' });
|
|
154
|
-
}
|
|
155
|
-
if (tier >= 3) {
|
|
156
|
-
// Tier 3 = fallback mode per spec §5.7.3
|
|
157
|
-
fallbackMode = true;
|
|
158
|
-
const env = envelope;
|
|
159
|
-
env?.recordValidationWarning?.({ rule: 'AnnotateTruncationTier3', path: 'annotatePrompt' });
|
|
160
|
-
}
|
|
161
|
-
let annotated;
|
|
162
|
-
// LLM judge layer (spec §5.7.2). The annotator stage runs an LLM turn
|
|
163
|
-
// unless tier-3 truncation kicked us into fallback mode. The LLM is the
|
|
164
|
-
// proposer; the deterministic parser is the enforcer — applyAnnotatePreconditions
|
|
165
|
-
// always runs on the LLM-proposed payload and may flip completed=false. On
|
|
166
|
-
// transport error we fall back to mechanical synthesis (same path that ran
|
|
167
|
-
// before this layer was added).
|
|
168
|
-
let llmCostUSD = 0;
|
|
169
|
-
let llmDurationMs = 0;
|
|
170
|
-
let llmTurnsUsed = 0;
|
|
171
|
-
let llmTransportFailed = false;
|
|
172
|
-
let llmModel = null;
|
|
173
|
-
let llmInputTokens = 0;
|
|
174
|
-
let llmOutputTokens = 0;
|
|
175
|
-
let llmCachedReadTokens = 0;
|
|
176
|
-
let llmCachedNonReadTokens = 0;
|
|
177
|
-
if (fallbackMode) {
|
|
178
|
-
// Fallback findings: only gate-sourced findings flow through (gates.review,
|
|
179
|
-
// gates.implement). lastRunResult.findings are dropped as part of tier-3
|
|
180
|
-
// citation/non-gate-evidence clearing (spec §5.7.3 / AC-32).
|
|
181
|
-
const fallbackFindings = [];
|
|
182
|
-
const fbSeen = new Set();
|
|
183
|
-
const reviewFindings = (reviewGate?.outcome === 'advance' ? reviewGate.payload?.findings : undefined) ?? [];
|
|
184
|
-
const implementFindings = (implementGate?.outcome === 'advance' ? implementGate.payload?.findings : undefined) ?? [];
|
|
185
|
-
for (const f of [...reviewFindings, ...implementFindings]) {
|
|
186
|
-
const k = `${f.claim ?? ''}|${f.evidence ?? ''}`;
|
|
187
|
-
if (fbSeen.has(k))
|
|
188
|
-
continue;
|
|
189
|
-
fbSeen.add(k);
|
|
190
|
-
const cp = { ...f };
|
|
191
|
-
delete cp.evidence;
|
|
192
|
-
fallbackFindings.push(cp);
|
|
193
|
-
}
|
|
194
|
-
annotated = {
|
|
195
|
-
completed: false,
|
|
196
|
-
message: 'annotator prompt budget exceeded after tier-3 truncation; verdict computed mechanically from upstream gates',
|
|
197
|
-
findings: fallbackFindings,
|
|
198
|
-
summary: '',
|
|
199
|
-
filesChanged: mechanicalFilesChanged,
|
|
200
|
-
commitSha: mechanicalCommitSha,
|
|
201
|
-
};
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
// Default mechanical proposal — used directly when LLM fails or returns
|
|
205
|
-
// unparseable output. The parser still gets the final say either way.
|
|
206
|
-
const mechanical = {
|
|
207
|
-
completed: true,
|
|
208
|
-
message: truncatedSummary || (isRead ? 'investigation completed' : 'task completed'),
|
|
209
|
-
findings: truncatedFindings,
|
|
210
|
-
summary: truncatedSummary,
|
|
211
|
-
filesChanged: mechanicalFilesChanged,
|
|
212
|
-
commitSha: mechanicalCommitSha,
|
|
213
|
-
};
|
|
214
|
-
let proposed = mechanical;
|
|
215
|
-
const ctx = state.executionContext;
|
|
216
|
-
// Annotator runs on the standard tier; capture its model from the provider
|
|
217
|
-
// config so the wire row attributes annotate cost+tokens to the real model.
|
|
218
|
-
// TurnResult does not carry model, so (r as any).model below is undefined
|
|
219
|
-
// for every provider — without this lookup the annotate stage's model was
|
|
220
|
-
// always null on the wire even when an LLM call actually fired.
|
|
221
|
-
const annotateModelFromConfig = ctx?.providers?.['standard']?.config?.model ?? null;
|
|
222
|
-
if (ctx && typeof ctx.getSession === 'function') {
|
|
223
|
-
const prompt = isRead ? annotatePromptRead(state) : annotatePromptWrite(state);
|
|
224
|
-
const session = ctx.getSession('standard');
|
|
225
|
-
let tres;
|
|
226
|
-
const t0 = Date.now();
|
|
227
|
-
// Retry on transport errors: 3 attempts with 0s, 1s, 2s backoff (AC-19, AC-20)
|
|
228
|
-
const retryDelays = [0, 1000, 2000];
|
|
229
|
-
let lastErr;
|
|
230
|
-
// Initialize to error; will be overwritten on success or last failure
|
|
231
|
-
tres = { kind: 'transport_error', message: 'annotator transport failed', ms: 0 };
|
|
232
|
-
for (let attempt = 0; attempt < retryDelays.length; attempt++) {
|
|
233
|
-
if (attempt > 0) {
|
|
234
|
-
await new Promise(resolve => setTimeout(resolve, retryDelays[attempt]));
|
|
235
|
-
}
|
|
236
|
-
try {
|
|
237
|
-
const r = await session.send(prompt, { stageLabel: HUMAN_LABEL.annotating });
|
|
238
|
-
tres = {
|
|
239
|
-
kind: 'ok',
|
|
240
|
-
text: r.output ?? '',
|
|
241
|
-
costUSD: typeof r.costUSD === 'number' ? r.costUSD : null,
|
|
242
|
-
turnsUsed: r.turns ?? 1,
|
|
243
|
-
ms: Date.now() - t0,
|
|
244
|
-
model: r.model ?? null,
|
|
245
|
-
inputTokens: r.usage?.inputTokens ?? 0,
|
|
246
|
-
outputTokens: r.usage?.outputTokens ?? 0,
|
|
247
|
-
cachedReadTokens: r.usage?.cachedReadTokens ?? 0,
|
|
248
|
-
cachedNonReadTokens: r.usage?.cachedNonReadTokens ?? 0,
|
|
249
|
-
};
|
|
250
|
-
break; // Success, exit retry loop
|
|
251
|
-
}
|
|
252
|
-
catch (err) {
|
|
253
|
-
lastErr = err instanceof Error ? err : new Error(String(err));
|
|
254
|
-
// Update error message for next retry or final failure
|
|
255
|
-
tres = { kind: 'transport_error', message: lastErr.message, ms: Date.now() - t0 };
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
if (tres.kind === 'ok') {
|
|
259
|
-
llmCostUSD = tres.costUSD ?? 0;
|
|
260
|
-
// TurnResult does not carry model — fall back to the provider config
|
|
261
|
-
// we captured above (tres.model is undefined for every provider).
|
|
262
|
-
llmModel = tres.model ?? annotateModelFromConfig;
|
|
263
|
-
llmDurationMs = tres.ms;
|
|
264
|
-
llmTurnsUsed = tres.turnsUsed;
|
|
265
|
-
llmInputTokens = tres.inputTokens;
|
|
266
|
-
llmOutputTokens = tres.outputTokens;
|
|
267
|
-
llmCachedReadTokens = tres.cachedReadTokens;
|
|
268
|
-
llmCachedNonReadTokens = tres.cachedNonReadTokens;
|
|
269
|
-
const parsed = extractAnnotateJson(tres.text);
|
|
270
|
-
if (parsed) {
|
|
271
|
-
// Authoritative fields come from upstream gates (mechanicalFilesChanged,
|
|
272
|
-
// mechanicalCommitSha, dedupedFindings). The LLM gets to propose
|
|
273
|
-
// completed + message + summary; everything mechanical we override.
|
|
274
|
-
proposed = {
|
|
275
|
-
completed: typeof parsed.completed === 'boolean' ? parsed.completed : mechanical.completed,
|
|
276
|
-
message: typeof parsed.message === 'string' && parsed.message.length > 0 ? parsed.message : mechanical.message,
|
|
277
|
-
summary: typeof parsed.summary === 'string' ? parsed.summary : mechanical.summary,
|
|
278
|
-
findings: truncatedFindings,
|
|
279
|
-
filesChanged: mechanicalFilesChanged,
|
|
280
|
-
commitSha: mechanicalCommitSha,
|
|
281
|
-
};
|
|
282
|
-
}
|
|
283
|
-
// parsed === null → keep mechanical (parser unaffected)
|
|
284
|
-
}
|
|
285
|
-
else {
|
|
286
|
-
// transport_error — fall through to mechanical synthesis
|
|
287
|
-
llmTransportFailed = true;
|
|
288
|
-
llmDurationMs = tres.ms;
|
|
289
|
-
// Transport errors are now recorded as validation warnings
|
|
290
|
-
const env = envelope;
|
|
291
|
-
env?.recordValidationWarning?.({ rule: 'AnnotateLLMTransportError', path: 'annotatePrompt' });
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
annotated = applyAnnotatePreconditions(proposed, state);
|
|
295
|
-
}
|
|
296
|
-
state.annotatePayload = annotated;
|
|
297
|
-
mergeStageStats(state, 'annotating', {
|
|
298
|
-
inputTokens: llmInputTokens,
|
|
299
|
-
outputTokens: llmOutputTokens,
|
|
300
|
-
cachedReadTokens: llmCachedReadTokens,
|
|
301
|
-
cachedNonReadTokens: llmCachedNonReadTokens,
|
|
302
|
-
turnCount: llmTurnsUsed,
|
|
303
|
-
costUSD: llmCostUSD,
|
|
304
|
-
durationMs: Date.now() - t0,
|
|
305
|
-
filesWrittenCount: 0,
|
|
306
|
-
}, {
|
|
307
|
-
tier: llmTurnsUsed > 0 ? 'standard' : null,
|
|
308
|
-
model: llmModel,
|
|
309
|
-
// Mirror the outcome the implementer (or reviewer) computed so the
|
|
310
|
-
// annotating stage row carries the same value downstream consumers see.
|
|
311
|
-
findingsOutcome: last.findingsOutcome,
|
|
312
|
-
findingsOutcomeReason: last.findingsOutcomeReason,
|
|
313
|
-
outcomeInferred: last.outcomeInferred,
|
|
314
|
-
outcomeMalformed: last.outcomeMalformed,
|
|
315
|
-
});
|
|
316
|
-
// suppress unused-variable warning while keeping the durationMs field for
|
|
317
|
-
// diagnostics callers; mergeStageStats already captured the value above.
|
|
318
|
-
void llmDurationMs;
|
|
319
|
-
void llmTransportFailed;
|
|
320
|
-
const annotatingStats = state.lastRunResult
|
|
321
|
-
?.stageStats?.annotating;
|
|
322
|
-
if (annotatingStats) {
|
|
323
|
-
annotatingStats.outcome = 'transformed';
|
|
324
|
-
annotatingStats.maxIdleMs = 0;
|
|
325
|
-
annotatingStats.totalIdleMs = 0;
|
|
326
|
-
}
|
|
327
|
-
return {
|
|
328
|
-
outcome: 'advance',
|
|
329
|
-
payload: annotated,
|
|
330
|
-
telemetry: {
|
|
331
|
-
stageLabel: 'annotate',
|
|
332
|
-
durationMs: Date.now() - t0,
|
|
333
|
-
costUSD: llmCostUSD,
|
|
334
|
-
turnsUsed: llmTurnsUsed,
|
|
335
|
-
stopReason: 'normal',
|
|
336
|
-
},
|
|
337
|
-
};
|
|
338
|
-
}
|
|
339
|
-
/**
|
|
340
|
-
* Extract a single JSON object from the LLM's response.
|
|
341
|
-
*
|
|
342
|
-
* Accepts:
|
|
343
|
-
* - A fenced ```json …``` block (preferred form per annotate prompts)
|
|
344
|
-
* - A fenced ``` …``` block (no language tag)
|
|
345
|
-
* - The first balanced `{…}` substring in the text
|
|
346
|
-
*
|
|
347
|
-
* Returns `null` if no parseable JSON is found, signalling the caller to keep
|
|
348
|
-
* the mechanical proposal. This is intentional: a malformed LLM response
|
|
349
|
-
* should not cause stage failure — the parser already has a deterministic
|
|
350
|
-
* answer it can fall back on.
|
|
351
|
-
*/
|
|
352
|
-
function extractAnnotateJson(text) {
|
|
353
|
-
if (!text)
|
|
354
|
-
return null;
|
|
355
|
-
const fencedJson = text.match(/```(?:json)?\s*\n([\s\S]*?)\n```/i);
|
|
356
|
-
const candidate = fencedJson ? fencedJson[1] : firstBalancedBraces(text);
|
|
357
|
-
if (!candidate)
|
|
358
|
-
return null;
|
|
359
|
-
try {
|
|
360
|
-
const parsed = JSON.parse(candidate);
|
|
361
|
-
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
|
|
362
|
-
return parsed;
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
catch {
|
|
366
|
-
/* fall through */
|
|
367
|
-
}
|
|
368
|
-
return null;
|
|
369
|
-
}
|
|
370
|
-
function firstBalancedBraces(text) {
|
|
371
|
-
const start = text.indexOf('{');
|
|
372
|
-
if (start < 0)
|
|
373
|
-
return null;
|
|
374
|
-
let depth = 0;
|
|
375
|
-
for (let i = start; i < text.length; i++) {
|
|
376
|
-
const ch = text[i];
|
|
377
|
-
if (ch === '{')
|
|
378
|
-
depth++;
|
|
379
|
-
else if (ch === '}') {
|
|
380
|
-
depth--;
|
|
381
|
-
if (depth === 0)
|
|
382
|
-
return text.slice(start, i + 1);
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
return null;
|
|
386
|
-
}
|
|
387
|
-
//# sourceMappingURL=annotate-stage.js.map
|