{"slug":"oip-directory-dispatch","title":"Directory rows and dispatch","body":"## Directory rows\n\nThe directory is the executable catalog. A row is the saved contract for one capability. It can be a tool, prompt, Hypertext Transfer Protocol (HTTP) target, Command Line Interface (CLI) command, database action, or build operation.\n\n## Dispatch\n\nDispatch is the invocation door. It receives a `key` and `body`. It finds the matching directory row. It applies authentication and shape rules. It runs the configured runner. It returns an Object Invocation Protocol (OIP) envelope.\n\nYou can invoke a directory row using standard HTTP requests.\nFor example, using `curl` with a POST request:\n```bash\ncurl -X POST https://miscsubjects.com/api/dispatch \\\n     -H \"Content-Type: application/json\" \\\n     -d '{\"key\": \"my-object-key\", \"body\": {\"input\": \"example data\"}}'\n```\nOr using a GET request, where the `body` is JavaScript Object Notation (JSON) and must be Uniform Resource Locator (URL)-encoded:\n```bash\ncurl \"https://miscsubjects.com/api/dispatch?invoke=my-object-key&body=%7B%22input%22%3A%22example%20data%22%7D\"\n```\nEvery invocation lands in an append-only ledger. A receipt is generated for each invocation. You can retrieve a receipt at `/api/dispatch?receipt=inv_ID`.\n\n## Why the row matters\n\nIf a row's contract is wrong, the build fails. It fails by obeying bad instructions. The repair path is to read the row. Compare it to the ledger result. Patch the smallest broken contract. Then retest the operation.\n\n## OIP and MCP: A Comparison\n\n**Object Invocation Protocol (OIP)** is the system for invoking objects. An object is a directory row. OIP uses plain Uniform Resource Locators (URLs). It uses receipts for tracking invocations. OIP does not need a continuous connection, known as a persistent session. Any Artificial Intelligence (AI) model or system that can open a URL can act using OIP.\n\n**Model Context Protocol (MCP)** is an open standard. An AI model connects to an MCP server. A server is a computer program that provides services to other programs. This connection uses a persistent session. A session is a continuous exchange of information. The MCP server exposes tools, resources, and prompts. The AI model can call these exposed items. MCP is not a content-management system.\n\n### Key Differences\n\n*   **Session Management**: OIP is stateless. It does not maintain a persistent session between invocations. Each request is independent. MCP is stateful. It requires a persistent session for the AI model to interact with the server.\n*   **Invocation Mechanism**: OIP uses standard Hypertext Transfer Protocol (HTTP) requests and URLs. This makes it widely accessible. MCP uses a session-based protocol for interaction.\n*   **Flexibility and Reach**: OIP allows any system that can make an HTTP request to invoke an object. This includes simple scripts or web browsers. MCP requires a specific client-server connection within a defined session.\n*   **Purpose**: OIP is designed for invoking discrete, addressable objects via URLs. It focuses on direct action and verifiable receipts. MCP is designed for providing a rich, interactive environment for an AI model. It offers context and tools within a continuous session.\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 00:44 · 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 explanation; Detailed comparison of OIP and MCP\n- 2026-07-02 23:20 · 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 explanation; Detailed comparison of OIP and MCP\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"}}