Ruling (Rand, 2026-09-12, comment below)
Not an oversight gap in the queue. The task queue is a snapshot of planned, ordered work for one agent/mailbox; tasks move between queues and are reassigned, so the queue carries no history. Oversight reads two things:
- What has occurred: the task event log, the immutable record of every state transition.
- What is planned: the task queue.
No closed-task listing, queue history, or --closed/--state view is requested. The earlier "requested shape" in this issue is withdrawn.
Remaining request (event log only)
Today atm task events <id> needs a known task id and is capped at 200 rows (TaskPage::Bounded { limit: 200 }; TaskPage::All exists in task_query.rs but no CLI flag reaches it). A monitor that never saw a task while it was queued cannot discover its events.
Follow-on sprint after the Phase BA stack lands (not BA.4, not the BA.6 docs):
- Team-wide event-log enumeration: events for a team (optional member, optional
--since <iso> / --after-seq <n>) without a task id, ordered by sequence.
- Paging on
atm task events: --limit N / --all-rows mapping to TaskPage::Bounded/TaskPage::All, with a stable cursor (event seq) so a consumer can resume.
- HTTP API minor bump per ADR-061 (additive);
--json shape stays Vec<TaskEventRow>.
Queue-view semantics (atm task list, --all) are unchanged by this issue.
Interim for monitors
Record every task id seen in task list --all while queued and fetch its events after it leaves the queue. Tasks that open and close between two polls are a coverage gap until team-wide enumeration ships; report it as such.
Refs: #1408, #1410; amon messages 01M29KMNSV8QFDDEAY14R30TZR, 01M2A0587JNNE6J2J0Z8CKFZ9X.
Ruling (Rand, 2026-09-12, comment below)
Not an oversight gap in the queue. The task queue is a snapshot of planned, ordered work for one agent/mailbox; tasks move between queues and are reassigned, so the queue carries no history. Oversight reads two things:
No closed-task listing, queue history, or
--closed/--stateview is requested. The earlier "requested shape" in this issue is withdrawn.Remaining request (event log only)
Today
atm task events <id>needs a known task id and is capped at 200 rows (TaskPage::Bounded { limit: 200 };TaskPage::Allexists intask_query.rsbut no CLI flag reaches it). A monitor that never saw a task while it was queued cannot discover its events.Follow-on sprint after the Phase BA stack lands (not BA.4, not the BA.6 docs):
--since <iso>/--after-seq <n>) without a task id, ordered by sequence.atm task events:--limit N/--all-rowsmapping toTaskPage::Bounded/TaskPage::All, with a stable cursor (event seq) so a consumer can resume.--jsonshape staysVec<TaskEventRow>.Queue-view semantics (
atm task list,--all) are unchanged by this issue.Interim for monitors
Record every task id seen in
task list --allwhile queued and fetch its events after it leaves the queue. Tasks that open and close between two polls are a coverage gap until team-wide enumeration ships; report it as such.Refs: #1408, #1410; amon messages 01M29KMNSV8QFDDEAY14R30TZR, 01M2A0587JNNE6J2J0Z8CKFZ9X.