Object Invocation Protocol · protocol specification

OIP system: Phone / iMessage

#oip#object-invocation-protocol#protocol-specification#machine-native-json#system

Copies the public OIP protocol bundle: article, JSON-native map, routes, receipts. No owner token.

§SELF — protocol specification
## §SELF — OIP protocol specification

**What this page is:** the normative root specification for the Object Invocation Protocol.

**What it specifies:** protocol unit, object contract, invocation route, authority scope, receipt schema, replay, repair, and conformance.

**Read:** https://miscsubjects.com/a/oip-system-phone
**Machine bundle:** https://miscsubjects.com/api/articles/oip-system-phone/bundle?format=markdown
**Live object tree:** https://miscsubjects.com/api/dispatch?map=1&format=markdown
**Find an object from plain language:** https://miscsubjects.com/api/dispatch?ask=<what you want>
**Read one object:** https://miscsubjects.com/api/dispatch?key=<KEY>&format=markdown

**Proof rule:** an action is not proven by intent, description, or a 200. It is proven by the ledger and the OIP receipt for the invocation.

Phone / iMessage

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.

This 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.

Kind: device. Capabilities: 10. Machine system map: /api/dispatch?map=PHONE&format=markdown. Root: /a/oip.

Operations

PHONE_NOTIFY

send a push to Cyrus's phone via iMessage. Use when: an agent finished a task, hit a milestone, or needs eyes on something. Arguments: title|body. Multi-line body OK.. Human article: /a/oip-capability-phone-notify. Machine doc: ?key=PHONE_NOTIFY&format=markdown. Invocation history: /api/invocations?object_id=PHONE_NOTIFY.

PHONE_APPROVAL_CREATE

insert a row into approvals (status=pending) and notify Cyrus's phone. Use when: about to do something destructive (deploy, send outreach, delete, pay) — pause first. Arguments: action|summary|resume_key|resume_body. resume_key + body are dispatched on approve.. Human article: /a/oip-capability-phone-approval-create. Machine doc: ?key=PHONE_APPROVAL_CREATE&format=markdown. Invocation history: /api/invocations?object_id=PHONE_APPROVAL_CREATE.

PHONE_APPROVAL_RESOLVE

update approvals.status to approved/denied and, on approve, dispatch the stored resume_key. Use when: phone tap, /admin/approvals click, or natural-language "approve 12". Arguments: approval_id|decision (approve|deny).. Human article: /a/oip-capability-phone-approval-resolve. Machine doc: ?key=PHONE_APPROVAL_RESOLVE&format=markdown. Invocation history: /api/invocations?object_id=PHONE_APPROVAL_RESOLVE.

PHONE_VOICE_NOTE_HANDLE

transcribe a phone voice memo and route the transcript through ROUTER like an iMessage. Use when: /api/phone/in receives action=voice_note from an iOS Shortcut. Arguments: voice_url.. Human article: /a/oip-capability-phone-voice-note-handle. Machine doc: ?key=PHONE_VOICE_NOTE_HANDLE&format=markdown. Invocation history: /api/invocations?object_id=PHONE_VOICE_NOTE_HANDLE.

PHONE_SHARE_URL_HANDLE

phone shared a URL via the Share Sheet — fetch its markdown and route to ROUTER as a normal turn. Use when: /api/phone/in receives action=share_url. Arguments: text|url.. Human article: /a/oip-capability-phone-share-url-handle. Machine doc: ?key=PHONE_SHARE_URL_HANDLE&format=markdown. Invocation history: /api/invocations?object_id=PHONE_SHARE_URL_HANDLE.

PHONE_SHARE_TEXT_HANDLE

phone shared selected text — route straight to ROUTER as if Cyrus had typed it. Use when: /api/phone/in action=share_text. Arguments: text.. Human article: /a/oip-capability-phone-share-text-handle. Machine doc: ?key=PHONE_SHARE_TEXT_HANDLE&format=markdown. Invocation history: /api/invocations?object_id=PHONE_SHARE_TEXT_HANDLE.

PHONE_SHARE_IMAGE_HANDLE

phone shared an image — store as reference + route image URL through ROUTER (ARCADS picks it up). Use when: /api/phone/in action=share_image or action=photo. Arguments: image_url|caption.. Human article: /a/oip-capability-phone-share-image-handle. Machine doc: ?key=PHONE_SHARE_IMAGE_HANDLE&format=markdown. Invocation history: /api/invocations?object_id=PHONE_SHARE_IMAGE_HANDLE.

PHONE_CLIPBOARD_HANDLE

phone clipboard contents → ROUTER. Same shape as share_text but explicitly tagged. Use when: /api/phone/in action=clipboard. Arguments: clipboard_text.. Human article: /a/oip-capability-phone-clipboard-handle. Machine doc: ?key=PHONE_CLIPBOARD_HANDLE&format=markdown. Invocation history: /api/invocations?object_id=PHONE_CLIPBOARD_HANDLE.

PHONE_LOCATION_HANDLE

phone location event → ROUTER. ARGS: location_label (e.g. "arrived: home"). Use when: /api/phone/in action=location, NFC tap, geofence trigger. Arguments: location_label.. Human article: /a/oip-capability-phone-location-handle. Machine doc: ?key=PHONE_LOCATION_HANDLE&format=markdown. Invocation history: /api/invocations?object_id=PHONE_LOCATION_HANDLE.

PHONE_EVENTS_TAIL

tail the phone_events table. ARGS: limit (default 20). Use when: "what did my phone send today". Human article: /a/oip-capability-phone-events-tail. Machine doc: ?key=PHONE_EVENTS_TAIL&format=markdown. Invocation history: /api/invocations?object_id=PHONE_EVENTS_TAIL.

10
capabilities
Evidence · 5 sources · swipe →chain oipinvocatio · verify chain · provenance

Key evidence

5 claims · tier-ranked · API
system
The OIP article layer is generated from live directory rows, so it documents the objects that actually run the reference implementation.
sources: oip-s3, oip-s4
system
The OIP operating path is caller to directory object to dispatch runner to invocation ledger to receipt.
sources: oip-s1
system
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.
sources: oip-s2, oip-s3
system
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.
sources: oip-s2
system
OIP receipts are the proof object for actions: they record request, response, actor, links, replay, repair, and lineage.
sources: oip-s2, oip-s5
Talk to this article
Tap a phone. Ask anything about OIP system: Phone / iMessage. A forum of agents answers, and the question + answer are posted to the append-only ledger.
Questions queue for the coding-agent forum (one answer per cron tick). Real phone instead: iMessage +14245134626 · WhatsApp. Thread + proof: JSON · ledger.
oip-system-phone · posted 2026-07-02 · updated 2026-07-02
Ledger API & provenance
Provenance · 1 model pass · 0 tokens · $0 · 1 model
chain head virtual-oip
generate system/oip_articles · 2026-07-02 23:05 · 0 tok · virtual-oip
verify chain →
OIP REST + ledger
system shelf GET /api/dispatch?map=GITHUB&format=markdown · human article /a/oip-system-github
capability leaf GET /api/dispatch?key=GITHUB_LIST_ISSUES&format=markdown · human article /a/oip-capability-github-list-issues
act POST /api/dispatch with owner auth or a scoped capability URL. Public docs are open; mutating action is token-bounded.
token explain GET /api/dispatch?explain=1&share=TOKEN
receipt GET /api/dispatch?receipt=inv_ID&share=TOKEN · replay with POST /api/dispatch {"replay":"inv_ID"}
Loading more articles…