## §OIP SYSTEM ARTICLE — Settings (7 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
- **SET_GET** — Read a settings row by key
  when: you need to set get
  args: key
  doc: https://miscsubjects.com/api/dispatch?key=SET_GET&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SET_GET&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SET_GET
- **SET_PUT** — Write a settings value. json_body = {"value":"..."}
  when: you need to set put
  args: key|json_body
  doc: https://miscsubjects.com/api/dispatch?key=SET_PUT&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SET_PUT&body=%3Ckey%3E%7C%3Cjson_body%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SET_PUT
- **SET_ROW_CONTENT** — Set a directory row's content (pipe-safe; replaces the whole content field).
  when: "replace a prompt's content", "set the content of a row". For small edits prefer DIR_PATCH.
  args: key | content
  doc: https://miscsubjects.com/api/dispatch?key=SET_ROW_CONTENT&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SET_ROW_CONTENT&body=ROUTER%7Cnew%20full%20content%20here&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SET_ROW_CONTENT
- **SET_TOOL_LOOPS** — Set how many tool calls the agent may make per turn (1-40). Arg: the number.
  when: Cyrus says "more tool loops" / "less tool loops" / "max 15 tools".
  args: $1
  doc: https://miscsubjects.com/api/dispatch?key=SET_TOOL_LOOPS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SET_TOOL_LOOPS&body=15&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SET_TOOL_LOOPS
- **SET_MEMORY_WINDOW** — Set how many prior turns the agent recalls (0-100). Arg: the number.
  when: Cyrus says "remember more messages" / "keep the last 30".
  args: $1
  doc: https://miscsubjects.com/api/dispatch?key=SET_MEMORY_WINDOW&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SET_MEMORY_WINDOW&body=30&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SET_MEMORY_WINDOW
- **SET_DEPTH_CAP** — Set max recursion depth (1-10). Arg: the number.
  when: Cyrus says "deeper reasoning" / "only 2 levels deep".
  args: $1
  doc: https://miscsubjects.com/api/dispatch?key=SET_DEPTH_CAP&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SET_DEPTH_CAP&body=5&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SET_DEPTH_CAP
- **SET_COST_CAP** — Set per-turn USD cost cap (min 0.01). Arg: dollars.
  when: Cyrus says "cheaper turns" / "cap cost at $0.50".
  args: $1
  doc: https://miscsubjects.com/api/dispatch?key=SET_COST_CAP&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SET_COST_CAP&body=0.50&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SET_COST_CAP

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