## §OIP SYSTEM ARTICLE — SURFACE (5 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
- **SURFACE_SEARCH** — Find a verb the owner's Mac or iPhone can do. Every hit carries an id and a run block: pass the id to SURFACE_
  when: before any action on the Mac or the phone that has no row of its own: find the verb first
  args: $1 = words (verb name, app, description, or an exact id)
  doc: https://miscsubjects.com/api/dispatch?key=SURFACE_SEARCH&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SURFACE_SEARCH&body=send%20message&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SURFACE_SEARCH
- **SURFACE_EXECUTE** — Run any encyclopedia verb on the owner's Mac or paired iPhone by the id SURFACE_SEARCH returned, with args sha
  when: after SURFACE_SEARCH gave you the id, to do the thing
  args: $1 = id (v_… from search, or a build row KEY) | $2 = args as JSON text (see the verb's run.args, e.g. {"args":"-a"} for a shell verb, {"op":"read","key":"tilesize"} for defaults)
  doc: https://miscsubjects.com/api/dispatch?key=SURFACE_EXECUTE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SURFACE_EXECUTE&body=v_805d282276%7C%7B%22args%22%3A%22-a%22%7D&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SURFACE_EXECUTE
- **SURFACE_COMPOSE** — Make a new verb out of existing ones and put it in the encyclopedia: shortcut (a signed .shortcut imported int
  when: when a job needs more than one verb, needs a schedule, needs to exist on the phone, or should become a row of its own
  args: $1 = kind (shortcut | automation | chain | atom) | $2 = spec as JSON text: shortcut {"name","actions":[{"identifier","parameters"}]} · automation {"name","every_seconds"|"calendar":{"Hour","Minute"},"run":{"id","args"}|"shell"} · chain {"name","steps":[{"id","args"}]} · atom {"key","id","what","args_template"}
  doc: https://miscsubjects.com/api/dispatch?key=SURFACE_COMPOSE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SURFACE_COMPOSE&body=chain%7C%7B%22name%22%3A%22Kernel%20name%20echo%22%2C%22steps%22%3A%5B%7B%22id%22%3A%22v_805d282276%22%2C%22args%22%3A%7B%22args%22%3A%22-s%22%7D%7D%2C%7B%22id%22%3A%22v_b65b999ff0%22%2C%22args%22%3A%7B%22args%22%3A%22kernel%20is%20%7B%7Bprev%7D%7D%22%7D%7D%5D%7D&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SURFACE_COMPOSE
- **SURFACE_DOCK_TILE_SIZE** — Read the Dock tile size on the owner's Mac — runs encyclopedia verb v_97c5e2df6c (defaults_domains · com.apple
  when: you need to read the dock tile size on the owner's mac
  args: none (the args are fixed: {"op":"read","key":"tilesize"})
  doc: https://miscsubjects.com/api/dispatch?key=SURFACE_DOCK_TILE_SIZE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SURFACE_DOCK_TILE_SIZE&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SURFACE_DOCK_TILE_SIZE
- **SURFACE_MAC_VERSION** — Read the macOS version of the Mac — runs encyclopedia verb v_2992029c22 (cli_tools · shell · sw_vers) through 
  when: you need to read the macos version of the mac
  args: none (the args are fixed: {"args":"-productVersion"})
  doc: https://miscsubjects.com/api/dispatch?key=SURFACE_MAC_VERSION&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=SURFACE_MAC_VERSION&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=SURFACE_MAC_VERSION

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