Skip to content

Data Contract

Switch to Zen Mode
{
"$schema": "https://mutsumi.dev/schema/v1.json",
"version": 1,
"tasks": [ ... ]
}
FieldTypeRequiredDescription
$schemastringNoJSON Schema URL (editor hints)
versionintegerYesData format version, currently 1
tasksarrayYesArray of task objects
FieldTypeRequiredDefaultDescription
idstringYesUUIDv7 format
titlestringYesTask title (≤ 120 chars)
statusstringYes"pending""pending" or "done"
scopestringNo"inbox""day", "week", "month", "inbox"
prioritystringNo"normal""high", "normal", "low"
tagsstring[]No[]Custom tags
childrenTask[]No[]Subtask array (recursive)
created_atstringNoautoISO 8601 timestamp
due_datestringNoISO 8601 date
completed_atstringNoAuto-filled when done
descriptionstringNoDetailed description

Mutsumi uses Pydantic extra="allow" — any field not listed above is preserved and never deleted. Agents are free to add custom fields:

{
"id": "01JQ...",
"title": "Train model v2",
"status": "pending",
"estimated_minutes": 120,
"energy_level": "high-focus",
"context": "Needs GPU"
}
Manual scope > due_date auto-derivation > fallback "inbox"
ConditionDerived Scope
due_date == todayday
due_date within this weekweek
due_date within this monthmonth
due_date in the past (overdue)day (escalated)
due_date beyond this monthmonth

Subtasks are recursively nested via children. TUI renders up to 3 levels by default; deeper levels are collapsed.

LevelBehavior
strictReject any invalid fields/values
normalSkip invalid tasks, render valid ones (default)
looseBest-effort rendering

See Task Schema Reference for complete field details.