{"_ai_door":{"see":"https://miscsubjects.com/start","note":"Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."},"slug":"oip-system-surface","title":"OIP system: SURFACE","body":"## SURFACE\n\nA 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.\n\nThis page is the operating article for one build subsystem. It is generated from live directory rows. If a task belongs to this subsystem, scan the operations below, open the matching capability article, run only the exact object named there, and verify by receipt.\n\nKind: `core`. Capabilities: `5`. Machine system map: [/api/dispatch?map=SURFACE&format=markdown](https://miscsubjects.com/api/dispatch?map=SURFACE&format=markdown). Root: [/a/oip](https://miscsubjects.com/a/oip).\n\n## Operations\n\n### SURFACE_SEARCH\nFind a verb the owner's Mac or iPhone can do. Every hit carries an id and a run block: pass the id to SURFACE_EXECUTE. Layers: app scripting dictionaries, App Intents, Shortcuts actions and triggers, every CLI tool, preference domains, live menus and windows (iPhone Mirroring included), phone protocols, private iMessage verbs, Continuity, the build's own rows, and what compose made.\nUse when: before any action on the Mac or the phone that has no row of its own: find the verb first\nArguments: `$1 = words (verb name, app, description, or an exact id)`.\nHuman article: [/a/oip-capability-surface-search](https://miscsubjects.com/a/oip-capability-surface-search). Machine doc: [?key=SURFACE_SEARCH&format=markdown](https://miscsubjects.com/api/dispatch?key=SURFACE_SEARCH&format=markdown). Invocation history: [/api/invocations?object_id=SURFACE_SEARCH](https://miscsubjects.com/api/invocations?object_id=SURFACE_SEARCH).\n\n### SURFACE_EXECUTE\nRun any encyclopedia verb on the owner's Mac or paired iPhone by the id SURFACE_SEARCH returned, with args shaped as that verb's run.args. Kinds: shell, defaults, jxa, menu, ax, mirror, phone, intent, shortcut_action, continuity, dispatch, composed shortcut/automation/chain. Receipted on the ledger.\nUse when: after SURFACE_SEARCH gave you the id, to do the thing\nArguments: `$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)`.\nHuman article: [/a/oip-capability-surface-execute](https://miscsubjects.com/a/oip-capability-surface-execute). Machine doc: [?key=SURFACE_EXECUTE&format=markdown](https://miscsubjects.com/api/dispatch?key=SURFACE_EXECUTE&format=markdown). Invocation history: [/api/invocations?object_id=SURFACE_EXECUTE](https://miscsubjects.com/api/invocations?object_id=SURFACE_EXECUTE).\n\n### SURFACE_COMPOSE\nMake a new verb out of existing ones and put it in the encyclopedia: shortcut (a signed .shortcut imported into Shortcuts on the Mac, synced to the iPhone), automation (a launchd job on a schedule that runs a verb or a shell line), chain (verbs in order, {{prev}} carries the last output), atom (a directory row SURFACE_<KEY> wrapping one verb, callable in every invocation language).\nUse 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\nArguments: `$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\"}`.\nHuman article: [/a/oip-capability-surface-compose](https://miscsubjects.com/a/oip-capability-surface-compose). Machine doc: [?key=SURFACE_COMPOSE&format=markdown](https://miscsubjects.com/api/dispatch?key=SURFACE_COMPOSE&format=markdown). Invocation history: [/api/invocations?object_id=SURFACE_COMPOSE](https://miscsubjects.com/api/invocations?object_id=SURFACE_COMPOSE).\n\n### SURFACE_DOCK_TILE_SIZE\nRead the Dock tile size on the owner's Mac — runs encyclopedia verb v_97c5e2df6c (defaults_domains · com.apple.dock · read / write / observe preferences) through POST /api/surface/execute, kind defaults.\nUse when: you need to read the dock tile size on the owner's mac\nArguments: `none (the args are fixed: {\"op\":\"read\",\"key\":\"tilesize\"})`.\nHuman article: [/a/oip-capability-surface-dock-tile-size](https://miscsubjects.com/a/oip-capability-surface-dock-tile-size). Machine doc: [?key=SURFACE_DOCK_TILE_SIZE&format=markdown](https://miscsubjects.com/api/dispatch?key=SURFACE_DOCK_TILE_SIZE&format=markdown). Invocation history: [/api/invocations?object_id=SURFACE_DOCK_TILE_SIZE](https://miscsubjects.com/api/invocations?object_id=SURFACE_DOCK_TILE_SIZE).\n\n### SURFACE_MAC_VERSION\nRead the macOS version of the Mac — runs encyclopedia verb v_2992029c22 (cli_tools · shell · sw_vers) through POST /api/surface/execute, kind shell.\nUse when: you need to read the macos version of the mac\nArguments: `none (the args are fixed: {\"args\":\"-productVersion\"})`.\nHuman article: [/a/oip-capability-surface-mac-version](https://miscsubjects.com/a/oip-capability-surface-mac-version). Machine doc: [?key=SURFACE_MAC_VERSION&format=markdown](https://miscsubjects.com/api/dispatch?key=SURFACE_MAC_VERSION&format=markdown). Invocation history: [/api/invocations?object_id=SURFACE_MAC_VERSION](https://miscsubjects.com/api/invocations?object_id=SURFACE_MAC_VERSION).\n","register":"oip_protocol","tags":["oip","object-invocation-protocol","protocol-specification","machine-native-json","system"],"style":{"accent":"#16324f","measure":860},"claims":[{"id":"oip-c1","tier":"system","text":"The OIP article layer is generated from live directory rows, so it documents the objects that actually run the reference implementation.","who_claims":"system/oip_articles","source_ids":["oip-s3","oip-s4"]},{"id":"oip-c2","tier":"system","text":"The OIP operating path is caller to directory object to dispatch runner to invocation ledger to receipt.","who_claims":"system/oip_articles","source_ids":["oip-s1"]},{"id":"oip-c3","tier":"system","text":"Every executable capability in the reference implementation is reachable as an OIP object with a human article, a machine document, invocation history, and receipt path.","who_claims":"system/oip_articles","source_ids":["oip-s2","oip-s3"]},{"id":"oip-c4","tier":"system","text":"Tap & Go is the copy primitive: one drop carries credential, protocol, tree, search, execute, and receipt instructions without a separate token-map-bundle assembly step.","who_claims":"system/oip_articles","source_ids":["oip-s2"]},{"id":"oip-c5","tier":"system","text":"OIP receipts are the proof object for actions: they record request, response, actor, links, replay, repair, and lineage.","who_claims":"system/oip_articles","source_ids":["oip-s2","oip-s5"]}],"sources":[{"id":"oip-s1","type":"protocol","title":"BUILD_SPEC object invocation path","url":"https://miscsubjects.com/api/file/docs/BUILD_SPEC.md","summary":"Defines directory rows, dispatch, ledger, and the escalation path for changing the build.","quote":"Run anything: POST https://miscsubjects.com/api/dispatch {key, body}","claim_ids":["oip-c2"],"link_status":"ok","hash":"oipbuildspec0001"},{"id":"oip-s2","type":"protocol","title":"Object Invocation Protocol spec","url":"https://miscsubjects.com/api/file/docs/OIP.md","summary":"Defines OIP surfaces, invariant loop, receipt/replay/repair, and invocation envelopes.","quote":"identify, explain, invoke, ledger, yield","claim_ids":["oip-c3","oip-c4","oip-c5"],"link_status":"ok","hash":"oipspec00000002"},{"id":"oip-s3","type":"protocol","title":"Live OIP capability tree","url":"https://miscsubjects.com/api/dispatch?map=1&format=markdown","summary":"Public recursive capability tree.","quote":"root > shelf > system article > capability article > receipt","claim_ids":["oip-c1","oip-c3"],"link_status":"ok","hash":"oipmap0000000002"},{"id":"oip-s4","type":"protocol","title":"Directory row documentation","url":"https://miscsubjects.com/api/dispatch?key=OIP_TREE&format=markdown","summary":"Capability articles are generated from live rows.","quote":"Machine Contract","claim_ids":["oip-c1"],"link_status":"ok","hash":"oiprow0000000003"},{"id":"oip-s5","type":"protocol","title":"Invocation ledger","url":"https://miscsubjects.com/api/invocations","summary":"Append-only invocation records and receipt links.","quote":"invocations","claim_ids":["oip-c5"],"link_status":"ok","hash":"oipinvocations0005"}],"prov":{"model":"system/oip_articles","action":"generate"}}