Files
state-hub/dashboard/src/docs/interventions.md
tegwick 0bdf4929fc feat(dashboard): Interventions page improvements and action-confirm modal
- Move Interventions under Workstreams in the navigator
- Add action-confirm.js: shared modal component for actions requiring a
  mandatory comment (survives live-poll re-renders, unlike inline DOM mutation)
- Wire action-confirm into Interventions (Mark done) and Decisions (Resolve)
- Fix Interventions completed section: fetch all tasks and filter client-side
  so resolved interventions (needs_human=false) still appear under Completed
- Add docs/interventions.md help page with ? button on the h1
- Replace all hardcoded "Bernd" with "human" across dashboard src and docs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-04 23:15:06 +01:00

3.0 KiB

title
title
Interventions — Reference

Interventions — Reference

The Interventions page lists every task that has been flagged needs_human=true — actions that only a human can take. It polls the API every 15 seconds and organises tasks into Open and Completed / Cancelled sections.


What is a human intervention?

A human intervention is a task that an agent has determined cannot proceed without direct human action — for example, approving a financial decision, confirming a legal commitment, or resolving a sensitive ambiguity. Flagging a task does not change its work status; the task continues to be todo, in_progress, or blocked while awaiting attention.


KPI sidebar card

Metric Meaning
open Number of tasks currently flagged and not yet resolved
critical / high Subset with critical or high priority — shown in red when non-zero
by domain Top-3 domains by open intervention count

Open section

Tasks are sorted by priority (critical → high → medium → low), then by status (blocked → in_progress → todo). Each card shows:

Element Meaning
Priority badge critical / high / medium / low
Status chip Current task status
Domain Source domain slug
Workstream Parent workstream title
Action note The intervention_note — what the human needs to do
Task detail Expandable <details> with the task title and description (shown when different from the action note)

Marking an intervention as done

Click Mark done on any open card. An inline form appears requiring a resolution comment — a short note describing what was done. The comment is mandatory; clicking Confirm without entering text highlights the field in red and does nothing.

Once confirmed, the API call sets status = done, needs_human = false, and replaces the action note with your resolution comment. The card moves to the Completed / Cancelled section on the next poll.

Click Cancel to dismiss the form without making changes.


Flagging and clearing interventions via MCP

flag_for_human(
  task_id = "<uuid>",
  note    = "Approve the Q2 budget allocation before the 15th"
)
clear_human_flag(task_id = "<uuid>")

clear_human_flag sets needs_human = false and preserves the intervention_note as a historical record. It does not change the task's work status. Use the dashboard's Mark done button when you also want to advance the status to done.


Filtering by workstream

list_human_interventions(workstream_id="<uuid>") via MCP returns only interventions for a specific workstream — useful for scoped reviews in agent sessions.


REST endpoints

Method Path Effect
GET /tasks/?needs_human=true List all flagged tasks
PATCH /tasks/{id}/ Update status, needs_human, intervention_note

Interventions are never created from the dashboard — they are raised by agents during task execution and resolved by the human.