Task thermometers — current state¶
Version: 0.2 · Last Updated: 2026-09-08 · Status: 🔴 evidence refreshed; design ratification unchanged
Verified against source revision 2465fcc (develop baseline). Test references
below identify the executable contracts; they are not a new coverage percentage.
Snapshot and live progress¶
TaskManager.publish_progress(task_id, data) requires an active task, writes
progress.json through its spool and publishes the same data to the descriptor's
launching session when one exists. EventHub fans out through bounded queues,
dropping oldest intermediate events for a slow subscriber. No subscribers means
no live publication, while the spool snapshot remains available.
TaskSpool.request_cancel writes a marker and is_cancelled reads it. A batch
must poll and honor that signal itself; the progress API does not interrupt it.
The folder's terminal position records the outcome. SSE push tests cover the
snapshot/live boundary; there is no durable per-event replay log in the hub.
Claim anchors: TaskManager, publish_progress, EventHub, TaskSpool, request_cancel, is_cancelled.