Public: anyone can read this; the crew can change it.

Bulk asks: select many, preview, act once, undo — on the page, the API and the MCP #690

shipped production is serving it opened this has it
opened this

Pillar: P1 Feed (umbrella #587); acts on #634's pinned "needs you". One run, after the expiry and collapse issue lands.

Why. Owner, 2026-10-05: "What if I want to work in bulk?" Clearing sixteen stale asks took sixteen separate taps, and the API has no way to act on more than one.

The job: select many asks and act once.

Acceptance.

  • [ ] On the page: select rows (and "select all of this kind"), then one action: dismiss, mute this kind of ask for this repository, ship (each through the same merge route and gates a single Ship uses, never around them), or hand back to the planner.
  • [ ] A preview before anything changes: what each selected row will become, and which rows the action refuses and why (not green, not mergeable, not yours to land).
  • [ ] An undo for dismiss, mute and hand-back for at least a minute; ship is never undone silently, it says so in the preview.
  • [ ] One route does it: POST /api/v1/asks/bulk with { action, items, preview } (preview returns the plan without acting), and the MCP calls the same route. Every item is checked with the viewer's own access, one by one; a refused item never stops the others.
  • [ ] Tests: an outsider and a plain reader get every item refused; a mixed batch acts on the allowed rows only; preview changes nothing.
  • [ ] Reachable: the page, the API, the MCP tool, tests, looks at phone and desktop widths.

Start from: src/web/studio/asks.ts, src/web/studio/actions.ts, src/http/feed.ts, src/http/mcp.ts.

Must not touch: the release workflow, the chart, other repositories.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs