Update a Todo
baatjie_update_todoUpdate a todo by ID to change status, priority, wave, track, or dependencies. Marking a task done automatically unblocks dependent items and refreshes the next-actions queue.
Instructions
Change a todo's status or sequencing metadata by id.
Marking an item done automatically unblocks anything that listed it in blocked_by — the dependency graph is recomputed on read, so the next call to baatjie_next_actions will surface newly available work.
Args:
id (string, uuid): Todo id
status ('open' | 'in_progress' | 'done' | 'blocked', optional)
priority ('critical' | 'high' | 'medium' | 'low', optional)
wave (number, optional)
track ('A' | 'B' | 'SPINE' | 'TODAY', optional)
blocked_by (string[], optional): Replaces the existing blocker list
effort (string, optional)
detail (string, optional)
actor (string): Who is writing, for the audit trail
response_format ('markdown' | 'json'): Output format
Returns: { "ok": true, "todo": {...}, "newly_unblocked": [{ "id","title" }], "audit_logged": boolean }
Examples:
Close an item -> id='', status='done'
Re-sequence -> id='', wave=1, track='SPINE'
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Todo id | |
| wave | No | ||
| actor | No | Who is performing this write, recorded in tanOS audit_log (e.g. 'baatjie', 'marius-ai', 'deon-ai') | mcp |
| track | No | ||
| detail | No | ||
| effort | No | ||
| status | No | ||
| priority | No | ||
| blocked_by | No | ||
| response_format | No | Output format: 'markdown' for human-readable, 'json' for machine-readable | markdown |