feat(tasks): adopt canonical task statuses

This commit is contained in:
2026-05-26 01:32:50 +02:00
parent da5aee6e38
commit 38835e9e79
61 changed files with 692 additions and 342 deletions

View File

@@ -145,8 +145,8 @@ Notifications appear in the [Inbox](/inbox) page and are queryable via
A request can optionally link to a **blocking task** via `blocking_task_id`.
When the request reaches `completed`, the system automatically patches that
task from `blocked` → `todo` and clears its `blocking_reason`. This means
blocked work resumes without manual intervention.
task from `wait` → `todo` and clears its `blocking_reason`. This means
waiting work resumes without manual intervention.
---

View File

@@ -241,7 +241,7 @@ TOC sidebar as a persistent KPI card.
### Multi-mode workstream chart
The Overview page renders a horizontal stacked bar chart using `@observablehq/plot`
showing task counts (done / in progress / blocked / todo) per workstream.
showing task counts (done / progress / wait / todo) per workstream.
A `<select>` dropdown switches between:
- **Lifecycle modes**: proposed, ready, active, blocked, backlog, finished, archived

View File

@@ -129,8 +129,8 @@ The session orientation protocol (every repo's CLAUDE.md) surfaces todos from
two sources:
**Internal todos** (Step 2 of orientation) — workplan files in `workplans/`
whose stored workstation/status label is `active`, with tasks in `todo` or
`in_progress`.
whose stored workstation/status label is `active`, with tasks in `wait`,
`todo`, or `progress`.
**Ecosystem todos targeting this repo** (Step 1 of orientation) —
`get_state_summary()` returns all open tasks across all workstreams. The session

View File

@@ -10,7 +10,7 @@ The Interventions page lists every task that has been flagged `needs_human=true`
## 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.
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 `wait`, `todo`, or `progress` while awaiting attention.
---
@@ -26,7 +26,7 @@ A human intervention is a task that an agent has determined cannot proceed witho
## Open section
Tasks are sorted by priority (critical → high → medium → low), then by status (blocked → in_progress → todo). Each card shows:
Tasks are sorted by priority (critical → high → medium → low), then by status (wait → progress → todo). Each card shows:
| Element | Meaning |
|---|---|
@@ -43,7 +43,7 @@ Tasks are sorted by priority (critical → high → medium → low), then by sta
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.
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 / Canceled** section on the next poll.
Click **Cancel** to dismiss the form without making changes.

View File

@@ -20,8 +20,8 @@ by repository. Each bar is broken into four task-status segments:
| Colour | Segment |
|--------|---------|
| green | done |
| blue | in progress |
| orange-red | blocked |
| purple | progress |
| orange | wait |
| light grey | todo |
The left axis shows the `domain / repository` label once per repository group.

View File

@@ -42,7 +42,7 @@ These types are used by the State Hub's built-in write operations:
| `workstream_status_changed` | Workstream moved between canonical lifecycle states |
| `workstation_advanced` | Flow-aware movement via `advance_workstation()` succeeded |
| `task_created` | A new task was added to a workstream |
| `task_status_changed` | Task moved to todo / in_progress / blocked / done / cancelled |
| `task_status_changed` | Task moved to wait / todo / progress / done / cancel |
| `decision_recorded` | A decision (pending or made) was recorded |
| `decision_resolved` | A pending decision was resolved |

View File

@@ -127,7 +127,7 @@ priority: medium
| Field | Values | Description |
|-------|--------|-------------|
| `id` | string | Unique task identifier |
| `status` | `todo` \| `in_progress` \| `done` | Task state |
| `status` | `wait` \| `todo` \| `progress` \| `done` \| `cancel` | Task state |
| `priority` | `high` \| `medium` \| `low` | Execution order hint |
---
@@ -137,8 +137,8 @@ priority: medium
As Claude completes tasks it edits the workplan file directly:
```
status: todo → status: in_progress (when starting)
status: in_progress → status: done (when verified complete)
status: todo → status: progress (when starting)
status: progress → status: done (when verified complete)
```
When every task is `done`, Claude also updates the frontmatter:

View File

@@ -5,7 +5,7 @@ title: Tasks — Reference
# Tasks — Reference
The Tasks page shows all tasks across every workstream and domain, with live
filtering, a workstation distribution chart, and a blocked-tasks highlight
filtering, a workstation distribution chart, and a waiting-tasks highlight
section.
---
@@ -17,11 +17,11 @@ compatibility.
| Workstation | Meaning |
|--------|---------|
| **wait** | Waiting on another actor, event, decision, input, or condition |
| **todo** | Not yet started |
| **in_progress** | Actively being worked on |
| **blocked** | Cannot proceed — has a blocking reason |
| **progress** | Actively being worked on |
| **done** | Completed |
| **cancelled** | Dropped; not counted toward totals |
| **cancel** | Stopped; not counted toward totals |
---
@@ -56,37 +56,37 @@ per stored workstation/status label, colour-coded:
| Colour | Status |
|--------|--------|
| orange | wait |
| grey-blue | todo |
| blue | in_progress |
| red | blocked |
| purple | progress |
| green | done |
| light grey | cancelled |
| light grey | cancel |
---
## Blocked Tasks section
## Waiting Tasks section
Shows cards for every task currently in the `blocked` workstation within the
Shows cards for every task currently in the `wait` workstation within the
active filter. Each card displays:
- Priority badge and status
- Domain and workstream context
- Task title
- Blocking reason (amber background)
- Wait reason (amber background)
---
## KPI sidebar card
Shows four counts for the unfiltered dataset: open (todo + in_progress +
blocked), blocked, in progress, done, and a done-% of total.
Shows counts for the unfiltered dataset: open (`wait` + `todo` + `progress`),
waiting, progress, done, and a done-% of total.
---
## Sorting
Tasks are sorted by status (blocked first, then in_progress, todo, done,
cancelled) then by priority (critical → high → medium → low) within each
Tasks are sorted by status (wait first, then progress, todo, done, cancel) then
by priority (critical → high → medium → low) within each
status group.
---

View File

@@ -18,7 +18,7 @@ boundary rule and routing workflows.
### Internal
Open tasks (`todo`, `in_progress`, `blocked`) in **custodian domain workstreams**
Open tasks (`wait`, `todo`, `progress`) in **custodian domain workstreams**
whose title does not contain a `[repo:]` routing prefix.
These are tasks this agent is directly responsible for and can address within