task
Open a goal with a checklist, track items until closed, then archive it automatically. Use related functions to manage, add, and comment on items.
Instructions
Open a task: a goal and a checklist, kept until its items are closed.
Stored as type='task'. Work it with task_item(), grow it with task_add() and discuss it with task_comment(); it archives itself once every item is done or dropped, and must_read() lists the open ones.
Free text cites another item only as [[#id]], which reads back as its current number and label; a label -- a title, an item's text -- never carries one. To a person, name it item n of its task.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| also | No | other domain paths this belongs to, comma-separated: the subjects that cut across the tree `domain` sits in, such as the end-to-end flow a routine is one step of. Every read scoped to one of them returns it. A path `domain` already sits under is dropped as redundant. At most 200 characters each. | |
| goal | Yes | the brief an agent with none of this session's context works from: what the work is and why, where it lives, the decisions and constraints that bind it, and what done looks like. Short, but complete enough to act on -- a few compact paragraphs, at most 2000 characters. Plain prose: a task is not a sectioned type, so no `INTENT:` / `GOAL:` / `WHY:` labels -- those are how checkpoint, anti_pattern and reasoning bodies are read back. edit_memory(goal=...) rewrites it when the scope changes. | |
| tags | No | comma-separated synonyms the goal and items never use; retrieval is BM25 over content and tags. The type name is not added for you: a word every task carries ranks no task above another. | |
| items | Yes | one checklist item per line, blank lines ignored, at most 50. Each is a short label, verb first, at most 80 characters: lists and every DEPENDS ON that names it show it whole, so its detail goes in the item's brief (task_note). Each gets an id for task_item(); the result lists them in order, each as {id, n}. | |
| title | Yes | what the task delivers, in a few words someone would look for it by. At most 120 characters. | |
| domain | No | the subject this belongs to, as a path from the outermost scope in ('acme/x100/p200'). File it as deep as the fact is specific -- a note about one routine goes on the routine, and still comes back when someone asks about the module or the product above it. At most 200 characters. | |
| session | No | groups what one conversation writes. Leave it empty to use this server process's own stamp. |