Q3: record a structured handoff on every delegated task

create_task now pins upstream files by content hash and carries the
source task, source thread, verified facts, open questions and
acceptance criteria into the assignee's prompt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-10-08 02:35:12 -04:00
1 parent 9f2adce7b3
commit 6570492daa
22 files changed
+219 -28

No files matched your search

+3 -3
View File
@@ -82,7 +82,7 @@ describe("interactive execution lane", () => {
// Older autonomous work: the CEO DMs Dana, waking her.
dispatchAgentTool({ db: connection.db, organization, chat }, {
orgId, agent: { id: ceoId, modelProviderId: null, modelId: null },
taskProjectId: null, taskGoalId: null, workspace: null,
taskProjectId: null, taskGoalId: null, taskId: null, sourceThreadId: null, workspace: null,
}, call("send_message", { to: "Dana", body: "Grind through the migration backlog." }));
// Newer interactive work: the founder DMs the CEO.
@@ -169,7 +169,7 @@ describe("interactive execution lane", () => {
// Autonomous work that will trip the transient failure and park the provider.
dispatchAgentTool({ db: connection.db, organization, chat }, {
orgId, agent: { id: ceoId, modelProviderId: null, modelId: null },
taskProjectId: null, taskGoalId: null, workspace: null,
taskProjectId: null, taskGoalId: null, taskId: null, sourceThreadId: null, workspace: null,
}, call("send_message", { to: "Dana", body: "Grind through the migration backlog." }));
const stopWorker = startTaskQueueWorker({
@@ -232,7 +232,7 @@ describe("interactive execution lane", () => {
const taskExecution = new TaskExecutionService(connection.db, providers);
const wakeDana = () => dispatchAgentTool({ db: connection.db, organization, chat }, {
orgId, agent: { id: ceoId, modelProviderId: null, modelId: null },
taskProjectId: null, taskGoalId: null, workspace: null,
taskProjectId: null, taskGoalId: null, taskId: null, sourceThreadId: null, workspace: null,
}, call("send_message", { to: "Dana", body: "Grind through the migration backlog." }));
wakeDana();
@@ -34,7 +34,7 @@ describe("thread participant wake", () => {
const deps = { db: connection.db, organization, chat };
const ctx: AgentToolContext = {
orgId, agent: { id: ceoId, modelProviderId: providerId, modelId: "gpt-5.4" },
taskProjectId: null, taskGoalId: null, workspace: null,
taskProjectId: null, taskGoalId: null, taskId: null, sourceThreadId: null, workspace: null,
};
const firstResult = dispatchAgentTool(deps, ctx, call("send_message", { channel: "general", body: "The plan is ready for review." }));