Skip to content

feat(aggregator): bulk triage mode for Needs-you — multi-select acknowledge/snooze/assign/escalate in one mediated batch #1277

Closed

Description

@dezren39

Part of epic #1184 (PM stack coherence — wave 2, 2026-10-26).

Needs-you triage is one-item-at-a-time: acknowledge, snooze, assign, or escalate each card individually through the orchestrator-mediated path. After a busy night the queue can hold dozens of routine items (Jules questions, stale sessions, repeat blockers) where Drew's decision is identical for a whole class of them, and clicking through each is exactly the toil the dashboard exists to remove. Bulk triage mode adds multi-select on /attention: pick many items, apply one action (acknowledge / snooze / assign / escalate) as a single mediated batch, with one audit entry written per item (never one opaque batch entry) and a pre-submit summary showing exactly which items and what will happen to each. Failed items in a batch are reported individually and stay in the queue — a partial batch never silently drops work.

Acceptance:

  • /attention supports multi-select with a visible count and a review step listing every selected item + the action before anything is submitted.
  • A batch applies through the orchestrator-mediated path and writes one attributed audit entry per item; the batch as submitted is recoverable from those entries.
  • Per-item failures are surfaced by ref with their error, and failed items remain in Needs-you.
  • Bulk actions are covered by route tests including a mixed success/failure batch.

Acceptance criteria

  • /attention supports multi-select with a visible count and a review step listing every selected item + the action before anything is submitted.
  • A batch applies through the orchestrator-mediated path and writes one attributed audit entry per item; the batch as submitted is recoverable from those entries.
  • Per-item failures are surfaced by ref with their error, and failed items remain in Needs-you.
  • Bulk actions are covered by route tests including a mixed success/failure batch.

Activity

  1. developing-today commented on Oct 27, 2026

    @developing-today
    Contributor
  2. added
    source/humanFiled directly by a human
    priority/normalOrdinary priority (the default)
    effort/mMedium: expected under 1 day of work
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Oct 28, 2026
  3. dezren39 commented on Oct 28, 2026

    @dezren39
    MemberAuthor

    Intake review

    Fleet-monitor intake pass (protocol §5), 2026-10-28. Still live: no merged or open PR references this issue (checked 2026-10-28T01:47Z); nothing has implemented it yet.

    Related: part of epic #1184 (PM stack coherence, wave 2); siblings #1275 (command palette + keyboard triage) and #1276 (saved views) touch the same /attention surface — sequence bulk triage after, or alongside, the palette work so the mediated action path is built once.

    Notes / risks: the body's Acceptance list was already complete; the appended section restates it in criteria form. The hard part is not the UI but the per-item audit + partial-failure semantics: a batch that writes one opaque entry, or drops failed items, fails the issue's own reason to exist. Priority normal (wave-2 epic work, toil reduction rather than correctness), effort/m.

    Suggested approach: build the mediated batch endpoint first (one audit entry per item, per-item results returned by ref), then the multi-select + review-step UI on /attention, with the mixed success/failure route test as the acceptance gate.

  4. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed on Nov 1, 2026
  5. 19 remaining items

  6. removed
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Nov 1, 2026
  7. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    Picked up — task 4997 (lane B shift)

    Resuming from the prior lane's clean checkpoint: dedicated laptop worktree /home/user/git/fleet/4997, branch queue/4997-1277-bulk-triage, no code changes yet. Fresh revalidation: issue #1277 is OPEN with no hard-stop labels and no competing PR. Implementing bulk triage for the aggregator /attention page per the acceptance criteria: multi-select + count + pre-submit review, mediated batch path with one attributed audit entry per item, per-item failure reporting, and route tests including a mixed success/failure batch.

  8. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    Done — task 4997 (lane B shift)

    Bulk triage mode for Needs-you is implemented and merged in PR #4053 (merge commit 19d5aadc1):

    • Multi-select picks on the /attention queue cards with a visible selected count, plus a bulk bar (author, verb, payload controls, select-all).
    • A review step listing every selected item + the chosen action before anything is submitted; Submit sends exactly the reviewed snapshot.
    • New POST /api/actions/batch: per-item validation under the existing single-action rules, one attributed audit entry per item (never an opaque batch record), per-item results — failures reported by ref with their error and failed items remain in Needs-you. Single-action path unchanged.
    • Codex review: 8 findings across 5 rounds, all fixed in the PR and answered on their threads (reviewed-batch snapshot, token-preserving retries, 100-action + serialized-size chunking, in-flight guards incl. Back, body-read failure = unknown outcome, partial-success card updates, fragment-refresh UI restore).
    • Tests: bun test test/actions.test.ts 19/19 (new route tests for the mixed success/failure batch, per-item dedupe, malformed envelopes; new render tests for picks/bar); targeted files 43/43; full aggregator suite 911 pass with the slice3 failure verified pre-existing on clean main.

    Closing issue #1277 as complete.

  9. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    agent-note:v1 — picked up — OpenChamber scheduled lane

  10. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    agent-note:v1 — done — OpenChamber scheduled lane

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/pm-stackpm-stack (Pad/Grist) in developing-today/codeeffort/mMedium: expected under 1 day of workkind/featureNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)source/humanFiled directly by a human

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions