@kenkaiiii/ggcoder 4.3.212 → 4.3.213
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 +5 -8
- package/dist/cli.d.ts +3 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +112 -61
- package/dist/cli.js.map +1 -1
- package/dist/core/continue-replay-inventory.test.d.ts +2 -0
- package/dist/core/continue-replay-inventory.test.d.ts.map +1 -0
- package/dist/core/continue-replay-inventory.test.js +42 -0
- package/dist/core/continue-replay-inventory.test.js.map +1 -0
- package/dist/core/goal-controller.d.ts +2 -0
- package/dist/core/goal-controller.d.ts.map +1 -1
- package/dist/core/goal-controller.js +283 -24
- package/dist/core/goal-controller.js.map +1 -1
- package/dist/core/goal-controller.test.js +413 -16
- package/dist/core/goal-controller.test.js.map +1 -1
- package/dist/core/goal-lifecycle-smoke.test.js +48 -6
- package/dist/core/goal-lifecycle-smoke.test.js.map +1 -1
- package/dist/core/goal-prerequisites.d.ts +5 -0
- package/dist/core/goal-prerequisites.d.ts.map +1 -1
- package/dist/core/goal-prerequisites.js +37 -0
- package/dist/core/goal-prerequisites.js.map +1 -1
- package/dist/core/goal-prerequisites.test.js +29 -1
- package/dist/core/goal-prerequisites.test.js.map +1 -1
- package/dist/core/goal-references.d.ts +14 -0
- package/dist/core/goal-references.d.ts.map +1 -0
- package/dist/core/goal-references.js +153 -0
- package/dist/core/goal-references.js.map +1 -0
- package/dist/core/goal-references.test.d.ts +2 -0
- package/dist/core/goal-references.test.d.ts.map +1 -0
- package/dist/core/goal-references.test.js +77 -0
- package/dist/core/goal-references.test.js.map +1 -0
- package/dist/core/goal-store.d.ts +25 -0
- package/dist/core/goal-store.d.ts.map +1 -1
- package/dist/core/goal-store.js +150 -36
- package/dist/core/goal-store.js.map +1 -1
- package/dist/core/goal-store.test.js +19 -2
- package/dist/core/goal-store.test.js.map +1 -1
- package/dist/core/goal-verifier.d.ts.map +1 -1
- package/dist/core/goal-verifier.js +4 -1
- package/dist/core/goal-verifier.js.map +1 -1
- package/dist/core/goal-verifier.test.js +43 -0
- package/dist/core/goal-verifier.test.js.map +1 -1
- package/dist/core/goal-worker.d.ts +2 -0
- package/dist/core/goal-worker.d.ts.map +1 -1
- package/dist/core/goal-worker.js +33 -9
- package/dist/core/goal-worker.js.map +1 -1
- package/dist/core/goal-worker.test.js +49 -1
- package/dist/core/goal-worker.test.js.map +1 -1
- package/dist/core/prompt-commands.d.ts.map +1 -1
- package/dist/core/prompt-commands.js +28 -846
- package/dist/core/prompt-commands.js.map +1 -1
- package/dist/core/prompt-commands.test.js +40 -78
- package/dist/core/prompt-commands.test.js.map +1 -1
- package/dist/core/runtime-mode.d.ts +14 -0
- package/dist/core/runtime-mode.d.ts.map +1 -0
- package/dist/core/runtime-mode.js +10 -0
- package/dist/core/runtime-mode.js.map +1 -0
- package/dist/core/session-restore-display.test.d.ts +2 -0
- package/dist/core/session-restore-display.test.d.ts.map +1 -0
- package/dist/core/session-restore-display.test.js +100 -0
- package/dist/core/session-restore-display.test.js.map +1 -0
- package/dist/core/verify-commands.js +4 -4
- package/dist/core/verify-commands.js.map +1 -1
- package/dist/system-prompt.d.ts +2 -1
- package/dist/system-prompt.d.ts.map +1 -1
- package/dist/system-prompt.js +51 -37
- package/dist/system-prompt.js.map +1 -1
- package/dist/system-prompt.test.js +147 -40
- package/dist/system-prompt.test.js.map +1 -1
- package/dist/tools/bash.d.ts +3 -2
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +11 -4
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/edit.d.ts +5 -3
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +14 -4
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/edit.test.js +0 -10
- package/dist/tools/edit.test.js.map +1 -1
- package/dist/tools/goal-mode.test.d.ts +2 -0
- package/dist/tools/goal-mode.test.d.ts.map +1 -0
- package/dist/tools/goal-mode.test.js +121 -0
- package/dist/tools/goal-mode.test.js.map +1 -0
- package/dist/tools/goals.d.ts +15 -3
- package/dist/tools/goals.d.ts.map +1 -1
- package/dist/tools/goals.js +336 -26
- package/dist/tools/goals.js.map +1 -1
- package/dist/tools/goals.test.js +346 -6
- package/dist/tools/goals.test.js.map +1 -1
- package/dist/tools/index.d.ts +7 -10
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +6 -19
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/plan-mode.test.js +34 -224
- package/dist/tools/plan-mode.test.js.map +1 -1
- package/dist/tools/prompt-hints.d.ts.map +1 -1
- package/dist/tools/prompt-hints.js +2 -6
- package/dist/tools/prompt-hints.js.map +1 -1
- package/dist/tools/subagent.d.ts +3 -2
- package/dist/tools/subagent.d.ts.map +1 -1
- package/dist/tools/subagent.js +4 -9
- package/dist/tools/subagent.js.map +1 -1
- package/dist/tools/write.d.ts +5 -3
- package/dist/tools/write.d.ts.map +1 -1
- package/dist/tools/write.js +14 -13
- package/dist/tools/write.js.map +1 -1
- package/dist/tools/write.test.js +0 -16
- package/dist/tools/write.test.js.map +1 -1
- package/dist/ui/App.d.ts +144 -28
- package/dist/ui/App.d.ts.map +1 -1
- package/dist/ui/App.js +1143 -862
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/activity-phrases.d.ts.map +1 -1
- package/dist/ui/activity-phrases.js +0 -2
- package/dist/ui/activity-phrases.js.map +1 -1
- package/dist/ui/app-state-persistence.test.js +173 -5
- package/dist/ui/app-state-persistence.test.js.map +1 -1
- package/dist/ui/chat-layout-pinning.test.d.ts +2 -0
- package/dist/ui/chat-layout-pinning.test.d.ts.map +1 -0
- package/dist/ui/chat-layout-pinning.test.js +407 -0
- package/dist/ui/chat-layout-pinning.test.js.map +1 -0
- package/dist/ui/components/ActivityIndicator.d.ts +1 -2
- package/dist/ui/components/ActivityIndicator.d.ts.map +1 -1
- package/dist/ui/components/ActivityIndicator.js +63 -94
- package/dist/ui/components/ActivityIndicator.js.map +1 -1
- package/dist/ui/components/AssistantMessage.d.ts +6 -2
- package/dist/ui/components/AssistantMessage.d.ts.map +1 -1
- package/dist/ui/components/AssistantMessage.js +9 -4
- package/dist/ui/components/AssistantMessage.js.map +1 -1
- package/dist/ui/components/AssistantMessage.test.d.ts +2 -0
- package/dist/ui/components/AssistantMessage.test.d.ts.map +1 -0
- package/dist/ui/components/AssistantMessage.test.js +369 -0
- package/dist/ui/components/AssistantMessage.test.js.map +1 -0
- package/dist/ui/components/BackgroundTasksBar.d.ts +1 -3
- package/dist/ui/components/BackgroundTasksBar.d.ts.map +1 -1
- package/dist/ui/components/BackgroundTasksBar.js +2 -4
- package/dist/ui/components/BackgroundTasksBar.js.map +1 -1
- package/dist/ui/components/Banner.d.ts +1 -3
- package/dist/ui/components/Banner.d.ts.map +1 -1
- package/dist/ui/components/Banner.js +7 -3
- package/dist/ui/components/Banner.js.map +1 -1
- package/dist/ui/components/Footer.d.ts +26 -4
- package/dist/ui/components/Footer.d.ts.map +1 -1
- package/dist/ui/components/Footer.js +73 -21
- package/dist/ui/components/Footer.js.map +1 -1
- package/dist/ui/components/GoalOverlay.d.ts +28 -20
- package/dist/ui/components/GoalOverlay.d.ts.map +1 -1
- package/dist/ui/components/GoalOverlay.js +283 -253
- package/dist/ui/components/GoalOverlay.js.map +1 -1
- package/dist/ui/components/InputArea.d.ts +2 -6
- package/dist/ui/components/InputArea.d.ts.map +1 -1
- package/dist/ui/components/InputArea.js +40 -32
- package/dist/ui/components/InputArea.js.map +1 -1
- package/dist/ui/components/InputArea.test.js +11 -1
- package/dist/ui/components/InputArea.test.js.map +1 -1
- package/dist/ui/components/Markdown.d.ts +11 -11
- package/dist/ui/components/Markdown.d.ts.map +1 -1
- package/dist/ui/components/Markdown.js +25 -198
- package/dist/ui/components/Markdown.js.map +1 -1
- package/dist/ui/components/PlanOverlay.d.ts.map +1 -1
- package/dist/ui/components/PlanOverlay.js +1 -1
- package/dist/ui/components/PlanOverlay.js.map +1 -1
- package/dist/ui/components/ServerToolExecution.d.ts.map +1 -1
- package/dist/ui/components/ServerToolExecution.js +3 -2
- package/dist/ui/components/ServerToolExecution.js.map +1 -1
- package/dist/ui/components/SlashCommandMenu.d.ts +4 -3
- package/dist/ui/components/SlashCommandMenu.d.ts.map +1 -1
- package/dist/ui/components/SlashCommandMenu.js +38 -26
- package/dist/ui/components/SlashCommandMenu.js.map +1 -1
- package/dist/ui/components/StreamingArea.d.ts +11 -2
- package/dist/ui/components/StreamingArea.d.ts.map +1 -1
- package/dist/ui/components/StreamingArea.js +20 -23
- package/dist/ui/components/StreamingArea.js.map +1 -1
- package/dist/ui/components/StreamingArea.test.d.ts +2 -0
- package/dist/ui/components/StreamingArea.test.d.ts.map +1 -0
- package/dist/ui/components/StreamingArea.test.js +18 -0
- package/dist/ui/components/StreamingArea.test.js.map +1 -0
- package/dist/ui/components/ToolExecution.d.ts.map +1 -1
- package/dist/ui/components/ToolExecution.js +11 -27
- package/dist/ui/components/ToolExecution.js.map +1 -1
- package/dist/ui/components/ToolGroupExecution.d.ts.map +1 -1
- package/dist/ui/components/ToolGroupExecution.js +9 -124
- package/dist/ui/components/ToolGroupExecution.js.map +1 -1
- package/dist/ui/components/UserMessage.d.ts.map +1 -1
- package/dist/ui/components/UserMessage.js +15 -10
- package/dist/ui/components/UserMessage.js.map +1 -1
- package/dist/ui/components/UserMessage.test.d.ts +2 -0
- package/dist/ui/components/UserMessage.test.d.ts.map +1 -0
- package/dist/ui/components/UserMessage.test.js +39 -0
- package/dist/ui/components/UserMessage.test.js.map +1 -0
- package/dist/ui/footer-status-layout.test.js +21 -7
- package/dist/ui/footer-status-layout.test.js.map +1 -1
- package/dist/ui/goal-events.d.ts +8 -0
- package/dist/ui/goal-events.d.ts.map +1 -1
- package/dist/ui/goal-events.js +28 -8
- package/dist/ui/goal-events.js.map +1 -1
- package/dist/ui/goal-events.test.js +40 -2
- package/dist/ui/goal-events.test.js.map +1 -1
- package/dist/ui/goal-lifecycle-orchestration.test.js +127 -34
- package/dist/ui/goal-lifecycle-orchestration.test.js.map +1 -1
- package/dist/ui/goal-overlay.test.js +121 -43
- package/dist/ui/goal-overlay.test.js.map +1 -1
- package/dist/ui/goal-summary.d.ts +14 -0
- package/dist/ui/goal-summary.d.ts.map +1 -0
- package/dist/ui/goal-summary.js +194 -0
- package/dist/ui/goal-summary.js.map +1 -0
- package/dist/ui/hooks/useAgentLoop.d.ts +8 -2
- package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
- package/dist/ui/hooks/useAgentLoop.js +20 -9
- package/dist/ui/hooks/useAgentLoop.js.map +1 -1
- package/dist/ui/hooks/useAgentLoop.test.d.ts +2 -0
- package/dist/ui/hooks/useAgentLoop.test.d.ts.map +1 -0
- package/dist/ui/hooks/useAgentLoop.test.js +8 -0
- package/dist/ui/hooks/useAgentLoop.test.js.map +1 -0
- package/dist/ui/hooks/useTerminalSize.d.ts +5 -9
- package/dist/ui/hooks/useTerminalSize.d.ts.map +1 -1
- package/dist/ui/hooks/useTerminalSize.js +9 -14
- package/dist/ui/hooks/useTerminalSize.js.map +1 -1
- package/dist/ui/live-item-flush.d.ts +2 -2
- package/dist/ui/live-item-flush.d.ts.map +1 -1
- package/dist/ui/live-item-flush.js +8 -4
- package/dist/ui/live-item-flush.js.map +1 -1
- package/dist/ui/long-prompt-regression-harness.test.d.ts +2 -0
- package/dist/ui/long-prompt-regression-harness.test.d.ts.map +1 -0
- package/dist/ui/long-prompt-regression-harness.test.js +195 -0
- package/dist/ui/long-prompt-regression-harness.test.js.map +1 -0
- package/dist/ui/plan-overlay.test.js +7 -29
- package/dist/ui/plan-overlay.test.js.map +1 -1
- package/dist/ui/queued-message.test.d.ts.map +1 -1
- package/dist/ui/queued-message.test.js +76 -14
- package/dist/ui/queued-message.test.js.map +1 -1
- package/dist/ui/render.d.ts +21 -24
- package/dist/ui/render.d.ts.map +1 -1
- package/dist/ui/render.js +46 -28
- package/dist/ui/render.js.map +1 -1
- package/dist/ui/render.test.d.ts +2 -0
- package/dist/ui/render.test.d.ts.map +1 -0
- package/dist/ui/render.test.js +16 -0
- package/dist/ui/render.test.js.map +1 -0
- package/dist/ui/scroll-stabilization.test.js +1 -1
- package/dist/ui/scroll-stabilization.test.js.map +1 -1
- package/dist/ui/slash-command-images.test.js +79 -4
- package/dist/ui/slash-command-images.test.js.map +1 -1
- package/dist/ui/terminal-history.d.ts +26 -0
- package/dist/ui/terminal-history.d.ts.map +1 -0
- package/dist/ui/terminal-history.js +910 -0
- package/dist/ui/terminal-history.js.map +1 -0
- package/dist/ui/terminal-history.test.d.ts +2 -0
- package/dist/ui/terminal-history.test.d.ts.map +1 -0
- package/dist/ui/terminal-history.test.js +314 -0
- package/dist/ui/terminal-history.test.js.map +1 -0
- package/dist/ui/tool-group-summary.d.ts +16 -0
- package/dist/ui/tool-group-summary.d.ts.map +1 -0
- package/dist/ui/tool-group-summary.js +123 -0
- package/dist/ui/tool-group-summary.js.map +1 -0
- package/dist/ui/tui-history-parity.test.d.ts +2 -0
- package/dist/ui/tui-history-parity.test.d.ts.map +1 -0
- package/dist/ui/tui-history-parity.test.js +243 -0
- package/dist/ui/tui-history-parity.test.js.map +1 -0
- package/dist/ui/utils/assistant-stream-split.d.ts +6 -0
- package/dist/ui/utils/assistant-stream-split.d.ts.map +1 -0
- package/dist/ui/utils/assistant-stream-split.js +37 -0
- package/dist/ui/utils/assistant-stream-split.js.map +1 -0
- package/dist/ui/utils/assistant-stream-split.test.d.ts +2 -0
- package/dist/ui/utils/assistant-stream-split.test.d.ts.map +1 -0
- package/dist/ui/utils/assistant-stream-split.test.js +58 -0
- package/dist/ui/utils/assistant-stream-split.test.js.map +1 -0
- package/dist/ui/utils/latex-to-unicode.d.ts +22 -0
- package/dist/ui/utils/latex-to-unicode.d.ts.map +1 -0
- package/dist/ui/utils/latex-to-unicode.js +538 -0
- package/dist/ui/utils/latex-to-unicode.js.map +1 -0
- package/dist/ui/utils/markdown-renderer.d.ts +20 -0
- package/dist/ui/utils/markdown-renderer.d.ts.map +1 -0
- package/dist/ui/utils/markdown-renderer.js +327 -0
- package/dist/ui/utils/markdown-renderer.js.map +1 -0
- package/dist/ui/utils/markdown-table.d.ts +9 -0
- package/dist/ui/utils/markdown-table.d.ts.map +1 -0
- package/dist/ui/utils/markdown-table.js +95 -0
- package/dist/ui/utils/markdown-table.js.map +1 -0
- package/dist/ui/utils/text-utils.d.ts +8 -0
- package/dist/ui/utils/text-utils.d.ts.map +1 -0
- package/dist/ui/utils/text-utils.js +16 -0
- package/dist/ui/utils/text-utils.js.map +1 -0
- package/dist/ui/utils/token-to-ansi.js +19 -9
- package/dist/ui/utils/token-to-ansi.js.map +1 -1
- package/dist/ui/utils/user-message-display.d.ts +7 -0
- package/dist/ui/utils/user-message-display.d.ts.map +1 -0
- package/dist/ui/utils/user-message-display.js +26 -0
- package/dist/ui/utils/user-message-display.js.map +1 -0
- package/dist/utils/format.js +0 -9
- package/dist/utils/format.js.map +1 -1
- package/package.json +9 -5
- package/dist/tools/enter-plan.d.ts +0 -8
- package/dist/tools/enter-plan.d.ts.map +0 -1
- package/dist/tools/enter-plan.js +0 -30
- package/dist/tools/enter-plan.js.map +0 -1
- package/dist/tools/exit-plan.d.ts +0 -8
- package/dist/tools/exit-plan.d.ts.map +0 -1
- package/dist/tools/exit-plan.js +0 -36
- package/dist/tools/exit-plan.js.map +0 -1
- package/dist/tools/tasks.d.ts +0 -16
- package/dist/tools/tasks.d.ts.map +0 -1
- package/dist/tools/tasks.js +0 -133
- package/dist/tools/tasks.js.map +0 -1
- package/dist/ui/components/EyesOverlay.d.ts +0 -10
- package/dist/ui/components/EyesOverlay.d.ts.map +0 -1
- package/dist/ui/components/EyesOverlay.js +0 -220
- package/dist/ui/components/EyesOverlay.js.map +0 -1
- package/dist/ui/components/TaskOverlay.d.ts +0 -10
- package/dist/ui/components/TaskOverlay.d.ts.map +0 -1
- package/dist/ui/components/TaskOverlay.js +0 -267
- package/dist/ui/components/TaskOverlay.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continue-replay-inventory.test.d.ts","sourceRoot":"","sources":["../../src/core/continue-replay-inventory.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { messagesToHistoryItems } from "../cli.js";
|
|
3
|
+
import { stripDoneMarkers } from "../utils/plan-steps.js";
|
|
4
|
+
function assistantText(content) {
|
|
5
|
+
if (typeof content === "string")
|
|
6
|
+
return content;
|
|
7
|
+
if (!Array.isArray(content))
|
|
8
|
+
return "";
|
|
9
|
+
return content
|
|
10
|
+
.filter((block) => block.type === "text")
|
|
11
|
+
.map((block) => block.text)
|
|
12
|
+
.join("\n");
|
|
13
|
+
}
|
|
14
|
+
describe("continue replay inventory high-risk classes", () => {
|
|
15
|
+
it("replays persisted DONE markers like live assistant display", () => {
|
|
16
|
+
const persisted = [
|
|
17
|
+
{
|
|
18
|
+
role: "assistant",
|
|
19
|
+
content: "Implemented the first step. [DONE:1]\nContinuing with the next one.",
|
|
20
|
+
},
|
|
21
|
+
];
|
|
22
|
+
const history = messagesToHistoryItems(persisted);
|
|
23
|
+
expect(history).toMatchObject([
|
|
24
|
+
{ kind: "assistant", text: "Implemented the first step. " },
|
|
25
|
+
{ kind: "step_done", stepNum: 1, description: "" },
|
|
26
|
+
{ kind: "assistant", text: "Continuing with the next one." },
|
|
27
|
+
]);
|
|
28
|
+
expect(JSON.stringify(history)).not.toContain("[DONE:1]");
|
|
29
|
+
});
|
|
30
|
+
it("documents that live plan display strips DONE markers from assistant text", () => {
|
|
31
|
+
const persisted = {
|
|
32
|
+
role: "assistant",
|
|
33
|
+
content: "Implemented the first step. [DONE:1]\nContinuing with the next one.",
|
|
34
|
+
};
|
|
35
|
+
const rawRestoredAssistantText = assistantText(persisted.content);
|
|
36
|
+
const liveDisplayAssistantText = stripDoneMarkers(rawRestoredAssistantText);
|
|
37
|
+
expect(rawRestoredAssistantText).toContain("[DONE:1]");
|
|
38
|
+
expect(liveDisplayAssistantText).not.toContain("[DONE:1]");
|
|
39
|
+
expect(liveDisplayAssistantText).toContain("Implemented the first step.");
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=continue-replay-inventory.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continue-replay-inventory.test.js","sourceRoot":"","sources":["../../src/core/continue-replay-inventory.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,SAAS,aAAa,CAAC,OAA2B;IAChD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,KAAK,EAA2C,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;SACjF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SAC1B,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,6CAA6C,EAAE,GAAG,EAAE;IAC3D,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,SAAS,GAAc;YAC3B;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,qEAAqE;aAC/E;SACF,CAAC;QAEF,MAAM,OAAO,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAElD,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;YAC5B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,8BAA8B,EAAE;YAC3D,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;YAClD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,+BAA+B,EAAE;SAC7D,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,SAAS,GAAY;YACzB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,qEAAqE;SAC/E,CAAC;QAEF,MAAM,wBAAwB,GAAG,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClE,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QAE5E,MAAM,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -43,7 +43,9 @@ export interface GoalControllerOptions {
|
|
|
43
43
|
taskAttemptLimit?: number;
|
|
44
44
|
verifierFixLimit?: number;
|
|
45
45
|
}
|
|
46
|
+
export declare function unsatisfiedGoalEvidencePlanItems(run: GoalRun): GoalRun["evidencePlan"];
|
|
46
47
|
export declare function hasRequiredGoalEvidence(run: GoalRun): GoalCompletionCheck;
|
|
48
|
+
export declare function hasFreshGoalCompletionAudit(run: GoalRun): GoalCompletionCheck;
|
|
47
49
|
export declare function canCompleteGoalRun(run: GoalRun): GoalCompletionCheck;
|
|
48
50
|
export declare function shouldClearGoalContinuation(decision: GoalControllerDecision): boolean;
|
|
49
51
|
export declare function shouldCreateVerifierFixTask(run: GoalRun, limit?: number): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"goal-controller.d.ts","sourceRoot":"","sources":["../../src/core/goal-controller.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"goal-controller.d.ts","sourceRoot":"","sources":["../../src/core/goal-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,QAAQ,EACd,MAAM,iBAAiB,CAAC;AAMzB,eAAO,MAAM,+BAA+B,IAAI,CAAC;AACjD,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAKjD,MAAM,MAAM,sBAAsB,GAC9B;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACpD,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEN,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAyHD,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAEtF;AA0BD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAYzE;AA6DD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CA6D7E;AAsCD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAoDpE;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAErF;AAED,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,OAAO,EACZ,KAAK,SAAkC,GACtC,OAAO,CAET;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEzD;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,SAAI,GAAG,OAAO,CAQjF;AAsDD,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,sBAAsB,GAAG;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAgBA;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE,qBAA0B,GAClC,sBAAsB,CAwKxB"}
|
|
@@ -1,15 +1,94 @@
|
|
|
1
1
|
import { formatGoalBlockingPrerequisites, goalHasBlockingPrerequisites, } from "./goal-store.js";
|
|
2
|
+
import { formatGoalReferencesForPrompt, referencesRequiringAcknowledgement, } from "./goal-references.js";
|
|
2
3
|
export const DEFAULT_GOAL_TASK_ATTEMPT_LIMIT = 5;
|
|
3
4
|
export const DEFAULT_GOAL_VERIFIER_FIX_LIMIT = 5;
|
|
5
|
+
const FINAL_COMPLETION_AUDIT_TASK_TITLE = "Audit Goal completion evidence";
|
|
6
|
+
const DEFAULT_GOAL_COMPLETION_AUDIT_LIMIT = 3;
|
|
4
7
|
function needsHarnessInstrumentation(run) {
|
|
5
8
|
return run.harness.some((item) => !item.command && !item.path);
|
|
6
9
|
}
|
|
10
|
+
function referencePromptSection(references) {
|
|
11
|
+
const section = formatGoalReferencesForPrompt(references ?? []);
|
|
12
|
+
return section ? `${section}\n\n` : "";
|
|
13
|
+
}
|
|
14
|
+
function referenceMentionTokens(reference) {
|
|
15
|
+
return [reference.id, reference.label, reference.value, reference.path]
|
|
16
|
+
.filter((token) => !!token?.trim())
|
|
17
|
+
.map((token) => token.toLowerCase());
|
|
18
|
+
}
|
|
19
|
+
function requiresGoalReliabilityContract(run) {
|
|
20
|
+
const fields = [
|
|
21
|
+
run.goal,
|
|
22
|
+
...run.successCriteria,
|
|
23
|
+
...(run.references ?? []).map((reference) => `${reference.id} ${reference.label} ${reference.content ?? ""}`),
|
|
24
|
+
...run.evidence.map((item) => `${item.label}\n${item.path ?? ""}\n${item.content ?? ""}`),
|
|
25
|
+
].join("\n");
|
|
26
|
+
return /GOAL_PLAN/.test(fields);
|
|
27
|
+
}
|
|
28
|
+
function hasOriginalGoalPromptReference(run) {
|
|
29
|
+
return (run.references ?? []).some((reference) => reference.id === "original-goal-prompt" &&
|
|
30
|
+
reference.kind === "prompt" &&
|
|
31
|
+
reference.content?.trim());
|
|
32
|
+
}
|
|
33
|
+
function hasDurableGoalPlan(run) {
|
|
34
|
+
const fields = [
|
|
35
|
+
run.goal,
|
|
36
|
+
...run.evidence.map((item) => `${item.label}\n${item.path ?? ""}\n${item.content ?? ""}`),
|
|
37
|
+
].join("\n");
|
|
38
|
+
return /GOAL_PLAN/.test(fields) && /research=/.test(fields) && /success=/.test(fields);
|
|
39
|
+
}
|
|
40
|
+
function goalPromptDurabilityFailure(run) {
|
|
41
|
+
if (!requiresGoalReliabilityContract(run))
|
|
42
|
+
return undefined;
|
|
43
|
+
if (!hasOriginalGoalPromptReference(run)) {
|
|
44
|
+
return "Goal is missing durable [original-goal-prompt] reference content.";
|
|
45
|
+
}
|
|
46
|
+
if (!hasDurableGoalPlan(run)) {
|
|
47
|
+
return "Goal is missing durable planner GOAL_PLAN evidence/state.";
|
|
48
|
+
}
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
function fieldContainsReference(reference, fields) {
|
|
52
|
+
const haystack = fields.join("\n").toLowerCase();
|
|
53
|
+
return referenceMentionTokens(reference).some((token) => haystack.includes(token));
|
|
54
|
+
}
|
|
55
|
+
function unacknowledgedGoalReferences(run) {
|
|
56
|
+
const setupAndWorkFields = [
|
|
57
|
+
...run.successCriteria,
|
|
58
|
+
...run.evidencePlan.map((item) => `${item.id} ${item.label} ${item.description} ${item.command ?? ""} ${item.path ?? ""} ${item.evidence ?? ""}`),
|
|
59
|
+
...run.tasks.map((task) => `${task.title} ${task.prompt} ${task.lastSummary ?? ""}`),
|
|
60
|
+
...run.evidence.map((item) => `${item.label} ${item.path ?? ""} ${item.content ?? ""}`),
|
|
61
|
+
run.verifier?.description ?? "",
|
|
62
|
+
run.verifier?.command ?? "",
|
|
63
|
+
run.verifier?.lastResult?.summary ?? "",
|
|
64
|
+
run.completionAudit?.summary ?? "",
|
|
65
|
+
];
|
|
66
|
+
const completionFields = [
|
|
67
|
+
run.verifier?.description ?? "",
|
|
68
|
+
run.verifier?.command ?? "",
|
|
69
|
+
run.verifier?.lastResult?.summary ?? "",
|
|
70
|
+
run.verifier?.lastResult?.outputPath ?? "",
|
|
71
|
+
run.completionAudit?.summary ?? "",
|
|
72
|
+
run.completionAudit?.outputPath ?? "",
|
|
73
|
+
];
|
|
74
|
+
return (run.references ?? []).filter((reference) => {
|
|
75
|
+
if (reference.kind === "prompt") {
|
|
76
|
+
return (requiresGoalReliabilityContract(run) &&
|
|
77
|
+
reference.id === "original-goal-prompt" &&
|
|
78
|
+
!fieldContainsReference(reference, completionFields));
|
|
79
|
+
}
|
|
80
|
+
if (!referencesRequiringAcknowledgement([reference]).length)
|
|
81
|
+
return false;
|
|
82
|
+
return !fieldContainsReference(reference, setupAndWorkFields);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
7
85
|
function buildHarnessTaskPrompt(run) {
|
|
8
86
|
const harnessItems = run.harness
|
|
9
87
|
.filter((item) => !item.command && !item.path)
|
|
10
88
|
.map((item) => `- ${item.label}: ${item.description ?? "Create local instrumentation."}`)
|
|
11
89
|
.join("\n");
|
|
12
90
|
return (`Goal: ${run.goal}\n\n` +
|
|
91
|
+
referencePromptSection(run.references) +
|
|
13
92
|
`Build only the missing local/free harness instrumentation needed before verification. Start by restating the intended experience, the relevant failure modes, and the senses/signals this harness must observe; do not default to generic tests, scripts, screenshots, benchmarks, or simulations unless that signal is required for this specific goal.\n` +
|
|
14
93
|
`${harnessItems}\n\n` +
|
|
15
94
|
`Inventory available local capabilities just deeply enough to choose a proportional instrument, then build it. Update the Goal harness/verifier metadata with the goals tool and record durable evidence showing the instrument exists and works. Do not require paid services or signups; block only with exact user instructions if a true external prerequisite is missing.`);
|
|
@@ -21,10 +100,16 @@ function blockedEvidencePlanReason(run) {
|
|
|
21
100
|
return `${blocked.label}: ${blocked.instructions?.trim() || "User must provide this evidence prerequisite."}`;
|
|
22
101
|
}
|
|
23
102
|
function needsEvidenceInstrumentation(run) {
|
|
24
|
-
return run.
|
|
103
|
+
return unsatisfiedGoalEvidencePlanItems(run).some((item) => item.status === "planned");
|
|
104
|
+
}
|
|
105
|
+
export function unsatisfiedGoalEvidencePlanItems(run) {
|
|
106
|
+
return run.evidencePlan.filter((item) => !evidencePlanItemSatisfiedByDurableEvidence(run, item));
|
|
107
|
+
}
|
|
108
|
+
function exactTokenReferenced(content, token) {
|
|
109
|
+
return !!content?.trim() && !!token?.trim() && content.includes(token);
|
|
25
110
|
}
|
|
26
111
|
function evidencePlanItemSatisfiedByDurableEvidence(run, item) {
|
|
27
|
-
if (item.status === "ready")
|
|
112
|
+
if (item.status === "ready" && item.evidence?.trim())
|
|
28
113
|
return true;
|
|
29
114
|
if (item.evidence?.trim())
|
|
30
115
|
return true;
|
|
@@ -34,25 +119,19 @@ function evidencePlanItemSatisfiedByDurableEvidence(run, item) {
|
|
|
34
119
|
return true;
|
|
35
120
|
if (item.path && verifier.outputPath === item.path)
|
|
36
121
|
return true;
|
|
37
|
-
const haystack = `${verifier.command ?? ""}\n${verifier.outputPath ?? ""}\n${verifier.summary}`.toLowerCase();
|
|
38
|
-
const needles = [item.label, item.description, item.command, item.path]
|
|
39
|
-
.filter((value) => !!value?.trim())
|
|
40
|
-
.map((value) => value.toLowerCase());
|
|
41
|
-
if (needles.some((needle) => haystack.includes(needle)))
|
|
42
|
-
return true;
|
|
43
122
|
}
|
|
44
123
|
return run.evidence.some((evidence) => {
|
|
45
124
|
if (item.path && evidence.path === item.path)
|
|
46
125
|
return true;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
126
|
+
if (item.command && exactTokenReferenced(evidence.content, item.command))
|
|
127
|
+
return true;
|
|
128
|
+
if (item.path && exactTokenReferenced(evidence.content, item.path))
|
|
129
|
+
return true;
|
|
130
|
+
return false;
|
|
52
131
|
});
|
|
53
132
|
}
|
|
54
133
|
export function hasRequiredGoalEvidence(run) {
|
|
55
|
-
const missing =
|
|
134
|
+
const missing = unsatisfiedGoalEvidencePlanItems(run);
|
|
56
135
|
if (missing.length > 0) {
|
|
57
136
|
return {
|
|
58
137
|
ok: false,
|
|
@@ -64,19 +143,121 @@ export function hasRequiredGoalEvidence(run) {
|
|
|
64
143
|
reason: "All required evidence-plan items are ready or proven by durable evidence.",
|
|
65
144
|
};
|
|
66
145
|
}
|
|
146
|
+
function finalAuditTaskCount(run) {
|
|
147
|
+
return run.tasks.filter((task) => task.title === FINAL_COMPLETION_AUDIT_TASK_TITLE).length;
|
|
148
|
+
}
|
|
149
|
+
function shouldCreateFinalAuditTask(run, limit = DEFAULT_GOAL_COMPLETION_AUDIT_LIMIT) {
|
|
150
|
+
return finalAuditTaskCount(run) < limit;
|
|
151
|
+
}
|
|
152
|
+
function isFinalAuditWorkerEvidence(run, label) {
|
|
153
|
+
const match = /^Worker\s+(\S+)\s+/.exec(label);
|
|
154
|
+
const workerId = match?.[1];
|
|
155
|
+
if (!workerId)
|
|
156
|
+
return false;
|
|
157
|
+
return run.tasks.some((task) => task.title === FINAL_COMPLETION_AUDIT_TASK_TITLE && task.workerId === workerId);
|
|
158
|
+
}
|
|
159
|
+
function isCompletionAuditDecision(label) {
|
|
160
|
+
return label === "Goal decision: completion_audit";
|
|
161
|
+
}
|
|
162
|
+
function latestMatchingEvidence(evidence, predicate) {
|
|
163
|
+
return evidence.filter(predicate).sort((a, b) => b.createdAt.localeCompare(a.createdAt))[0];
|
|
164
|
+
}
|
|
165
|
+
function latestNonAuditWorkerEvidenceAfterVerifier(run) {
|
|
166
|
+
const verifierCheckedAt = run.verifier?.lastResult?.checkedAt;
|
|
167
|
+
if (!verifierCheckedAt)
|
|
168
|
+
return undefined;
|
|
169
|
+
return latestMatchingEvidence(run.evidence, (item) => item.createdAt > verifierCheckedAt &&
|
|
170
|
+
item.label.startsWith("Worker ") &&
|
|
171
|
+
!isFinalAuditWorkerEvidence(run, item.label));
|
|
172
|
+
}
|
|
173
|
+
function latestCompletionRelevantEvidenceAfterVerifier(run) {
|
|
174
|
+
const verifierCheckedAt = run.verifier?.lastResult?.checkedAt;
|
|
175
|
+
if (!verifierCheckedAt)
|
|
176
|
+
return undefined;
|
|
177
|
+
return latestMatchingEvidence(run.evidence, (item) => {
|
|
178
|
+
if (item.createdAt <= verifierCheckedAt)
|
|
179
|
+
return false;
|
|
180
|
+
if (isFinalAuditWorkerEvidence(run, item.label))
|
|
181
|
+
return false;
|
|
182
|
+
if (isCompletionAuditDecision(item.label))
|
|
183
|
+
return false;
|
|
184
|
+
if (item.label === "Verifier result" || item.label.startsWith("Verifier "))
|
|
185
|
+
return false;
|
|
186
|
+
return item.label.startsWith("Worker ") || item.label.startsWith("Goal decision:");
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
export function hasFreshGoalCompletionAudit(run) {
|
|
190
|
+
const verifierResult = run.verifier?.lastResult;
|
|
191
|
+
if (!verifierResult || verifierResult.status !== "pass") {
|
|
192
|
+
return { ok: false, reason: "Goal has no passing verifier result to audit." };
|
|
193
|
+
}
|
|
194
|
+
const postVerifierWorkerEvidence = latestNonAuditWorkerEvidenceAfterVerifier(run);
|
|
195
|
+
if (postVerifierWorkerEvidence) {
|
|
196
|
+
return {
|
|
197
|
+
ok: false,
|
|
198
|
+
reason: `Latest verifier result is stale after later Goal worker evidence: ${postVerifierWorkerEvidence.label}.`,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
const audit = run.completionAudit;
|
|
202
|
+
if (!audit) {
|
|
203
|
+
return { ok: false, reason: "Goal has no final completion audit." };
|
|
204
|
+
}
|
|
205
|
+
if (audit.status !== "pass") {
|
|
206
|
+
return { ok: false, reason: `Final completion audit status is ${audit.status}.` };
|
|
207
|
+
}
|
|
208
|
+
if (!audit.summary.startsWith("FINAL_AUDIT_PASS")) {
|
|
209
|
+
return {
|
|
210
|
+
ok: false,
|
|
211
|
+
reason: "Final completion audit pass summary must start with FINAL_AUDIT_PASS.",
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
if (!audit.summary.includes(`verifier_checked_at=${verifierResult.checkedAt}`)) {
|
|
215
|
+
return {
|
|
216
|
+
ok: false,
|
|
217
|
+
reason: "Final completion audit pass summary must include latest verifier_checked_at.",
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
if (!audit.outputPath && !audit.summary.match(/(?:output|artifact|log|path)=\S+/)) {
|
|
221
|
+
return {
|
|
222
|
+
ok: false,
|
|
223
|
+
reason: "Final completion audit pass must reference verifier output or artifacts.",
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
if (audit.verifierCheckedAt !== verifierResult.checkedAt) {
|
|
227
|
+
return {
|
|
228
|
+
ok: false,
|
|
229
|
+
reason: "Final completion audit does not match the latest verifier result.",
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
if (audit.checkedAt < verifierResult.checkedAt) {
|
|
233
|
+
return {
|
|
234
|
+
ok: false,
|
|
235
|
+
reason: "Final completion audit is older than the latest verifier result.",
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
const newerEvidence = latestCompletionRelevantEvidenceAfterVerifier(run);
|
|
239
|
+
if (newerEvidence && newerEvidence.createdAt > audit.checkedAt) {
|
|
240
|
+
return {
|
|
241
|
+
ok: false,
|
|
242
|
+
reason: `Final completion audit is stale after later Goal evidence: ${newerEvidence.label}.`,
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
return { ok: true, reason: "Final completion audit passed after latest verifier evidence." };
|
|
246
|
+
}
|
|
67
247
|
function buildEvidencePlanTaskPrompt(run) {
|
|
68
|
-
const plannedItems = run
|
|
69
|
-
.filter((item) => item.status === "planned")
|
|
248
|
+
const plannedItems = unsatisfiedGoalEvidencePlanItems(run)
|
|
70
249
|
.map((item) => `- ${item.label} (${item.mechanism}): ${item.description}${item.command ? `; candidate command: ${item.command}` : ""}${item.path ? `; artifact: ${item.path}` : ""}`)
|
|
71
250
|
.join("\n");
|
|
72
251
|
return (`Goal: ${run.goal}\n\n` +
|
|
252
|
+
referencePromptSection(run.references) +
|
|
73
253
|
`Turn the planned proof paths below into real local/free verification capability before the Goal verifier runs. For each path, preserve the orchestrator's goal-specific sensory intent: what experience is being observed, what failure it catches, and what signal proves it.\n` +
|
|
74
254
|
`${plannedItems}\n\n` +
|
|
75
255
|
`Inventory available local capabilities without anchoring on any fixed tool category. Build only the proportional instrument needed for this proof path, update the Goal evidence_plan/harness/verifier metadata with the goals tool, and persist concrete command/file/artifact/log evidence that the instrument works. Do not use narrative-only verification or human visual inspection as completion evidence. Only block with exact user instructions for inputs that cannot be generated or checked locally.`);
|
|
76
256
|
}
|
|
77
257
|
function buildVerifierTaskPrompt(run) {
|
|
78
258
|
return (`Goal: ${run.goal}\n\n` +
|
|
79
|
-
|
|
259
|
+
referencePromptSection(run.references) +
|
|
260
|
+
`Define and build a real end-to-end verifier for this Goal. Begin from the intended experience and required senses/signals already implied by the success criteria and evidence plan, including mandatory Goal references. Choose a proportional local/free verifier that observes those signals and catches the important goal-specific failures; do not add generic simulations, screenshots, benchmarks, or scripts unless they directly support that proof. Update the Goal with a verifier_command and verifier_description using the goals tool. The verifier must be runnable locally/free and produce durable command or file evidence, not narrative or human visual inspection. If an external prerequisite is missing, mark it missing with exact user instructions.`);
|
|
80
261
|
}
|
|
81
262
|
function incompleteTasks(run) {
|
|
82
263
|
return run.tasks.filter((task) => task.status !== "done");
|
|
@@ -88,6 +269,28 @@ function nextRunnableTask(run) {
|
|
|
88
269
|
return run.tasks.find((task) => task.status === "pending" || task.status === "failed");
|
|
89
270
|
}
|
|
90
271
|
export function canCompleteGoalRun(run) {
|
|
272
|
+
if (run.status === "draft") {
|
|
273
|
+
return { ok: false, reason: "Goal setup is incomplete and remains draft." };
|
|
274
|
+
}
|
|
275
|
+
if (run.successCriteria.length === 0) {
|
|
276
|
+
return { ok: false, reason: "Goal setup is incomplete: success criteria are required." };
|
|
277
|
+
}
|
|
278
|
+
if (run.evidencePlan.length === 0) {
|
|
279
|
+
return { ok: false, reason: "Goal setup is incomplete: an evidence plan is required." };
|
|
280
|
+
}
|
|
281
|
+
if (!run.verifier?.command) {
|
|
282
|
+
return { ok: false, reason: "Goal setup is incomplete: verifier command is required." };
|
|
283
|
+
}
|
|
284
|
+
const promptDurabilityFailure = goalPromptDurabilityFailure(run);
|
|
285
|
+
if (promptDurabilityFailure)
|
|
286
|
+
return { ok: false, reason: promptDurabilityFailure };
|
|
287
|
+
const unacknowledgedReferences = unacknowledgedGoalReferences(run);
|
|
288
|
+
if (unacknowledgedReferences.length > 0) {
|
|
289
|
+
return {
|
|
290
|
+
ok: false,
|
|
291
|
+
reason: `Goal references are not covered by criteria/tasks/evidence/verifier/audit: ${unacknowledgedReferences.map((item) => item.label).join(", ")}.`,
|
|
292
|
+
};
|
|
293
|
+
}
|
|
91
294
|
if (goalHasBlockingPrerequisites(run)) {
|
|
92
295
|
return { ok: false, reason: formatGoalBlockingPrerequisites(run) };
|
|
93
296
|
}
|
|
@@ -108,7 +311,13 @@ export function canCompleteGoalRun(run) {
|
|
|
108
311
|
if (verifierResult.status !== "pass") {
|
|
109
312
|
return { ok: false, reason: `Verifier status is ${verifierResult.status}.` };
|
|
110
313
|
}
|
|
111
|
-
|
|
314
|
+
const completionAudit = hasFreshGoalCompletionAudit(run);
|
|
315
|
+
if (!completionAudit.ok)
|
|
316
|
+
return completionAudit;
|
|
317
|
+
return {
|
|
318
|
+
ok: true,
|
|
319
|
+
reason: "All tasks are done, verifier evidence passed, and final completion audit passed.",
|
|
320
|
+
};
|
|
112
321
|
}
|
|
113
322
|
export function shouldClearGoalContinuation(decision) {
|
|
114
323
|
return decision.kind !== "wait";
|
|
@@ -129,6 +338,24 @@ export function hasRepeatedVerifierFailure(run, repeatLimit = 2) {
|
|
|
129
338
|
const last = failures[failures.length - 1];
|
|
130
339
|
return failures.slice(-repeatLimit).every((item) => item === last);
|
|
131
340
|
}
|
|
341
|
+
function buildFinalCompletionAuditTaskPrompt(run) {
|
|
342
|
+
const verifier = run.verifier?.lastResult;
|
|
343
|
+
const evidencePlanItems = run.evidencePlan
|
|
344
|
+
.map((item) => `- ${item.id} / ${item.label} (${item.status}, ${item.mechanism}): ${item.description}${item.command ? `; command=${item.command}` : ""}${item.path ? `; path=${item.path}` : ""}${item.evidence ? `; evidence=${item.evidence}` : ""}`)
|
|
345
|
+
.join("\n");
|
|
346
|
+
const recentEvidence = run.evidence
|
|
347
|
+
.slice(-12)
|
|
348
|
+
.map((item) => `- ${item.createdAt} ${item.label}${item.path ? ` (${item.path})` : ""}: ${(item.content ?? "").slice(0, 320)}`)
|
|
349
|
+
.join("\n");
|
|
350
|
+
return (`Goal: ${run.goal}\n\n` +
|
|
351
|
+
referencePromptSection(run.references) +
|
|
352
|
+
`You are the final read-only Goal completion auditor. Do not edit files, do not run broad implementation work, do not mark the Goal complete, and do not trust worker summaries by themselves. Verify the original success criteria and every mandatory Goal reference against actual durable artifacts after the latest verifier pass.\n\n` +
|
|
353
|
+
`Success criteria:\n${run.successCriteria.map((item) => `- ${item}`).join("\n") || "- none recorded"}\n\n` +
|
|
354
|
+
`Latest verifier: status=${verifier?.status ?? "unknown"}; checkedAt=${verifier?.checkedAt ?? "unknown"}; command=${verifier?.command ?? run.verifier?.command ?? "not recorded"}; output=${verifier?.outputPath ?? "not recorded"}; summary=${verifier?.summary ?? "not recorded"}\n\n` +
|
|
355
|
+
`Evidence plan:\n${evidencePlanItems || "- none"}\n\n` +
|
|
356
|
+
`Recent durable evidence:\n${recentEvidence || "- none"}\n\n` +
|
|
357
|
+
`Read the referenced report/log/source artifacts and compare them with the latest verifier result. The coordinator schedules and records decisions/state; the verifier path/UI/controller executes the configured verifier command as the final pre-audit gate and records goals verify evidence; this final audit records goals audit only after comparing the latest verifier output and references, including [original-goal-prompt] and durable GOAL_PLAN evidence. If an evidence-plan item is still planned but already matched by durable verifier/source/file evidence, update that evidence_plan item to status=ready with a concise evidence summary before recording the audit; if proof is missing, create a new pending Goal task with exact fix instructions and do not pass the audit. If everything matches, record a passing completion audit with the goals tool by using action=audit, verification_status=pass, output_path matching the verifier output when available, and a summary that starts with "FINAL_AUDIT_PASS" and includes "verifier_checked_at=${verifier?.checkedAt ?? "unknown"}", "original-goal-prompt", and "GOAL_PLAN". If anything is missing, stale, contradictory, or unverified, create a new pending Goal task with exact instructions to fix it, record evidence describing the mismatch, and leave the audit failing or absent so the coordinator resumes a worker until fixed.`);
|
|
358
|
+
}
|
|
132
359
|
function buildVerifierFailureTaskPrompt(run) {
|
|
133
360
|
const result = run.verifier?.lastResult;
|
|
134
361
|
const priorSummaries = run.evidence
|
|
@@ -138,6 +365,7 @@ function buildVerifierFailureTaskPrompt(run) {
|
|
|
138
365
|
.join("\n") || "- none";
|
|
139
366
|
const attempt = verifierFixTaskCount(run) + 1;
|
|
140
367
|
return (`Original objective: ${run.goal}\n\n` +
|
|
368
|
+
referencePromptSection(run.references) +
|
|
141
369
|
`Success criteria:\n${run.successCriteria.map((item) => `- ${item}`).join("\n") || "- none recorded"}\n\n` +
|
|
142
370
|
`Verifier command: ${run.verifier?.command ?? "(missing)"}\n` +
|
|
143
371
|
`Exit code: ${result?.exitCode ?? "unknown"}\n` +
|
|
@@ -170,15 +398,15 @@ export function decideGoalNextAction(run, options = {}) {
|
|
|
170
398
|
if (completion.ok) {
|
|
171
399
|
return { kind: "complete", reason: completion.reason };
|
|
172
400
|
}
|
|
173
|
-
if (run
|
|
401
|
+
if (goalHasBlockingPrerequisites(run)) {
|
|
402
|
+
return { kind: "blocked", reason: formatGoalBlockingPrerequisites(run) };
|
|
403
|
+
}
|
|
404
|
+
if ((run.status === "blocked" && run.verifier?.lastResult?.status !== "pass") ||
|
|
174
405
|
run.status === "failed" ||
|
|
175
|
-
run.status === "passed" ||
|
|
406
|
+
(run.status === "passed" && run.verifier?.lastResult?.status !== "pass") ||
|
|
176
407
|
(run.status === "paused" && !run.continueRequestedAt)) {
|
|
177
408
|
return { kind: "terminal", status: run.status, reason: `Goal is ${run.status}.` };
|
|
178
409
|
}
|
|
179
|
-
if (goalHasBlockingPrerequisites(run)) {
|
|
180
|
-
return { kind: "blocked", reason: formatGoalBlockingPrerequisites(run) };
|
|
181
|
-
}
|
|
182
410
|
if (run.activeWorkerId) {
|
|
183
411
|
return {
|
|
184
412
|
kind: "wait",
|
|
@@ -217,11 +445,28 @@ export function decideGoalNextAction(run, options = {}) {
|
|
|
217
445
|
if (blockedEvidence) {
|
|
218
446
|
return { kind: "blocked", reason: blockedEvidence };
|
|
219
447
|
}
|
|
448
|
+
if (run.verifier?.lastResult?.status === "pass" &&
|
|
449
|
+
latestNonAuditWorkerEvidenceAfterVerifier(run) &&
|
|
450
|
+
run.verifier?.command) {
|
|
451
|
+
return {
|
|
452
|
+
kind: "run_verifier",
|
|
453
|
+
command: run.verifier.command,
|
|
454
|
+
reason: "Latest verifier result is stale after later Goal worker evidence; rerunning configured verifier as the final pre-audit gate.",
|
|
455
|
+
};
|
|
456
|
+
}
|
|
220
457
|
if (needsEvidenceInstrumentation(run)) {
|
|
221
458
|
if (run.verifier?.lastResult?.status === "pass") {
|
|
459
|
+
if (shouldCreateFinalAuditTask(run)) {
|
|
460
|
+
return {
|
|
461
|
+
kind: "create_task",
|
|
462
|
+
title: FINAL_COMPLETION_AUDIT_TASK_TITLE,
|
|
463
|
+
prompt: buildFinalCompletionAuditTaskPrompt(run),
|
|
464
|
+
reason: `Verifier passed; final read-only audit must reconcile ${unsatisfiedGoalEvidencePlanItems(run).length} evidence-plan item(s) before the Goal can pass (${finalAuditTaskCount(run) + 1}/${DEFAULT_GOAL_COMPLETION_AUDIT_LIMIT}).`,
|
|
465
|
+
};
|
|
466
|
+
}
|
|
222
467
|
return {
|
|
223
468
|
kind: "blocked",
|
|
224
|
-
reason: "Verifier passed, but
|
|
469
|
+
reason: "Verifier passed, but final completion audit did not reconcile the Goal evidence plan after bounded attempts.",
|
|
225
470
|
};
|
|
226
471
|
}
|
|
227
472
|
return {
|
|
@@ -268,6 +513,20 @@ export function decideGoalNextAction(run, options = {}) {
|
|
|
268
513
|
reason: `Verifier fix task limit reached (${limit}).`,
|
|
269
514
|
};
|
|
270
515
|
}
|
|
516
|
+
if (run.verifier?.lastResult?.status === "pass") {
|
|
517
|
+
if (shouldCreateFinalAuditTask(run)) {
|
|
518
|
+
return {
|
|
519
|
+
kind: "create_task",
|
|
520
|
+
title: FINAL_COMPLETION_AUDIT_TASK_TITLE,
|
|
521
|
+
prompt: buildFinalCompletionAuditTaskPrompt(run),
|
|
522
|
+
reason: `Verifier passed; creating final read-only completion audit before the Goal can pass (${finalAuditTaskCount(run) + 1}/${DEFAULT_GOAL_COMPLETION_AUDIT_LIMIT}).`,
|
|
523
|
+
};
|
|
524
|
+
}
|
|
525
|
+
return {
|
|
526
|
+
kind: "blocked",
|
|
527
|
+
reason: "Verifier passed, but final completion audit did not pass after bounded attempts.",
|
|
528
|
+
};
|
|
529
|
+
}
|
|
271
530
|
if (run.verifier?.command) {
|
|
272
531
|
return {
|
|
273
532
|
kind: "run_verifier",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"goal-controller.js","sourceRoot":"","sources":["../../src/core/goal-controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"goal-controller.js","sourceRoot":"","sources":["../../src/core/goal-controller.ts"],"names":[],"mappings":"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"}
|