@zhixuan92/multi-model-agent-core 4.0.2 → 4.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -6
- package/dist/bounded-execution/activity-tracker-types.d.ts +2 -2
- package/dist/bounded-execution/activity-tracker-types.d.ts.map +1 -1
- package/dist/bounded-execution/activity-tracker.d.ts +3 -3
- package/dist/bounded-execution/activity-tracker.d.ts.map +1 -1
- package/dist/bounded-execution/activity-tracker.js +15 -15
- package/dist/bounded-execution/activity-tracker.js.map +1 -1
- package/dist/config/model-profile-registry.d.ts +0 -10
- package/dist/config/model-profile-registry.d.ts.map +1 -1
- package/dist/config/model-profile-registry.js +126 -8
- package/dist/config/model-profile-registry.js.map +1 -1
- package/dist/config/schema.d.ts +0 -1
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +3 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/escalation/delegate-with-escalation.d.ts +24 -0
- package/dist/escalation/delegate-with-escalation.d.ts.map +1 -1
- package/dist/escalation/delegate-with-escalation.js +5 -0
- package/dist/escalation/delegate-with-escalation.js.map +1 -1
- package/dist/escalation/fallback-types.d.ts +1 -1
- package/dist/escalation/fallback-types.d.ts.map +1 -1
- package/dist/escalation/fallback.js +2 -2
- package/dist/escalation/fallback.js.map +1 -1
- package/dist/events/cloud-events.d.ts +3 -4
- package/dist/events/cloud-events.d.ts.map +1 -1
- package/dist/events/cloud-events.js +0 -1
- package/dist/events/cloud-events.js.map +1 -1
- package/dist/events/event-builder.d.ts +4 -2
- package/dist/events/event-builder.d.ts.map +1 -1
- package/dist/events/event-builder.js +47 -45
- package/dist/events/event-builder.js.map +1 -1
- package/dist/events/observability-events.d.ts +7 -8
- package/dist/events/observability-events.d.ts.map +1 -1
- package/dist/events/running-headline-sink.d.ts +26 -0
- package/dist/events/running-headline-sink.d.ts.map +1 -0
- package/dist/events/running-headline-sink.js +116 -0
- package/dist/events/running-headline-sink.js.map +1 -0
- package/dist/events/telemetry-types.d.ts +20 -20
- package/dist/events/telemetry-types.js +8 -8
- package/dist/events/telemetry-types.js.map +1 -1
- package/dist/events/verbose-log-channel.d.ts +22 -2
- package/dist/events/verbose-log-channel.d.ts.map +1 -1
- package/dist/events/verbose-log-channel.js +46 -9
- package/dist/events/verbose-log-channel.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/intake/brief-compiler-slots/delegate.d.ts +1 -0
- package/dist/intake/brief-compiler-slots/delegate.d.ts.map +1 -1
- package/dist/intake/brief-compiler-slots/delegate.js +17 -2
- package/dist/intake/brief-compiler-slots/delegate.js.map +1 -1
- package/dist/lifecycle/diff-tracker.d.ts +72 -0
- package/dist/lifecycle/diff-tracker.d.ts.map +1 -0
- package/dist/lifecycle/diff-tracker.js +316 -0
- package/dist/lifecycle/diff-tracker.js.map +1 -0
- package/dist/lifecycle/executor-output-types.d.ts +2 -2
- package/dist/lifecycle/executor-output-types.d.ts.map +1 -1
- package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +1 -1
- package/dist/lifecycle/handlers/baseline-handlers.js +48 -1
- package/dist/lifecycle/handlers/baseline-handlers.js.map +1 -1
- package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts +1 -1
- package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts.map +1 -1
- package/dist/lifecycle/handlers/prepare-execution-context-handler.js +23 -1
- package/dist/lifecycle/handlers/prepare-execution-context-handler.js.map +1 -1
- package/dist/lifecycle/handlers/quality-chain-handlers.d.ts.map +1 -1
- package/dist/lifecycle/handlers/quality-chain-handlers.js +177 -6
- package/dist/lifecycle/handlers/quality-chain-handlers.js.map +1 -1
- package/dist/lifecycle/handlers/review-diff-handler.d.ts.map +1 -1
- package/dist/lifecycle/handlers/review-diff-handler.js +74 -13
- package/dist/lifecycle/handlers/review-diff-handler.js.map +1 -1
- package/dist/lifecycle/handlers/run-verify-command-handler.js +11 -2
- package/dist/lifecycle/handlers/run-verify-command-handler.js.map +1 -1
- package/dist/lifecycle/handlers/spec-chain-handlers.d.ts.map +1 -1
- package/dist/lifecycle/handlers/spec-chain-handlers.js +135 -6
- package/dist/lifecycle/handlers/spec-chain-handlers.js.map +1 -1
- package/dist/lifecycle/handlers/terminal-handlers.d.ts +8 -0
- package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +1 -1
- package/dist/lifecycle/handlers/terminal-handlers.js +168 -11
- package/dist/lifecycle/handlers/terminal-handlers.js.map +1 -1
- package/dist/lifecycle/lifecycle-context.d.ts +0 -2
- package/dist/lifecycle/lifecycle-context.d.ts.map +1 -1
- package/dist/lifecycle/merge-stage-stats.d.ts +58 -0
- package/dist/lifecycle/merge-stage-stats.d.ts.map +1 -0
- package/dist/lifecycle/merge-stage-stats.js +120 -0
- package/dist/lifecycle/merge-stage-stats.js.map +1 -0
- package/dist/lifecycle/shared-compute.js +4 -4
- package/dist/lifecycle/shared-compute.js.map +1 -1
- package/dist/lifecycle/stage-plan-builder.d.ts.map +1 -1
- package/dist/lifecycle/stage-plan-builder.js +6 -0
- package/dist/lifecycle/stage-plan-builder.js.map +1 -1
- package/dist/lifecycle/stage-plan-types.d.ts +18 -0
- package/dist/lifecycle/stage-plan-types.d.ts.map +1 -1
- package/dist/lifecycle/stage-progression.d.ts +20 -0
- package/dist/lifecycle/stage-progression.d.ts.map +1 -0
- package/dist/lifecycle/stage-progression.js +165 -0
- package/dist/lifecycle/stage-progression.js.map +1 -0
- package/dist/lifecycle/task-executor.d.ts.map +1 -1
- package/dist/lifecycle/task-executor.js +55 -10
- package/dist/lifecycle/task-executor.js.map +1 -1
- package/dist/lifecycle/task-runner.d.ts +7 -3
- package/dist/lifecycle/task-runner.d.ts.map +1 -1
- package/dist/lifecycle/task-runner.js +43 -7
- package/dist/lifecycle/task-runner.js.map +1 -1
- package/dist/providers/anthropic-messages-adapter.d.ts.map +1 -1
- package/dist/providers/anthropic-messages-adapter.js +25 -1
- package/dist/providers/anthropic-messages-adapter.js.map +1 -1
- package/dist/providers/base/result-builders.d.ts +1 -1
- package/dist/providers/base/result-builders.d.ts.map +1 -1
- package/dist/providers/base/result-builders.js +4 -4
- package/dist/providers/base/result-builders.js.map +1 -1
- package/dist/providers/make-runner-shell.d.ts.map +1 -1
- package/dist/providers/make-runner-shell.js +6 -5
- package/dist/providers/make-runner-shell.js.map +1 -1
- package/dist/providers/openai-chat-adapter.d.ts +0 -2
- package/dist/providers/openai-chat-adapter.d.ts.map +1 -1
- package/dist/providers/openai-chat-adapter.js +2 -3
- package/dist/providers/openai-chat-adapter.js.map +1 -1
- package/dist/providers/openai-responses-adapter.d.ts +1 -2
- package/dist/providers/openai-responses-adapter.d.ts.map +1 -1
- package/dist/providers/openai-responses-adapter.js +67 -39
- package/dist/providers/openai-responses-adapter.js.map +1 -1
- package/dist/providers/provider-factory.d.ts.map +1 -1
- package/dist/providers/provider-factory.js +51 -9
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/providers/runner-adapter.d.ts +10 -0
- package/dist/providers/runner-adapter.d.ts.map +1 -1
- package/dist/providers/runner-shell-types.d.ts +33 -0
- package/dist/providers/runner-shell-types.d.ts.map +1 -1
- package/dist/providers/runner-shell.d.ts +10 -1
- package/dist/providers/runner-shell.d.ts.map +1 -1
- package/dist/providers/runner-shell.js +251 -18
- package/dist/providers/runner-shell.js.map +1 -1
- package/dist/providers/runner-types.d.ts +21 -2
- package/dist/providers/runner-types.d.ts.map +1 -1
- package/dist/providers/tool-name-sets.d.ts +29 -0
- package/dist/providers/tool-name-sets.d.ts.map +1 -0
- package/dist/providers/tool-name-sets.js +41 -0
- package/dist/providers/tool-name-sets.js.map +1 -0
- package/dist/reporting/headline-composer.d.ts +12 -0
- package/dist/reporting/headline-composer.d.ts.map +1 -1
- package/dist/reporting/headline-composer.js.map +1 -1
- package/dist/reporting/headline-templates/audit.d.ts.map +1 -1
- package/dist/reporting/headline-templates/audit.js +35 -6
- package/dist/reporting/headline-templates/audit.js.map +1 -1
- package/dist/reporting/headline-templates/debug.d.ts +22 -3
- package/dist/reporting/headline-templates/debug.d.ts.map +1 -1
- package/dist/reporting/headline-templates/debug.js +38 -8
- package/dist/reporting/headline-templates/debug.js.map +1 -1
- package/dist/reporting/headline-templates/delegate.d.ts.map +1 -1
- package/dist/reporting/headline-templates/delegate.js +36 -6
- package/dist/reporting/headline-templates/delegate.js.map +1 -1
- package/dist/reporting/headline-templates/execute-plan.d.ts.map +1 -1
- package/dist/reporting/headline-templates/execute-plan.js +18 -6
- package/dist/reporting/headline-templates/execute-plan.js.map +1 -1
- package/dist/reporting/headline-templates/review.d.ts.map +1 -1
- package/dist/reporting/headline-templates/review.js +32 -8
- package/dist/reporting/headline-templates/review.js.map +1 -1
- package/dist/reporting/headline-templates/verify.d.ts.map +1 -1
- package/dist/reporting/headline-templates/verify.js +23 -6
- package/dist/reporting/headline-templates/verify.js.map +1 -1
- package/dist/reporting/headline-text.d.ts +36 -0
- package/dist/reporting/headline-text.d.ts.map +1 -0
- package/dist/reporting/headline-text.js +73 -0
- package/dist/reporting/headline-text.js.map +1 -0
- package/dist/reporting/report-parser-slots/verify-report.d.ts +17 -0
- package/dist/reporting/report-parser-slots/verify-report.d.ts.map +1 -1
- package/dist/reporting/report-parser-slots/verify-report.js +45 -3
- package/dist/reporting/report-parser-slots/verify-report.js.map +1 -1
- package/dist/reporting/severity.d.ts +62 -0
- package/dist/reporting/severity.d.ts.map +1 -0
- package/dist/reporting/severity.js +93 -0
- package/dist/reporting/severity.js.map +1 -0
- package/dist/reporting/structured-report.d.ts +3 -3
- package/dist/research/explore-orchestrator.d.ts.map +1 -1
- package/dist/research/explore-orchestrator.js +4 -5
- package/dist/research/explore-orchestrator.js.map +1 -1
- package/dist/review/annotator-engine.d.ts +8 -0
- package/dist/review/annotator-engine.d.ts.map +1 -1
- package/dist/review/annotator-engine.js +7 -1
- package/dist/review/annotator-engine.js.map +1 -1
- package/dist/review/annotator-output-parser.d.ts.map +1 -1
- package/dist/review/annotator-output-parser.js +94 -14
- package/dist/review/annotator-output-parser.js.map +1 -1
- package/dist/review/annotator-prompt-builder.d.ts +20 -0
- package/dist/review/annotator-prompt-builder.d.ts.map +1 -1
- package/dist/review/annotator-prompt-builder.js +52 -1
- package/dist/review/annotator-prompt-builder.js.map +1 -1
- package/dist/review/review-types.d.ts +6 -2
- package/dist/review/review-types.d.ts.map +1 -1
- package/dist/review/reviewer-engine.d.ts +25 -0
- package/dist/review/reviewer-engine.d.ts.map +1 -1
- package/dist/review/reviewer-engine.js +18 -1
- package/dist/review/reviewer-engine.js.map +1 -1
- package/dist/review/reviewer-output-parser.d.ts.map +1 -1
- package/dist/review/reviewer-output-parser.js +190 -13
- package/dist/review/reviewer-output-parser.js.map +1 -1
- package/dist/review/reviewer-prompt-builder.d.ts +4 -12
- package/dist/review/reviewer-prompt-builder.d.ts.map +1 -1
- package/dist/review/reviewer-prompt-builder.js.map +1 -1
- package/dist/review/templates/diff-review.d.ts +8 -0
- package/dist/review/templates/diff-review.d.ts.map +1 -1
- package/dist/review/templates/diff-review.js +34 -2
- package/dist/review/templates/diff-review.js.map +1 -1
- package/dist/review/templates/finding-criteria.d.ts +39 -0
- package/dist/review/templates/finding-criteria.d.ts.map +1 -0
- package/dist/review/templates/finding-criteria.js +80 -0
- package/dist/review/templates/finding-criteria.js.map +1 -0
- package/dist/review/templates/quality-review-artifact.d.ts +13 -0
- package/dist/review/templates/quality-review-artifact.d.ts.map +1 -1
- package/dist/review/templates/quality-review-artifact.js +41 -3
- package/dist/review/templates/quality-review-artifact.js.map +1 -1
- package/dist/review/templates/shared.d.ts +22 -5
- package/dist/review/templates/shared.d.ts.map +1 -1
- package/dist/review/templates/spec-review.d.ts +15 -0
- package/dist/review/templates/spec-review.d.ts.map +1 -1
- package/dist/review/templates/spec-review.js +43 -3
- package/dist/review/templates/spec-review.js.map +1 -1
- package/dist/stores/batch-registry.d.ts +18 -0
- package/dist/stores/batch-registry.d.ts.map +1 -1
- package/dist/stores/batch-registry.js +10 -0
- package/dist/stores/batch-registry.js.map +1 -1
- package/dist/stores/context-block-tool.d.ts +14 -0
- package/dist/stores/context-block-tool.d.ts.map +1 -1
- package/dist/stores/context-block-tool.js.map +1 -1
- package/dist/stores/file-backed-context-block-store.d.ts +63 -0
- package/dist/stores/file-backed-context-block-store.d.ts.map +1 -0
- package/dist/stores/file-backed-context-block-store.js +293 -0
- package/dist/stores/file-backed-context-block-store.js.map +1 -0
- package/dist/stores/project-context-registry.d.ts +16 -3
- package/dist/stores/project-context-registry.d.ts.map +1 -1
- package/dist/stores/project-context-registry.js +9 -2
- package/dist/stores/project-context-registry.js.map +1 -1
- package/dist/tools/audit/schema.d.ts +2 -2
- package/dist/tools/audit/tool-config.d.ts.map +1 -1
- package/dist/tools/audit/tool-config.js +23 -6
- package/dist/tools/audit/tool-config.js.map +1 -1
- package/dist/tools/debug/tool-config.d.ts.map +1 -1
- package/dist/tools/debug/tool-config.js +17 -4
- package/dist/tools/debug/tool-config.js.map +1 -1
- package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
- package/dist/tools/execute-plan/tool-config.js +5 -1
- package/dist/tools/execute-plan/tool-config.js.map +1 -1
- package/dist/tools/investigate/tool-config.d.ts +13 -1
- package/dist/tools/investigate/tool-config.d.ts.map +1 -1
- package/dist/tools/investigate/tool-config.js +34 -4
- package/dist/tools/investigate/tool-config.js.map +1 -1
- package/dist/tools/retry/tool-config.d.ts.map +1 -1
- package/dist/tools/retry/tool-config.js +28 -5
- package/dist/tools/retry/tool-config.js.map +1 -1
- package/dist/tools/review/schema.d.ts +1 -1
- package/dist/tools/review/tool-config.d.ts.map +1 -1
- package/dist/tools/review/tool-config.js +19 -4
- package/dist/tools/review/tool-config.js.map +1 -1
- package/dist/tools/verify/tool-config.d.ts.map +1 -1
- package/dist/tools/verify/tool-config.js +17 -4
- package/dist/tools/verify/tool-config.js.map +1 -1
- package/dist/types/enums.d.ts +10 -10
- package/package.json +5 -1
- package/dist/intake/brief-compiler-slots/investigate.d.ts +0 -26
- package/dist/intake/brief-compiler-slots/investigate.d.ts.map +0 -1
- package/dist/intake/brief-compiler-slots/investigate.js +0 -42
- package/dist/intake/brief-compiler-slots/investigate.js.map +0 -1
|
@@ -13,8 +13,20 @@ export interface EnrichedInvestigateInput extends Input {
|
|
|
13
13
|
relativeFilePathsForPrompt: string[];
|
|
14
14
|
}
|
|
15
15
|
export interface InvestigateBrief {
|
|
16
|
+
/** The user's original question — drives the headline text. */
|
|
16
17
|
question: string;
|
|
17
|
-
|
|
18
|
+
/**
|
|
19
|
+
* The fully compiled implementer prompt (template + question + anchors +
|
|
20
|
+
* context blocks). Stored here for buildTaskSpec to forward as
|
|
21
|
+
* TaskSpec.prompt, but deliberately NOT named `prompt`/`brief`. The
|
|
22
|
+
* task-executor's `taskBrief` resolution chain reads
|
|
23
|
+
* `briefs[0].prompt ?? .brief ?? .question`; a `prompt` field here would
|
|
24
|
+
* cause the headline to be the prompt-template instructions (the tool
|
|
25
|
+
* sweep #5 bug — headline read 'Investigation: "Produce a narrative
|
|
26
|
+
* investigation report. Number each findin…"'). Falling through to
|
|
27
|
+
* `question` is the desired behavior.
|
|
28
|
+
*/
|
|
29
|
+
compiledPrompt: string;
|
|
18
30
|
filePaths: string[];
|
|
19
31
|
contextBlockIds: string[];
|
|
20
32
|
tools?: 'none' | 'readonly';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/investigate/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAGvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2DAA2D,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/investigate/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAGvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2DAA2D,CAAC;AAUzG,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAYvE;AAKD,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAyB,SAAQ,KAAK;IACrD,qBAAqB,EAAE,oBAAoB,EAAE,CAAC;IAC9C,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,0BAA0B,EAAE,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;OAUG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;CAC7B;AAqDD,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,wBAAwB,EAAE,gBAAgB,EAAE,uBAAuB,CA2DtG,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { investigateReportSchema } from '../../reporting/report-parser-slots/inv
|
|
|
4
4
|
import { investigateHeadlineTemplate } from '../../reporting/headline-templates/investigate.js';
|
|
5
5
|
import { deriveInvestigateWorkerStatus } from '../../reporting/derive-investigate-status.js';
|
|
6
6
|
import { DEFAULT_TASK_TIMEOUT_MS } from '../../config/schema.js';
|
|
7
|
+
import { EVIDENCE_GROUNDING, SCOPE_DISCIPLINE, ANNOTATOR_CHECK_AWARENESS_RO, } from '../../review/templates/finding-criteria.js';
|
|
7
8
|
export function registerInvestigate(registry) {
|
|
8
9
|
registry.register({
|
|
9
10
|
routeName: 'investigate',
|
|
@@ -19,7 +20,29 @@ export function registerInvestigate(registry) {
|
|
|
19
20
|
}
|
|
20
21
|
function compilePrompt(input) {
|
|
21
22
|
const promptParts = [];
|
|
22
|
-
promptParts.push(
|
|
23
|
+
promptParts.push([
|
|
24
|
+
'Produce an investigation report in this EXACT structured format. The deterministic',
|
|
25
|
+
'parser extracts citations, confidence, and unresolved items by section — do NOT emit',
|
|
26
|
+
'JSON, and do NOT use a numbered-list narrative. Sections MUST use h2 headers (`##`).',
|
|
27
|
+
'',
|
|
28
|
+
'## Summary',
|
|
29
|
+
'One paragraph stating the answer to the question, in plain prose.',
|
|
30
|
+
'',
|
|
31
|
+
'## Citations',
|
|
32
|
+
'One bullet per evidence item, in this exact format:',
|
|
33
|
+
'`- file/path.ts:LINE — claim` (em-dash, OR `--` is also accepted)',
|
|
34
|
+
'Use a `LINE-LINE` range when an evidence span covers multiple lines.',
|
|
35
|
+
'If the question is fully project-level (no code evidence applies), write `(none)`',
|
|
36
|
+
'on its own line — but only when Confidence is `low`.',
|
|
37
|
+
'',
|
|
38
|
+
'## Confidence',
|
|
39
|
+
'One of `high`, `medium`, or `low`, optionally followed by ` — <one-line rationale>`.',
|
|
40
|
+
'',
|
|
41
|
+
'## Unresolved',
|
|
42
|
+
'Optional bullets describing follow-up questions; write `(none)` if there are none.',
|
|
43
|
+
'Prefix a bullet with `[needs_context]` if it requires the caller to supply more',
|
|
44
|
+
'information before the question can be answered.',
|
|
45
|
+
].join('\n'));
|
|
23
46
|
for (const block of input.resolvedContextBlocks) {
|
|
24
47
|
promptParts.push(block.content);
|
|
25
48
|
}
|
|
@@ -31,6 +54,12 @@ function compilePrompt(input) {
|
|
|
31
54
|
if (input.resolvedContextBlocks.length > 0) {
|
|
32
55
|
promptParts.push('A prior investigation report is provided as context above. Refine or extend that investigation. In your output, mark which prior unresolved questions you resolved this round and which remain open.');
|
|
33
56
|
}
|
|
57
|
+
// Tool sweep #12: shared rubric. Investigate doesn't use the
|
|
58
|
+
// SEVERITY_LADDER (its findings are citations, not severity-rated)
|
|
59
|
+
// but evidence-grounding + scope-discipline + annotator-awareness
|
|
60
|
+
// apply just as much. Workers that cite hallucinated lines or
|
|
61
|
+
// speculate about unread files now have the rubric inline.
|
|
62
|
+
promptParts.push(EVIDENCE_GROUNDING, SCOPE_DISCIPLINE, ANNOTATOR_CHECK_AWARENESS_RO);
|
|
34
63
|
return promptParts.join('\n\n');
|
|
35
64
|
}
|
|
36
65
|
export const toolConfig = {
|
|
@@ -38,17 +67,17 @@ export const toolConfig = {
|
|
|
38
67
|
category: 'read_only',
|
|
39
68
|
agentType: 'complex',
|
|
40
69
|
briefSlot: (input) => {
|
|
41
|
-
const
|
|
70
|
+
const compiledPrompt = compilePrompt(input);
|
|
42
71
|
return [{
|
|
43
72
|
question: input.question,
|
|
44
|
-
|
|
73
|
+
compiledPrompt,
|
|
45
74
|
filePaths: input.canonicalizedFilePaths,
|
|
46
75
|
contextBlockIds: input.contextBlockIds ?? [],
|
|
47
76
|
tools: input.tools,
|
|
48
77
|
}];
|
|
49
78
|
},
|
|
50
79
|
buildTaskSpec: (brief, ctx) => ({
|
|
51
|
-
prompt: brief.
|
|
80
|
+
prompt: brief.compiledPrompt,
|
|
52
81
|
agentType: 'complex',
|
|
53
82
|
reviewPolicy: 'quality_only',
|
|
54
83
|
cwd: ctx.projectContext?.cwd ?? ctx.cwd,
|
|
@@ -58,6 +87,7 @@ export const toolConfig = {
|
|
|
58
87
|
timeoutMs: ctx.config.defaults?.timeoutMs ?? DEFAULT_TASK_TIMEOUT_MS,
|
|
59
88
|
maxCostUSD: ctx.config.defaults?.maxCostUSD ?? 10,
|
|
60
89
|
sandboxPolicy: ctx.config.defaults?.sandboxPolicy ?? 'cwd-only',
|
|
90
|
+
mainModel: ctx.mainModel ?? undefined,
|
|
61
91
|
}),
|
|
62
92
|
reportSchema: investigateReportSchema,
|
|
63
93
|
headlineTemplate: investigateHeadlineTemplate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/investigate/tool-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAG7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2DAA2D,CAAC;AAEpG,OAAO,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAChG,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/investigate/tool-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/retry/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAMvE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAYjE;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/retry/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAMvE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAYjE;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CA6D7D,CAAC"}
|
|
@@ -36,7 +36,7 @@ export const toolConfig = {
|
|
|
36
36
|
sandboxPolicy: origTask?.sandboxPolicy ?? defaults?.sandboxPolicy ?? 'cwd-only',
|
|
37
37
|
cwd: origTask?.cwd ?? ctx.projectContext?.cwd ?? ctx.cwd,
|
|
38
38
|
contextBlockIds: origTask?.contextBlockIds ?? [],
|
|
39
|
-
mainModel: origTask?.mainModel
|
|
39
|
+
mainModel: origTask?.mainModel,
|
|
40
40
|
done: origTask?.done,
|
|
41
41
|
autoCommit: origTask?.autoCommit ?? false,
|
|
42
42
|
};
|
|
@@ -46,11 +46,34 @@ export const toolConfig = {
|
|
|
46
46
|
postProcessEnvelope: (envelope, ctx) => {
|
|
47
47
|
const results = (Array.isArray(envelope.results) ? envelope.results : []);
|
|
48
48
|
const total = results.length;
|
|
49
|
-
|
|
49
|
+
// Tool sweep #8 fix: pre-fix this hard-coded `retry: N/N tasks complete`
|
|
50
|
+
// regardless of actual outcomes — operator could not tell if any
|
|
51
|
+
// retried task had failed. Now compute the true ok/incomplete/error
|
|
52
|
+
// breakdown from per-task `status` and emit a headline that mirrors
|
|
53
|
+
// delegate / execute-plan: '[<aggregate-status>] retry: ok/total tasks complete'
|
|
54
|
+
// with detail when not all ok.
|
|
55
|
+
let ok = 0, incomplete = 0, error = 0;
|
|
56
|
+
for (const r of results) {
|
|
57
|
+
const s = r?.status;
|
|
58
|
+
if (s === 'ok')
|
|
59
|
+
ok++;
|
|
60
|
+
else if (s === 'error')
|
|
61
|
+
error++;
|
|
62
|
+
else
|
|
63
|
+
incomplete++; // 'incomplete' or any unknown bucket
|
|
64
|
+
}
|
|
65
|
+
const aggregate = error > 0 ? 'error' : incomplete > 0 ? 'incomplete' : 'ok';
|
|
66
|
+
let detail = `${ok}/${total} tasks complete`;
|
|
67
|
+
if (incomplete > 0)
|
|
68
|
+
detail += `, ${incomplete} incomplete`;
|
|
69
|
+
if (error > 0)
|
|
70
|
+
detail += `, ${error} error`;
|
|
71
|
+
envelope.headline = `[${aggregate}] retry: ${detail}`;
|
|
50
72
|
envelope.structuredReport = notApplicable('no structured report emitted by this executor');
|
|
51
|
-
|
|
52
|
-
delete
|
|
53
|
-
|
|
73
|
+
// Tool sweep #8: keep the underlying review verdicts on the envelope
|
|
74
|
+
// (do NOT delete) so downstream telemetry + UI can show whether the
|
|
75
|
+
// retried tasks' lifecycles passed their spec/quality chains. Pre-fix
|
|
76
|
+
// these were stripped, hiding important failure signal.
|
|
54
77
|
if (ctx?.batchId) {
|
|
55
78
|
envelope.retryBatchId = ctx.batchId;
|
|
56
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/retry/tool-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,UAAU,aAAa,CAAC,QAA6B;IACzD,QAAQ,CAAC,QAAQ,CAAC;QAChB,SAAS,EAAE,aAAa;QACxB,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,WAAW;QACnB,YAAY,EAAE,QAAQ;QACtB,gBAAgB,EAAE,UAAU;QAC5B,oBAAoB,EAAE,IAAI;QAC1B,iBAAiB,EAAE,eAAe;KACnC,CAAC,CAAC;AACL,CAAC;AAOD,MAAM,CAAC,MAAM,UAAU,GAA2C;IAChE,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CACnB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9E,aAAa,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC;QAClD,MAAM,KAAK,GAAG,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAyB,CAAC;QACvE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QACrC,OAAO;YACL,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,cAAc,KAAK,CAAC,SAAS,eAAe,KAAK,CAAC,OAAO,EAAE;YACvF,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,UAAU;YAC5C,YAAY,EAAE,QAAQ,EAAE,YAAY,IAAI,MAAM;YAC9C,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,IAAI,KAAK;YACzD,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,QAAQ,EAAE,KAAK,IAAI,MAAM;YACnD,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,QAAQ,EAAE,SAAS,IAAI,SAAS;YAClE,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,QAAQ,EAAE,UAAU,IAAI,EAAE;YAC9D,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI,QAAQ,EAAE,aAAa,IAAI,UAAU;YAC/E,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG;YACxD,eAAe,EAAE,QAAQ,EAAE,eAAe,IAAI,EAAE;YAChD,SAAS,EAAE,QAAQ,EAAE,SAAS
|
|
1
|
+
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/retry/tool-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@ import { z } from 'zod';
|
|
|
2
2
|
export declare const inputSchema: z.ZodObject<{
|
|
3
3
|
code: z.ZodOptional<z.ZodString>;
|
|
4
4
|
focus: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
5
|
-
style: "style";
|
|
6
5
|
security: "security";
|
|
7
6
|
performance: "performance";
|
|
7
|
+
style: "style";
|
|
8
8
|
correctness: "correctness";
|
|
9
9
|
}>>>;
|
|
10
10
|
filePaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/review/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/review/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAWhG,wBAAgB,cAAc,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAYlE;AAkED,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAsC9D,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { reviewBriefSlot } from '../../intake/brief-compiler-slots/review.js';
|
|
|
4
4
|
import { reviewReportSchema } from '../../reporting/report-parser-slots/review-report.js';
|
|
5
5
|
import { reviewHeadlineTemplate } from '../../reporting/headline-templates/review.js';
|
|
6
6
|
import { DEFAULT_TASK_TIMEOUT_MS } from '../../config/schema.js';
|
|
7
|
+
import { SEVERITY_LADDER, EVIDENCE_GROUNDING, SCOPE_DISCIPLINE, ANNOTATOR_CHECK_AWARENESS_RO, } from '../../review/templates/finding-criteria.js';
|
|
7
8
|
export function registerReview(registry) {
|
|
8
9
|
registry.register({
|
|
9
10
|
routeName: 'review',
|
|
@@ -46,12 +47,15 @@ function buildReviewPrompt(brief) {
|
|
|
46
47
|
if (focus && focus.length > 0)
|
|
47
48
|
parts.push(`Focus areas: ${focus.join(', ')}.`);
|
|
48
49
|
}
|
|
50
|
+
// Tool sweep #11: emit format spec unconditionally (pre-fix the
|
|
51
|
+
// DELTA branch dropped it, breaking annotator parse on delta runs).
|
|
49
52
|
if (hasContextBlocks) {
|
|
50
|
-
parts.push('
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
parts.push('Produce a narrative code review. Use this EXACT per-finding format so the deterministic extractor can recover findings if the structured reviewer pass fails:', '', '## Finding 1: <one-line title>', '- Severity: critical | high | medium | low', '- Location: file:line', '- Issue: one-paragraph explanation', '- Suggestion: one-line fix recommendation', '', '## Finding 2: <one-line title>', '- Severity: ...', '- ...', '', 'Rules:', '- Each finding heading MUST start with "## Finding N: " (h2, "Finding ", number, colon, title) — number sequentially from 1.', '- Severity / Location / Issue / Suggestion bullets are on their own lines with the labels exactly as shown.', '- Do NOT emit JSON. Both the structured reviewer and the deterministic fallback extract from this same format — the format is the single source of truth.');
|
|
53
|
+
parts.push('A prior review is in the context above. **Omit** addressed findings, **include** still-present ones (mark "unfixed from prior review"), **include** any new findings, and end with a **Fixed** summary.');
|
|
54
54
|
}
|
|
55
|
+
parts.push('Produce a narrative code review. Use this EXACT per-finding format — both the structured reviewer and the deterministic fallback extract from this same format:', '', '## Finding 1: <one-line title>', '- Severity: critical | high | medium | low', '- Location: file:line', '- Issue: one-paragraph explanation', '- Suggestion: one-line fix recommendation', '', '## Finding 2: <one-line title>', '- Severity: ...', '- ...', '', 'Rules:', '- Each finding heading MUST start with "## Finding N: " (h2, "Finding ", number, colon, title) — number sequentially from 1.', '- Severity / Location / Issue / Suggestion bullets are on their own lines with the labels exactly as shown.', '- If you found no issues, say "No findings." in plain prose and emit zero `## Finding N:` blocks.');
|
|
56
|
+
// Tool sweep #12: share the annotator's rubric with the implementer
|
|
57
|
+
// so the worker self-aligns with what the reviewer will check.
|
|
58
|
+
parts.push(SEVERITY_LADDER, EVIDENCE_GROUNDING, SCOPE_DISCIPLINE, ANNOTATOR_CHECK_AWARENESS_RO);
|
|
55
59
|
return parts.join('\n\n');
|
|
56
60
|
}
|
|
57
61
|
export const toolConfig = {
|
|
@@ -61,6 +65,15 @@ export const toolConfig = {
|
|
|
61
65
|
briefSlot: reviewBriefSlot,
|
|
62
66
|
buildTaskSpec: (brief, ctx) => {
|
|
63
67
|
const prompt = buildReviewPrompt(brief);
|
|
68
|
+
// Propagate filePaths + mainModel onto the TaskSpec so the headline
|
|
69
|
+
// composer can name the file in clean-review headlines and so the
|
|
70
|
+
// wire telemetry carries main_model attribution. Audit does this
|
|
71
|
+
// already; review missed it, producing "[ok] review completed"
|
|
72
|
+
// (no path) even when filePaths was provided. (Tool sweep #2 — gap surfaced
|
|
73
|
+
// by review batch c24353f6 on packages/core/src/reporting/severity.ts.)
|
|
74
|
+
const filePaths = brief.filePath
|
|
75
|
+
? [brief.filePath]
|
|
76
|
+
: (brief.filePaths && brief.filePaths.length > 0 ? brief.filePaths : undefined);
|
|
64
77
|
return {
|
|
65
78
|
prompt,
|
|
66
79
|
agentType: 'complex',
|
|
@@ -73,6 +86,8 @@ export const toolConfig = {
|
|
|
73
86
|
sandboxPolicy: ctx.config.defaults?.sandboxPolicy ?? 'cwd-only',
|
|
74
87
|
cwd: ctx.projectContext?.cwd ?? ctx.cwd,
|
|
75
88
|
contextBlockIds: brief.contextBlockIds,
|
|
89
|
+
filePaths,
|
|
90
|
+
mainModel: ctx.mainModel ?? undefined,
|
|
76
91
|
autoCommit: false,
|
|
77
92
|
};
|
|
78
93
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/review/tool-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAGxF,OAAO,EAAE,eAAe,EAAoB,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/review/tool-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/verify/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/verify/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAYvE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAYlE;AAID,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAgED,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAqD9D,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { qualityVerifyTemplate } from '../../review/reviewer-engine.js';
|
|
|
3
3
|
import { verifyReportSchema } from '../../reporting/report-parser-slots/verify-report.js';
|
|
4
4
|
import { verifyHeadlineTemplate } from '../../reporting/headline-templates/verify.js';
|
|
5
5
|
import { DEFAULT_TASK_TIMEOUT_MS } from '../../config/schema.js';
|
|
6
|
+
import { SEVERITY_LADDER, EVIDENCE_GROUNDING, SCOPE_DISCIPLINE, ANNOTATOR_CHECK_AWARENESS_RO, } from '../../review/templates/finding-criteria.js';
|
|
6
7
|
export function registerVerify(registry) {
|
|
7
8
|
registry.register({
|
|
8
9
|
routeName: 'verify',
|
|
@@ -18,10 +19,10 @@ export function registerVerify(registry) {
|
|
|
18
19
|
}
|
|
19
20
|
// ── Prompt builders (lifted from legacy executor) ──
|
|
20
21
|
const FINDING_FORMAT_INSTRUCTIONS = [
|
|
21
|
-
'For each checklist item, use this EXACT per-finding format
|
|
22
|
+
'For each checklist item, use this EXACT per-finding format — both the structured reviewer and the deterministic fallback extract from this same format:',
|
|
22
23
|
'',
|
|
23
24
|
'## Finding 1: <one-line title (the criterion summary)>',
|
|
24
|
-
'- Severity: critical | high | medium | low (low
|
|
25
|
+
'- Severity: critical | high | medium | low (use `low` for PASS items; `medium` or `high` for FAIL items per impact)',
|
|
25
26
|
'- Item: the criterion text',
|
|
26
27
|
'- Result: PASS or FAIL',
|
|
27
28
|
'- Evidence: file:line + what it shows, OR command + output',
|
|
@@ -31,9 +32,20 @@ const FINDING_FORMAT_INSTRUCTIONS = [
|
|
|
31
32
|
'- ...',
|
|
32
33
|
'',
|
|
33
34
|
'Rules:',
|
|
34
|
-
'-
|
|
35
|
+
'- One `## Finding N:` block per checklist item — same count and same order as the checklist. Do not skip items even if they pass trivially.',
|
|
35
36
|
'- Severity / Item / Result / Evidence bullets are on their own lines with the labels exactly as shown.',
|
|
36
|
-
'
|
|
37
|
+
'',
|
|
38
|
+
// Tool sweep #12: shared rubric so worker calibrates the same way the
|
|
39
|
+
// annotator validates. For verify, severity is bound to the result —
|
|
40
|
+
// the SEVERITY_LADDER below explains the ladder; here we just bind:
|
|
41
|
+
// PASS -> low, FAIL -> medium/high based on impact.
|
|
42
|
+
SEVERITY_LADDER,
|
|
43
|
+
'',
|
|
44
|
+
EVIDENCE_GROUNDING,
|
|
45
|
+
'',
|
|
46
|
+
SCOPE_DISCIPLINE,
|
|
47
|
+
'',
|
|
48
|
+
ANNOTATOR_CHECK_AWARENESS_RO,
|
|
37
49
|
].join('\n');
|
|
38
50
|
function buildFilePathsPrompt(filePaths) {
|
|
39
51
|
if (!filePaths || filePaths.length === 0)
|
|
@@ -101,6 +113,7 @@ export const toolConfig = {
|
|
|
101
113
|
cwd: ctx.projectContext?.cwd ?? ctx.cwd,
|
|
102
114
|
contextBlockIds: brief.contextBlockIds,
|
|
103
115
|
filePaths: brief.filePaths.length > 0 ? brief.filePaths : undefined,
|
|
116
|
+
mainModel: ctx.mainModel ?? undefined,
|
|
104
117
|
};
|
|
105
118
|
},
|
|
106
119
|
reportSchema: verifyReportSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/verify/tool-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/verify/tool-config.ts"],"names":[],"mappings":"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"}
|
package/dist/types/enums.d.ts
CHANGED
|
@@ -4,13 +4,13 @@ export declare const TierEnum: z.ZodEnum<{
|
|
|
4
4
|
complex: "complex";
|
|
5
5
|
}>;
|
|
6
6
|
export declare const RouteEnum: z.ZodEnum<{
|
|
7
|
-
review: "review";
|
|
8
|
-
retry: "retry";
|
|
9
7
|
delegate: "delegate";
|
|
10
8
|
audit: "audit";
|
|
9
|
+
review: "review";
|
|
11
10
|
verify: "verify";
|
|
12
11
|
debug: "debug";
|
|
13
12
|
"execute-plan": "execute-plan";
|
|
13
|
+
retry: "retry";
|
|
14
14
|
investigate: "investigate";
|
|
15
15
|
explore: "explore";
|
|
16
16
|
explore_internal: "explore_internal";
|
|
@@ -90,13 +90,6 @@ export declare const InvestigationConfidenceEnum: z.ZodEnum<{
|
|
|
90
90
|
}>;
|
|
91
91
|
export declare const FindingConfidenceSchema: z.ZodNumber;
|
|
92
92
|
export declare const EventTypeEnum: z.ZodEnum<{
|
|
93
|
-
fallback: "fallback";
|
|
94
|
-
worker_start: "worker_start";
|
|
95
|
-
turn_start: "turn_start";
|
|
96
|
-
tool_call: "tool_call";
|
|
97
|
-
text_emission: "text_emission";
|
|
98
|
-
turn_complete: "turn_complete";
|
|
99
|
-
heartbeat: "heartbeat";
|
|
100
93
|
batch_completed: "batch_completed";
|
|
101
94
|
batch_failed: "batch_failed";
|
|
102
95
|
cost_check: "cost_check";
|
|
@@ -110,7 +103,9 @@ export declare const EventTypeEnum: z.ZodEnum<{
|
|
|
110
103
|
explore_synthesize_start: "explore_synthesize_start";
|
|
111
104
|
explore_thread_completed: "explore_thread_completed";
|
|
112
105
|
explore_thread_started: "explore_thread_started";
|
|
106
|
+
fallback: "fallback";
|
|
113
107
|
fallback_unavailable: "fallback_unavailable";
|
|
108
|
+
heartbeat: "heartbeat";
|
|
114
109
|
"read_only_review.quality": "read_only_review.quality";
|
|
115
110
|
"read_only_review.terminal": "read_only_review.terminal";
|
|
116
111
|
review_decision: "review_decision";
|
|
@@ -118,9 +113,14 @@ export declare const EventTypeEnum: z.ZodEnum<{
|
|
|
118
113
|
stall_abort: "stall_abort";
|
|
119
114
|
task_completed: "task_completed";
|
|
120
115
|
task_started: "task_started";
|
|
116
|
+
text_emission: "text_emission";
|
|
121
117
|
time_check: "time_check";
|
|
118
|
+
tool_call: "tool_call";
|
|
119
|
+
turn_complete: "turn_complete";
|
|
120
|
+
turn_start: "turn_start";
|
|
122
121
|
verify_skipped: "verify_skipped";
|
|
123
122
|
verify_step: "verify_step";
|
|
123
|
+
worker_start: "worker_start";
|
|
124
124
|
}>;
|
|
125
125
|
export declare const ReviewEngineTypeEnum: z.ZodEnum<{
|
|
126
126
|
reviewer: "reviewer";
|
|
@@ -146,9 +146,9 @@ export declare const IncompleteReasonEnum: z.ZodEnum<{
|
|
|
146
146
|
* Defined here so the closed-enum ratchet covers it before adoption.
|
|
147
147
|
*/
|
|
148
148
|
export declare const EvidenceKindEnum: z.ZodEnum<{
|
|
149
|
-
fix: "fix";
|
|
150
149
|
reproducer: "reproducer";
|
|
151
150
|
code_path: "code_path";
|
|
151
|
+
fix: "fix";
|
|
152
152
|
}>;
|
|
153
153
|
export declare const DiagLoopEnum: z.ZodEnum<{
|
|
154
154
|
spec: "spec";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhixuan92/multi-model-agent-core",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Core library for multi-model-agent: provider runners (Claude, Codex, OpenAI-compatible), routing logic, config schema, and tool/sandbox primitives.",
|
|
@@ -56,6 +56,10 @@
|
|
|
56
56
|
"types": "./dist/lifecycle/task-runner.d.ts",
|
|
57
57
|
"import": "./dist/lifecycle/task-runner.js"
|
|
58
58
|
},
|
|
59
|
+
"./lifecycle/stage-progression": {
|
|
60
|
+
"types": "./dist/lifecycle/stage-progression.d.ts",
|
|
61
|
+
"import": "./dist/lifecycle/stage-progression.js"
|
|
62
|
+
},
|
|
59
63
|
"./events/verbose-line": {
|
|
60
64
|
"types": "./dist/events/verbose-line.d.ts",
|
|
61
65
|
"import": "./dist/events/verbose-line.js"
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { TaskSpec } from '../../types.js';
|
|
2
|
-
import type { Input } from '../../tools/investigate/schema.js';
|
|
3
|
-
export interface ResolvedContextBlock {
|
|
4
|
-
id: string;
|
|
5
|
-
content: string;
|
|
6
|
-
}
|
|
7
|
-
export declare function compileInvestigate(input: Input, resolvedContextBlocks: ResolvedContextBlock[], canonicalizedFilePaths: string[], relativeFilePathsForPrompt: string[], cwd: string): TaskSpec & {
|
|
8
|
-
route: 'investigate_codebase';
|
|
9
|
-
originalInput: Record<string, unknown>;
|
|
10
|
-
question: string;
|
|
11
|
-
};
|
|
12
|
-
export interface InvestigateInput {
|
|
13
|
-
question: string;
|
|
14
|
-
depth?: 'shallow' | 'medium' | 'deep';
|
|
15
|
-
cwd?: string;
|
|
16
|
-
}
|
|
17
|
-
export interface InvestigateBrief {
|
|
18
|
-
taskIndex: number;
|
|
19
|
-
brief: string;
|
|
20
|
-
cwd: string;
|
|
21
|
-
agentType: 'complex';
|
|
22
|
-
reviewPolicy: 'quality_only';
|
|
23
|
-
contextBlockIds: string[];
|
|
24
|
-
}
|
|
25
|
-
export declare function investigateSlot(input: InvestigateInput): InvestigateBrief[];
|
|
26
|
-
//# sourceMappingURL=investigate.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"investigate.d.ts","sourceRoot":"","sources":["../../../src/intake/brief-compiler-slots/investigate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE/D,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,qBAAqB,EAAE,oBAAoB,EAAE,EAC7C,sBAAsB,EAAE,MAAM,EAAE,EAChC,0BAA0B,EAAE,MAAM,EAAE,EACpC,GAAG,EAAE,MAAM,GACV,QAAQ,GAAG;IAAE,KAAK,EAAE,sBAAsB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAsCxG;AAGD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,cAAc,CAAC;IAC7B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAS3E"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
export function compileInvestigate(input, resolvedContextBlocks, canonicalizedFilePaths, relativeFilePathsForPrompt, cwd) {
|
|
2
|
-
if (canonicalizedFilePaths.length !== relativeFilePathsForPrompt.length) {
|
|
3
|
-
throw new Error('compileInvestigate: canonicalizedFilePaths and relativeFilePathsForPrompt must be the same length');
|
|
4
|
-
}
|
|
5
|
-
const promptParts = [];
|
|
6
|
-
promptParts.push('Produce a narrative investigation report. Number each finding (1, 2, 3, ...). For each finding, on its own line, state Severity: critical|high|medium|low, then a one-paragraph explanation citing file:line for code-level claims (or describing what was searched for project-level claims). Optional Suggestion line. The reviewer will extract structured findings — do NOT emit JSON.');
|
|
7
|
-
for (const block of resolvedContextBlocks) {
|
|
8
|
-
promptParts.push(block.content);
|
|
9
|
-
}
|
|
10
|
-
if (relativeFilePathsForPrompt.length > 0) {
|
|
11
|
-
promptParts.push('Anchor paths to start from (you may also read beyond these):\n' +
|
|
12
|
-
relativeFilePathsForPrompt.map(p => `- ${p}`).join('\n'));
|
|
13
|
-
}
|
|
14
|
-
promptParts.push(`Question: ${input.question}`);
|
|
15
|
-
if (resolvedContextBlocks.length > 0) {
|
|
16
|
-
promptParts.push('A prior investigation report is provided as context above. Refine or extend that investigation. In your output, mark which prior unresolved questions you resolved this round and which remain open.');
|
|
17
|
-
}
|
|
18
|
-
return {
|
|
19
|
-
route: 'investigate_codebase',
|
|
20
|
-
prompt: promptParts.join('\n\n'),
|
|
21
|
-
originalInput: {
|
|
22
|
-
...input,
|
|
23
|
-
filePaths: canonicalizedFilePaths,
|
|
24
|
-
},
|
|
25
|
-
question: input.question,
|
|
26
|
-
tools: input.tools ?? 'readonly',
|
|
27
|
-
filePaths: canonicalizedFilePaths,
|
|
28
|
-
sandboxPolicy: 'cwd-only',
|
|
29
|
-
cwd,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
export function investigateSlot(input) {
|
|
33
|
-
return [{
|
|
34
|
-
taskIndex: 0,
|
|
35
|
-
brief: `Investigate (${input.depth ?? 'medium'}):\n${input.question}`,
|
|
36
|
-
cwd: input.cwd ?? process.cwd(),
|
|
37
|
-
agentType: 'complex',
|
|
38
|
-
reviewPolicy: 'quality_only',
|
|
39
|
-
contextBlockIds: [],
|
|
40
|
-
}];
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=investigate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"investigate.js","sourceRoot":"","sources":["../../../src/intake/brief-compiler-slots/investigate.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,kBAAkB,CAChC,KAAY,EACZ,qBAA6C,EAC7C,sBAAgC,EAChC,0BAAoC,EACpC,GAAW;IAEX,IAAI,sBAAsB,CAAC,MAAM,KAAK,0BAA0B,CAAC,MAAM,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,mGAAmG,CAAC,CAAC;IACvH,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,WAAW,CAAC,IAAI,CACd,4XAA4X,CAC7X,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,qBAAqB,EAAE,CAAC;QAC1C,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,WAAW,CAAC,IAAI,CACd,gEAAgE;YAChE,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACzD,CAAC;IACJ,CAAC;IACD,WAAW,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChD,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,WAAW,CAAC,IAAI,CACd,sMAAsM,CACvM,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,sBAAsB;QAC7B,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,aAAa,EAAE;YACb,GAAG,KAAK;YACR,SAAS,EAAE,sBAAsB;SACI;QACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU;QAChC,SAAS,EAAE,sBAAsB;QACjC,aAAa,EAAE,UAAU;QACzB,GAAG;KACiH,CAAC;AACzH,CAAC;AAkBD,MAAM,UAAU,eAAe,CAAC,KAAuB;IACrD,OAAO,CAAC;YACN,SAAS,EAAE,CAAC;YACZ,KAAK,EAAE,gBAAgB,KAAK,CAAC,KAAK,IAAI,QAAQ,OAAO,KAAK,CAAC,QAAQ,EAAE;YACrE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YAC/B,SAAS,EAAE,SAAkB;YAC7B,YAAY,EAAE,cAAuB;YACrC,eAAe,EAAE,EAAE;SACpB,CAAC,CAAC;AACL,CAAC"}
|