## §OIP SYSTEM ARTICLE — SESSION (4 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
- **SESSION_START** — Start (or upsert) a stateful agent session
  when: you need to session start
  args: session_id|agent|cwd|goal
  doc: https://miscsubjects.com/api/dispatch?key=SESSION_START&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SESSION_START&body=%3Csession_id%3E%7C%3Cagent%3E%7C%3Ccwd%3E%7C%3Cgoal%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SESSION_START
- **SESSION_GET** — Read a session row
  when: you need to session get
  args: session_id
  doc: https://miscsubjects.com/api/dispatch?key=SESSION_GET&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SESSION_GET&body=%3Csession_id%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SESSION_GET
- **SESSION_UPDATE** — Patch a session (agent|cwd|goal|status|last_event_id)
  when: you need to session update
  args: session_id|patch_json
  doc: https://miscsubjects.com/api/dispatch?key=SESSION_UPDATE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SESSION_UPDATE&body=%3Csession_id%3E%7C%3Cpatch_json%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SESSION_UPDATE
- **SESSION_RESUME** — Rehydrate a cold terminal agent: session row + recent LEDGER events (actor=session_id)
  when: you need to session resume
  args: session_id|limit
  doc: https://miscsubjects.com/api/dispatch?key=SESSION_RESUME&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SESSION_RESUME&body=%3Csession_id%3E%7C%3Climit%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SESSION_RESUME

### 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