Find before creating
Call orient with {} and follow the task map and its task-authoring contract. Then call task_list with a bounded filter, for example:
{"text":"<distinctive job wording>","limit":20}
Read each likely match with task_get using {"id":"<returned task id>"}. A redacted or unavailable result is not a complete read. Use the returned canonical task rather than copying its title into a new file.
Create through the allocator
If there is no existing task and creation is authorised, call task_create. Obtain the prefix and project from the Mind's task contract; do not invent a complete task id.
{"prefix":"<permitted allocator prefix>","project":"<permitted project>","title":"<specific outcome>","status":"backlog","finish_gates":["<observable completion condition>"]}
Read the returned result and its minted id. If the response is lost, reconcile task_list and the creation result before creating again.
Update under current ownership
For an agent that will own the work, follow the session and claim procedure. Retain the current session id and returned claim generation. Call task_get immediately before a body or checklist replacement.
{"id":"<task id>","session":"<current session id>","claim_context":{"<task id>":{"session_id":"<current session id>","generation":1}},"expected_content":"<entire exact content from the latest task_get>","body":"<updated Markdown body, without frontmatter>"}
Replace generation 1 with the actual returned generation. A checklist update also supplies expected_checklist exactly matching the current checklist when one exists. Preserve unrelated fields and body content.
Verify the lifecycle result
Use supported states: backlog, active, in-progress, blocked, review, done, cancelled. A transition can use task_transition with id, status and current claim_context. Set done only after the recorded finish conditions have evidence. Read the task again and report its actual saved state.
On stale content or claim refusal, read the task and ownership again. Do not replay the old update or approve a held task proposal under an obsolete generation.
Related
Practical guides for people and agents