{"slug":"oip-operating-playbook","title":"OIP Operating Playbook","body":"## Introduction to OIP\nOIP stands for Object Invocation Protocol, a protocol that allows models to invoke objects using plain URLs and receipts with no persistent session. This means any model that can open a URL can act.\n\n## The Playbook\nUse the same path for every task: orient, ask, read, invoke, prove, repair.\n\n## Do not Guess\nIf the object key, argument shape, route, or permission is unclear, ask OIP for the object or read the object document. Guessing creates false work and bad receipts. For example, you can use the `/api/dispatch` route to invoke an object by sending a POST request with the object key and body, or a GET request with the `invoke` and `body` parameters. A server is a computer that hosts and manages resources, and in this case, it hosts the OIP objects. A token is not required for OIP, as it uses plain URLs and receipts.\n\n## Close the Loop\nEvery useful action ends with proof. Every failed action starts a repair path from the receipt. The receipt is stored in an append-only ledger, which is a record of all invocations, and can be accessed using the `/api/dispatch?receipt=inv_ID` URL. An endpoint is a URL that an object can be invoked at, and in this case, the endpoint is `/api/dispatch`. The ledger is a fundamental component of OIP, as it provides a record of all actions and allows for proof and repair.\n\n## Comparison to MCP\nOIP differs from MCP (Model Context Protocol), an open standard where an AI model connects to an MCP server over a session, in that OIP uses plain URLs and receipts with no persistent session. MCP is not a content-management system, but rather a protocol that exposes tools, resources, and prompts that models can call. Directory rows are the objects in the OIP system, and they can be invoked using the `/api/dispatch` route. Tap & Go is not a relevant concept in this context.\n\n## Using the Playbook with Curl\nThe build operation can be performed using curl, by sending a POST request to the `/api/dispatch` route with the object key and body, or a GET request with the `invoke` and `body` parameters. For example, `curl -X POST /api/dispatch -H 'Content-Type: application/json' -d '{\"key\":\"object_key\",\"body\":\"object_body\"}'` or `curl -X GET '/api/dispatch?invoke=object_key&body=object_body'`.\n\n## Subsidiary Concepts\nSubsidiary concepts that need their own OIP articles include the MCP protocol, the concept of directory rows, and the use of receipts and ledgers in OIP.\n## Latest clarity reviews (live)\n\nFresh models are sent this article's bundle and asked two separate questions: how clear is the machine JSON, and how clear is the English body. Scores are 0 to 10. The full history is in the append-only ledger.\n\n- 2026-07-03 02:59 · model `@cf/meta/llama-3.3-70b-instruct-fp8-fast` · NEEDS WORK · JSON 9/10 · English 8/10 · zero-context human 7/10\n  - gaps named: MCP protocol; directory rows; receipts and ledgers in OIP\n- 2026-07-02 23:35 · model `@cf/meta/llama-3.3-70b-instruct-fp8-fast` · NEEDS WORK · JSON 9/10 · English 8/10 · zero-context human 7/10\n  - gaps named: MCP; Tap & Go; directory rows; dispatch\n\nHow the loop self-corrects: a failing review queues a model revision of this article (a new append-only version). A missing concept named by a reviewer queues a brand-new machine-written article, which then enters the same review cycle.","register":"oip_protocol","tags":["oip","object-invocation-protocol","protocol-specification","machine-native-json","primer"],"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"}}