Files
deepseek-harness/packages/tasks
Yichen Jiang 75b26988dc fix(tasks): claim the teardown report before the producer cancel runs
A throwing producer cancel jumped to the force-fail branch before
`reported` was set, so `settle()` announced an unreported completion and
the default wakeup delivery started a model turn on an owner the host
was already destroying — the exact failure mode marking the record
reported exists to prevent.

Teardown claims the report before calling the producer, because that
decision does not depend on whether the producer's cancel succeeds.

Also reject a `maxConsecutiveWakes` that cannot bound anything: the
field exists to cap a runaway chain, and `Infinity` removed the cap
while a fraction never named a turn.

Correct the module JSDoc and the background-task runtime note, both of
which still promised that notices never wake an idle agent.
2026-08-11 20:29:08 +08:00
..

tasks/ — background-task capability family

English | 中文

This family gives long-running tools one owner-isolated background-task protocol for observation, cancellation, waiting, and completion notices.

Package Role ctx key
tasks/ Defines the task registry and lifecycle contract ctx.tasks
tasks-local/ Implements the process-local task registry registers on ctx.tasks
tool-tasks/ Exposes task control and completion notices to the model registers on ctx.tools

See the background-task runtime and task-registry decisions.

The subsystem reference — the id scheme, the owner-fenced contract, snapshots — is docs/subsystems/tasks.md; design in the background-task runtime and task-registry contract Agent Notes.