FN-8207: add task reassignment for delegated work
Correct delegation routing for duplicate tasks and enable explicit task owner reassignment.
- Preserve requested assignee and todo routing on duplicate canonical tasks
- Add governed fn_task_assign to engine, heartbeat, triage, workflow, and chat sessions
- Cover assignment validation, truthful delegation responses, and tool availability
Files changed:
.changeset/fn-8207-delegate-assign.md | 7 ++
docs/agents.md | 6 ++
packages/core/src/types.ts | 1 +
packages/core/src/usage-events.ts | 2 +-
.../dashboard/src/__tests__/chat-manager.test.ts | 2 +
packages/dashboard/src/__tests__/chat.test.ts | 2 +
packages/dashboard/src/chat.ts | 2 +
.../engine/src/__tests__/agent-action-gate.test.ts | 2 +
.../src/__tests__/agent-tools-delegation.test.ts | 99 ++++++++++++++++++-
.../src/__tests__/agent-tools-task-assign.test.ts | 75 +++++++++++++++
.../src/__tests__/gating-classifications.test.ts | 1 +
.../src/__tests__/heartbeat-executor.test.ts | 8 +-
.../src/__tests__/permanent-agent-gating.test.ts | 2 +
.../src/__tests__/step-session-executor.test.ts | 4 +-
packages/engine/src/__tests__/triage.test.ts | 5 +-
packages/engine/src/agent-heartbeat.ts | 4 +-
packages/engine/src/agent-tools.ts | 105 ++++++++++++++++++++-
packages/engine/src/executor.ts | 3 +
packages/engine/src/gating-classifications.ts | 1 +
packages/engine/src/index.ts | 2 +
packages/engine/src/step-session-executor.ts | 2 +
packages/engine/src/triage.ts | 2 +
22 files changed, 324 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-8207
Fusion-Task-Lineage: db6f3876-bdc8-4279-b726-29344d9acdb9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>