## §OIP SYSTEM ARTICLE — TASK (10 operations)
A generated article for one OIP shelf. It lists every operation in this API/CLI/MCP/device/model/core subsystem, links each leaf article, and gives the ledger path for proof.

### Read Order
- scan operations
- open a leaf doc
- run via run_now or POST /api/dispatch
- open receipt
- repair/replay if needed

### Operations
- **TASKS_ADD** — Add a new task to the queue. $1=title/ask, $2=description/context, $3=priority(P0/P1/P2/P3), $4=assigned_to_ag
  when: queue work for the build to execute later (writer jobs, audits, fixes).
  args: $1=title/ask, $2=description, $3=priority, $4=role/agent
  doc: https://miscsubjects.com/api/dispatch?key=TASKS_ADD&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=TASKS_ADD&body=write%20article%20about%20BPC-157%7Cevidence-graded%20review%7CP2%7Cwriter&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=TASKS_ADD
- **TASKS_ASSIGN** — 
  doc: https://miscsubjects.com/api/dispatch?key=TASKS_ASSIGN&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=TASKS_ASSIGN&body=%3Carg1%3E%7C%3Carg2%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=TASKS_ASSIGN
- **TASKS_SYNC_GOOGLE** — Sync all unsynced open D1 tasks to Google Tasks. Call when asked to sync tasks to Google Tasks or when the adm
  when: user says sync tasks to Google Tasks, or admin page shows unsynced count.\n# ARGS: none.\n# EX: [TASKS_SYNC_GOOGLE][/TASKS_SYNC_GOOGLE]
  args: none.\n# EX: [TASKS_SYNC_GOOGLE][/TASKS_SYNC_GOOGLE]
  doc: https://miscsubjects.com/api/dispatch?key=TASKS_SYNC_GOOGLE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=TASKS_SYNC_GOOGLE&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=TASKS_SYNC_GOOGLE
- **TASK_LIST** — 
  doc: https://miscsubjects.com/api/dispatch?key=TASK_LIST&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=TASK_LIST&body=%3Carg1%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=TASK_LIST
- **TASKS_LIST** — 
  doc: https://miscsubjects.com/api/dispatch?key=TASKS_LIST&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=TASKS_LIST&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=TASKS_LIST
- **TASK_ADD** — Add a task to the build queue (tasks table). Plain text is fine — it is stored and shown as-is.
  when: the custodian says remember to / add a task / put X on the list / follow up on Y.
  args: $1 = the task in plain words. Pipes are allowed.
  doc: https://miscsubjects.com/api/dispatch?key=TASK_ADD&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=TASK_ADD&body=call%20the%20peptide%20supplier%20back%20about%20white-label%20pricing&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=TASK_ADD
- **TASK_COMPLETE** — Mark a task done (removes it from the open backlog). Same as DONETASK.
  when: a task is finished.
  args: $1 = task_id (number), $2 = optional short result note.
  doc: https://miscsubjects.com/api/dispatch?key=TASK_COMPLETE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=TASK_COMPLETE&body=448%7Ccalled%20them%2C%20pricing%20sent&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=TASK_COMPLETE
- **TASK_EDIT** — Change a task's text and/or status in place.
  when: reword a task, or move it to open/done/cancelled without deleting it.
  args: $1 = task_id, $2 = new text (no pipes), $3 = optional new status (open|done|cancelled).
  doc: https://miscsubjects.com/api/dispatch?key=TASK_EDIT&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=TASK_EDIT&body=448%7Ccall%20the%20vendor%20back%20Friday%7Copen&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=TASK_EDIT
- **TASK_DELETE** — Delete a task for good. Any child tasks are lifted to top level so nothing is hidden.
  when: a task is junk / a duplicate / should never run.
  args: $1 = task_id.
  doc: https://miscsubjects.com/api/dispatch?key=TASK_DELETE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=TASK_DELETE&body=448&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=TASK_DELETE
- **TASK_THREAD** — Hang one task under another so related work groups together. Empty parent un-threads to top level.
  when: a task is a sub-step of a bigger task.
  args: $1 = child task_id, $2 = parent task_id (leave empty to move back to top level).
  doc: https://miscsubjects.com/api/dispatch?key=TASK_THREAD&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=TASK_THREAD&body=451%7C448&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=TASK_THREAD

### Troubleshooting
- If a row's example has placeholders, replace only the placeholder values and preserve separators.
- If a call fails, open its receipt and repair it with POST /api/dispatch {key, body, repairs:'inv_ID'}.
- If token scope denies this system, ask the owner for a row:/rows:/pfx: token scoped to the exact operation set.

Back to the tree: https://miscsubjects.com/api/dispatch?map=1&format=markdown