feat(agent): align investigation reports and selected context

This commit is contained in:
2026-10-10 16:02:47 +08:00
parent d58bd19039
commit a31b76a793
18 changed files with 1172 additions and 44 deletions
+17
View File
@@ -1,4 +1,5 @@
import { describe, expect, it } from "bun:test";
import proposeTaskAction from "../../.opencode/tools/propose_task_action.js";
import {
agentTriggerContextSchema,
@@ -37,6 +38,22 @@ describe("agent event trigger", () => {
expect(prompt).toContain(trigger.trigger_id);
});
it("keeps event entry and action-tool instructions consistent with report-driven completion", () => {
const prompt = buildAgentTriggerPrompt(agentTriggerContextSchema.parse(trigger));
expect(prompt).toContain("get_operational_task_context");
expect(prompt).toContain("final/insufficient_data");
expect(prompt).toContain("正常结束本轮");
expect(prompt).toContain("权限拒绝和接口错误不能证明数据缺失");
expect(prompt).toContain("interim/concluded");
expect(prompt).not.toContain("开始调查前调用 publish_execution_plan");
expect(prompt).not.toContain("人工工作保持 waiting");
expect(proposeTaskAction.description).toContain("interim concluded report");
expect(proposeTaskAction.description).toContain("No execution plan is required");
expect(proposeTaskAction.description).toContain("node_id is an optional display reference");
expect(proposeTaskAction.description).not.toContain("published current plan");
expect(proposeTaskAction.description).not.toContain("republish the plan");
});
it("rejects a different scenario instead of routing arbitrary work orders", () => {
expect(agentTriggerContextSchema.safeParse({
...trigger,