{"slug":"oip-build-overview","title":"OIP build overview","body":"## Introduction to OIP\n\nOIP (Object Invocation Protocol) helps objects work together. It provides a standard way to describe, invoke, and replay objects. This makes building and maintaining complex systems easier. OIP enables objects to interact in a standard way. This builds robust and scalable systems.\n\n## What this article explains\n\nThis article explains the miscsubjects.com build as one object system. Site parts like APIs (Application Programming Interfaces), directory rows, prompts, files, ledgers, tools, model calls, self-tests, and the deploy path are all objects. These objects can be described, invoked, proven, replayed, or repaired. A server is a computer that hosts these objects. It provides access through APIs. A token is a unique code. It authenticates and authorizes access to these objects. An endpoint is a specific URL (Uniform Resource Locator). An API uses it to interact with an object.\n\n## The whole shape\n\nA caller asks for work. OIP finds the right object. A directory row explains the object. Dispatch runs the object. This happens through the `/api/dispatch` route. You can use a POST request to `/api/dispatch`. Send `{key, body}` in the request. Or you can use a GET request. Send `/api/dispatch?invoke=KEY&body=...`. A runner does the real work. The ledger records the request and response. It uses JSON (JavaScript Object Notation) format. Every invocation lands in this append-only ledger. A receipt proves what happened. You can find the receipt at `/api/dispatch?receipt=inv_ID`.\n\n## MCP explanation\n\nMCP (Model Context Protocol) is an open standard. An AI model connects to an MCP server over a session. The server exposes tools, resources, and prompts. The AI model can call these. MCP is NOT a content-management system. It provides a rich context for AI models. MCP allows AI models to access specific tools and information during a session. This includes data, models, and computing resources. MCP also provides a dynamic environment. AI models can adapt to changing conditions and learn from experience within this environment.\n\nOIP and MCP differ in their approach. OIP uses plain URLs and receipts. It has no persistent session. Any model that can open a URL can act with OIP. MCP uses a session-based approach. It maintains a continuous connection between the model and the server. OIP focuses on object invocation and interoperability. MCP focuses on providing a dynamic environment for AI models. OIP allows objects to be described, invoked, replayed, and repaired. MCP allows AI models to access specific tools and information during a session.\n\n## Why this matters\n\nA model with zero context should not guess how the build works. It should read the object. It should run the exact invocation. This can be done through a CLI (Command-Line Interface) or a REST (Representational State of Resource) API. Then, it should report the receipt. That is the build's operating loop. The build operation can be performed using curl.\n\nTo invoke an object with POST:\n```bash\ncurl -X POST https://miscsubjects.com/api/dispatch \\\n     -H \"Content-Type: application/json\" \\\n     -d '{ \"key\": \"object_key\", \"body\": \"invocation_body\" }'\n```\nTo invoke an object with GET:\n```bash\ncurl \"https://miscsubjects.com/api/dispatch?invoke=object_key&body=invocation_body\"\n```\nAfter invocation, you can check the receipt. Use the invocation ID (`inv_ID`) from the response:\n```bash\ncurl \"https://miscsubjects.com/api/dispatch?receipt=inv_ID\"\n```\n\n## Relationship between OIP and MCP\n\nOIP and MCP are related but distinct protocols. OIP focuses on object invocation and interoperability. MCP focuses on providing a contextual environment for AI models. While they have different focuses, they can be used together. OIP can manage the invocation of objects. MCP can provide the AI model with the necessary tools and prompts to interact with those objects. For more information on MCP, see the [OIP MCP explanation article](/a/oip-mcp-explanation).\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:21 · 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: Detailed MCP explanation; OIP and MCP differences\n- 2026-07-02 23:29 · 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: Detailed MCP explanation; OIP and MCP differences\n- 2026-07-02 23:15 · 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: Detailed MCP explanation; OIP and MCP differences\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.","hero":null,"images":[],"style":{"accent":"#16324f","measure":860},"tags":["oip","object-invocation-protocol","protocol-specification","machine-native-json","primer"],"model":null,"ledger":null,"embeds":[],"widgets":[{"type":"stat","value":6,"label":"revision"},{"type":"note","title":"Zero-context rule","text":"A reader should understand the protocol unit, object contract, invocation route, receipt schema, and repair path from this page plus its machine bundle."},{"type":"note","title":"Machine-native rule","text":"The JSON is the executable map: object, routes, inputs, proof loop, ledger, and next article to open."}],"home":false,"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"}],"reviews":[],"extra":{"oip_virtual":true,"oip_type":"primer","count":6,"metric":"revision","primer":"oip-build-overview","version":6,"author_model":"gemini/gemini-2.5-flash","revision_source":"revision"},"register":"oip_protocol","status":"published","revisions":0,"contributions":[],"provenance":[{"action":"generate","model":"system/oip_articles","ts":"2026-07-03T01:49:07-07:00","hash":"virtual-oip","tokens_in":0,"tokens_out":0}],"energy":{"passes":1,"tokens_in":0,"tokens_out":0,"tokens_total":0,"cost_usd":0,"models":{"system/oip_articles":1},"head":"virtual-oip"},"posted_at":"2026-07-02T00:00:00.000Z","created_at":"2026-07-02T00:00:00.000Z","updated_at":"2026-07-03T01:49:07-07:00"}