Goal
The session goal block. status and percentComplete are carried verbatim —
out-of-contract status strings and >100 percents pass through; display
clamping is the renderer’s job.
Fields and variants
Section titled “Fields and variants”createdAtMscurrentWorknextWorkobjectivepercentCompletestatusupdatedAtMs
Source
schema/msp/experimental/msp.schema.json#/types/Goal
{ "description": "The session goal block. `status` and `percentComplete` are carried **verbatim** —\nout-of-contract status strings and >100 percents pass through; display\nclamping is the renderer's job.", "properties": { "createdAtMs": { "description": "Goal creation time, epoch milliseconds, verbatim from the durable row.\nAbsent on blocks whose producer never carried it (tool-result adoptions,\nolder logs); absence must never render as a fabricated zero.", "type": "integer" }, "currentWork": { "description": "Current work description, when present.", "type": "string" }, "nextWork": { "description": "Next work description, when present.", "type": "string" }, "objective": { "description": "The goal objective text.", "type": "string" }, "percentComplete": { "description": "Percent complete, verbatim (>100 passes through).", "type": "integer" }, "status": { "description": "Goal status, verbatim from the durable goal state (free string by\ndesign: out-of-contract values pass through).", "type": "string" }, "updatedAtMs": { "description": "Last goal mutation time, epoch milliseconds, verbatim from the durable\nrow. Same absence rule as `createdAtMs`.", "type": "integer" } }, "required": [ "objective", "percentComplete", "status" ], "type": "object"}