{"_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-glossary","title":"OIP Glossary","body":"This article defines core Object Invocation Protocol (OIP) terms.\nEach term specifies its nature, the OIP route or object performing it, the receipt proving it, and its conformant behavior.\nOIP defines the work object as its unit.\nOIP defines the receipt as its proof.\nThe OIP loop is object, invoke, ledger, receipt, replay, repair.\n\n## Definitions\n\n### Object Invocation Protocol (OIP)\nObject Invocation Protocol (OIP) specifies the invocation of work objects. OIP defines the work object as its unit. OIP defines the receipt as its proof. OIP defines the OIP loop as object, invoke, ledger, receipt, replay, repair. OIP uses a Uniform Resource Locator (URL) for object invocation.\n\n### Object\nAn object is a named, executable code unit. An object performs a defined capability. An object is invoked by its key. The `POST /api/dispatch {key, body}` route invokes an object. The `GET /api/dispatch?invoke=KEY&body=...` route invokes an object. An object invocation generates a receipt.\n\n### Key\nA key is the unique identifier for an object. A key specifies the object for invocation. The `key` field in `POST /api/dispatch {key, body}` specifies the object. The `invoke` parameter in `GET /api/dispatch?invoke=KEY&body=...` specifies the object.\n\n### Capability\nA capability is the defined action an object performs upon invocation. An object's capability is executed by the server. A receipt proves the execution of a capability.\n\n### Token\nA token is a short string that authorizes an object invocation. A token is included in the invocation request. The server validates the token before object execution. A valid token enables conformant object invocation.\n\n### Tenant\nA tenant is an entity that owns objects. A tenant manages object keys and capabilities. A tenant's objects are invoked via `POST /api/dispatch` or `GET /api/dispatch`.\n\n### Dispatch\nA dispatch is the act of invoking an object. The `POST /api/dispatch {key, body}` route performs a dispatch. The `GET /api/dispatch?invoke=KEY&body=...` route performs a dispatch. A dispatch appends an entry to the ledger and returns a receipt.\n\n### Receipt\nA receipt is the proof of an object invocation. A receipt is returned by a successful dispatch. A receipt is retrieved from the `/api/dispatch?receipt=inv_ID` route. A receipt contains the invocation ID, key, body, and result. A receipt enables replay and repair of an invocation.\n\n### Ledger\nThe ledger is the append-only record of all object invocations. Every dispatch appends an entry to the ledger. The ledger provides the source for receipt retrieval. The ledger supports replay and repair operations.\n\n### Uniform Resource Locator (URL)\nA Uniform Resource Locator (URL) is a specific character string that constitutes a reference to a resource. OIP uses URLs for object invocation. The `GET /api/dispatch?invoke=KEY&body=...` route is a URL for object invocation. The `/api/dispatch?receipt=inv_ID` route is a URL for receipt retrieval.\n\n### Application Programming Interface (API)\nAn Application Programming Interface (API) is a set of defined interactions between multiple software intermediaries. OIP exposes its functionality through a RESTful API. The `/api/dispatch` route is an OIP API endpoint. The `/api/articles` route is an OIP API endpoint.\n\n### Representational State Transfer (REST)\nRepresentational State Transfer (REST) is an architectural style for distributed hypermedia systems. OIP uses REST principles for object invocation via Uniform Resource Locators (URLs). OIP routes `/api/dispatch` and `/api/articles` conform to REST principles.\n\n### Command Line Interface (CLI)\nA Command Line Interface (CLI) is a text-based program for interacting with OIP. A CLI sends `POST /api/dispatch` or `GET /api/dispatch` requests. A CLI receives JSON responses and receipts. A CLI enables direct OIP object invocation.\n\n### JavaScript Object Notation (JSON)\nJavaScript Object Notation (JSON) is a lightweight data-interchange format. OIP uses JSON for request bodies and response payloads. The `body` field in `POST /api/dispatch {key, body}` is a JSON object. Receipts are returned as JSON objects.\n\n### Model Context Protocol (MCP)\nModel Context Protocol (MCP) defines a session-based interaction between a model and a server. An MCP server exposes tools, resources, and prompts over a session. OIP provides sessionless object invocation. OIP object invocation uses a Uniform Resource Locator (URL) without requiring an open session. MCP maintains a persistent connection; OIP performs stateless requests.\n\n## Protocol Specification\n\nThis article defines the foundational terms for Object Invocation Protocol (OIP) specification. Each term provides a precise definition for OIP implementation and conformance. Consistent terminology ensures interoperability across OIP clients and servers.\n\n## End-to-End Example\n\nAn end-to-end example demonstrates object invocation and receipt retrieval.\n\n1.  Invoke an object using `POST /api/dispatch`:\n    ```bash\n    curl -X POST https://miscsubjects.com/api/dispatch \\\n      -H \"Content-Type: application/json\" \\\n      -d '{\"key\":\"oip-tap-go\",\"body\":{}}'\n    ```\n    This invocation returns a JSON response containing a `receipt_url` field, for example, `/api/dispatch?receipt=inv_12345`.\n\n2.  Retrieve the receipt using `GET /api/dispatch?receipt=inv_ID`:\n    ```bash\n    curl https://miscsubjects.com/api/dispatch?receipt=inv_12345\n    ```\n    This retrieval returns the full receipt JSON, proving the invocation details.\n\n## OIP and MCP Comparison\n\nOIP and Model Context Protocol (MCP) define distinct interaction paradigms. OIP performs stateless, sessionless object invocations; MCP maintains stateful, session-based interactions. OIP uses Uniform Resource Locators (URLs) for one-shot requests; MCP establishes persistent connections for tool and resource exposure. OIP provides a receipt as proof of invocation; MCP manages session context for ongoing model operations.\n\n## Proof and Conformance\n\n**Receipt Rule:** Every successful object invocation via `POST /api/dispatch {key, body}` or `GET /api/dispatch?invoke=KEY&body=...` appends a record to the ledger and returns a receipt URL. The receipt at `/api/dispatch?receipt=inv_ID` provides the immutable proof of the invocation, including the `key`, `body`, and `result`.\n\n**Conformance Rule:** An OIP implementation conforms to the protocol by correctly processing `POST /api/dispatch` and `GET /api/dispatch` requests, appending all invocations to an immutable ledger, and providing retrievable receipts at `/api/dispatch?receipt=inv_ID` that accurately reflect the invocation details and results. Conformant behavior includes successful object execution and error reporting via receipt.\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-04 13:31 · model `grok/grok-4.3` · NEEDS WORK · JSON 5/10 · English 7/10 · zero-context human 5/10\n  - gaps named: oip-what-is-object; oip-what-is-token; oip-object-model; oip-directory-dispatch\n- 2026-07-04 10:38 · model `grok/grok-4.3` · NEEDS WORK · JSON 7/10 · English 8/10 · zero-context human 6/10\n  - gaps named: oip-what-is-object; oip-what-is-token; oip-object-model\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","dynamic"],"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"}}