{"_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."},"_self":{"principle":"Self-explaining payload — no external context required. This _self block describes what you are reading and where to look next.","widget":"article_topology","feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","contains":"claims, sources, anecdotes, question_graph slice","slug":"canonical-invocation-manual","urls":{"read":"https://miscsubjects.com/api/articles/canonical-invocation-manual/topology"},"how_to_use":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","write":null,"imessage":null,"router_tag":null,"proof_chain":[{"step":1,"claim":"Articles are voxel graphs of tiered claims, not prose blobs.","verify":"https://miscsubjects.com/api/articles/constitution"},{"step":2,"claim":"Claims link to hash-chained sources via source_ids.","verify":"https://miscsubjects.com/api/articles/canonical-invocation-manual/sources"},{"step":3,"claim":"Ask reads topology; ingest/claim append to ledger.","verify":"https://miscsubjects.com/api/protocol"},{"step":4,"claim":"Models queue growth: populate → collaborate → repair → reflex.","verify":"https://miscsubjects.com/api/protocol/grow"},{"step":5,"claim":"Graph proves its own shape (reflex) and $/claim (yield).","verify":"https://miscsubjects.com/graph.html?layer=reflex"},{"step":6,"claim":"Full feature index + _explain on every API response.","verify":"https://miscsubjects.com/api/articles/system-map"}],"related_features":[{"id":"ask","name":"Ask protocol","what":"Answer only from topology; creates question_node with gaps and ingest_hint.","urls":{"read":"https://miscsubjects.com/api/articles/canonical-invocation-manual/prompts","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"graph_topology","name":"Cross-article graph","what":"Merged claims/sources across condition+stack slugs for one question.","urls":{"read":"https://miscsubjects.com/api/articles/canonical-invocation-manual/graph-topology?question=..."}},{"id":"question_graph","name":"Question graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output).","urls":{"read":"https://miscsubjects.com/api/articles/canonical-invocation-manual/question-graph","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"voxels","name":"Voxel graph","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance.","urls":{"read":"https://miscsubjects.com/api/articles/canonical-invocation-manual/voxels","write":"https://miscsubjects.com/api/protocol/claim"}}],"system_map":"https://miscsubjects.com/api/articles/system-map","system_map_markdown":"https://miscsubjects.com/api/articles/system-map?format=markdown","not_medical_advice":true},"_explain":{"feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","why":"Every feature is auditable collective intelligence","how":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","model":null,"verifies":null,"urls":{"read":"https://miscsubjects.com/api/articles/canonical-invocation-manual/topology"},"imessage":null,"router":null,"related":[{"id":"ask","what":"Answer only from topology; creates question_node with gaps and ingest_hint."},{"id":"graph_topology","what":"Merged claims/sources across condition+stack slugs for one question."},{"id":"question_graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output)."},{"id":"voxels","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance."}],"not_medical_advice":true},"slug":"canonical-invocation-manual","title":"Canonical invocation manual: every way to do anything on miscsubjects, each call tested live","register":"articles","tags":["oip","invocation","manual","dispatch","mcp","tags","tokens","receipts","tested-live"],"updated_at":"2026-09-08T13:26:37.339Z","body_excerpt":"## Scope and method\n\nThe canonical invocation manual is the single document that shows how to do anything on miscsubjects.com, by every way it can be done, with the exact request and the exact recorded response for each. Every example below was executed against the live site on 2026-09-08 and copied from the recorded response. Nothing in an example is typed from memory. 79 calls were recorded; the re-run script is named at the end.\n\nA reader who knows nothing about this system can operate it after one read. If a sentence here disagrees with a live response, the live response wins, and the sentence is a defect to report.\n\n### Six words you need\n\n- **Capability.** One thing the build can do. Each one is a row in a table called the directory, named by an upper-case key such as `NOW` or `D1_QUERY`. There are 1,201 of them.\n- **Body.** The argument string a capability takes. Several arguments are joined with a vertical bar, in the order the row's contract lists them: `blooio|+1415<owner line>|hello`. A body that is one JSON document is one argument.\n- **Dispatch.** The single door every call goes through: `https://miscsubjects.com/api/dispatch`. Every surface below ends there.\n- **Receipt.** The record of one call. Every call returns an invocation id that starts with `inv_` and a trace id that starts with `t_`. A receipt is public at `/receipt/<inv_id>`.\n- **Token.** A credential. Three kinds exist and they are not interchangeable; the next section shows which header each one goes in and what happens when you use the wrong one.\n- **Tag.** The text form of a call: `[KEY]body[/KEY]`. A model that can only write text calls a capability by writing its tag.\n\n### The one rule\n\nRead the object before you call it. `GET /api/dispatch?key=KEY` returns the contract with the exact call shape. Guessing a key or an argument order is the most common failure; an unknown key returns `did_you_mean` suggestions, shown in the errors section.\n\n## Credentials: which one, in which header\n\n| Credential | Who holds it | Where it goes | Works on |\n|---|---|---|---|\n| Terminal key | the owner and the owner's own machines | header `x-terminal-key: <TERMINAL_KEY>` | `/api/dispatch`, `/api/articles`, `/api/sheets`, `/api/work`, `/api/aig` (there as `authorization: Bearer`) |\n| Share token | anyone the owner minted one for | query `?share=<TOKEN>` on `/api/dispatch`, or `authorization: Bearer <TOKEN>` | only the scope it was minted with |\n| MCP token | Model Context Protocol clients | header `authorization: Bearer <MCP_TOKEN>` on `/api/mcp` only | the MCP endpoint |\n\nThree facts, each tested:\n\n- The terminal key sent as `authorization: Bearer` to dispatch is read as a share token and refused as `token_corrupted`. The header name is `x-terminal-key`.\n- The terminal key sent to `/api/mcp` in any header is refused. The MCP endpoint takes only the MCP token, which is a different secret.\n- A public read needs no credential. A public invoke without a token is refused with a note that names the three credentials that would have worked:\n\n```bash\ncurl -sS \\\n  'https://miscsubjects.com/api/dispatch?invoke=NOW'\n```\nResponse, HTTP 401:\n```json\n{\n  \"error\": \"unauthorized\",\n  \"note\": \"invoke needs an owner access key, an act share link, or a row:NOW share link\"\n}\n```\n\nEvery question about tokens beyond this manual (minting, self-scoping, drops, expiry, troubleshooting) defers to the canonical token manual at https://miscsubjects.com/a/oip-tap-go.\n\n## 1. Discover what exists (public, no credential)\n\n### 1.1 The protocol index\n\n`GET /api/dispatch` with no parameters returns the protocol itself: version, the invariant loop, and every endpoint with its method, URL and body shape. This is the authoritative list of operations; the sections below are those operations executed.\n\n```bash\ncurl -sS 'https://miscsubjects.com/api/dispatch'\n```\n\nEndpoints it lists, as recorded on 2026-09-08: `invoke`, `shape` (dry run), `receipt`, `replay`, `repair`, `work`, `explain`, `mint`, `attenuate` ","ranking":"safety-first (interaction_risk/limitations), then quote-gated effective_weight","claims":[{"id":"c1","text":"On 2026-09-08 the protocol index at GET /api/dispatch listed 33 endpoints and the registry counted 1,201 objects.","tier":"runtime","interaction_risk":false,"status":"active","source_ids":["s1"],"why_material":"Fixes the size of the surface this manual covers so a reader can check completeness.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c2","text":"The terminal key presented as an authorization Bearer header to /api/dispatch is refused as token_corrupted, while the same key in the x-terminal-key header executes.","tier":"runtime","interaction_risk":false,"status":"active","source_ids":["s1"],"why_material":"The single most common credential mistake; a reader who gets this wrong cannot invoke anything.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c3","text":"The MCP endpoint /api/mcp refuses the terminal key in every header and accepts only the separate MCP token.","tier":"runtime","interaction_risk":false,"status":"active","source_ids":["s1"],"why_material":"Decides which credential an MCP client must be configured with.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c4","text":"The emit door runs every executable tag in a text, leaves a tag quoted inside [REPLY] inert, and does not substitute a $name binding within one call.","tier":"runtime","interaction_risk":false,"status":"active","source_ids":["s4"],"why_material":"Defines exactly what a text-only model can and cannot do through the tag grammar.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c5","text":"The live conformance run reports all 45 protocol clauses holding on the build.","tier":"runtime","interaction_risk":false,"status":"active","source_ids":["s3"],"why_material":"The reader can re-run it instead of trusting this page.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c6","text":"A public GET /api/dispatch?invoke=NOW without a token is refused as unauthorized with a note naming the three credentials that would have worked.","tier":"runtime","interaction_risk":false,"status":"active","source_ids":["s1"],"why_material":"Tells a reader with no credential exactly what to ask the owner for.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c7","text":"A row token minted for NOW executed NOW, was refused as scope_mismatch on D1_QUERY, and after revocation was refused as revoked.","tier":"runtime","interaction_risk":false,"status":"active","source_ids":["s1"],"why_material":"Shows the three states of a token in one recorded sequence.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c8","text":"A sheet cell holding [NOW][/NOW] with =TAG(A1) beside it returned the dispatch envelope with a trace, through the same parser and dispatcher a model turn uses.","tier":"runtime","interaction_risk":false,"status":"active","source_ids":["s1"],"why_material":"Proves the spreadsheet door is the same path, not a simulation.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c9","text":"Adding shape:true to a dispatch body returns the fully shaped outbound call with ran:false and fires nothing.","tier":"runtime","interaction_risk":false,"status":"active","source_ids":["s1"],"why_material":"Gives a reader a safe way to check an argument order before a side effect.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c10","text":"GET /api/dispatch?confirm=inv_ID and GET /receipt/inv_ID answer without a credential, while GET /api/dispatch?receipt=inv_ID requires one.","tier":"runtime","interaction_risk":false,"status":"active","source_ids":["s5"],"why_material":"Separates the public proof from the private full record.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c11","text":"POST /api/dispatch {\"replay\":\"inv_ID\"} re-fired the recorded NOW invocation and returned a new receipt.","tier":"runtime","interaction_risk":false,"status":"active","source_ids":["s1"],"why_material":"Replay is the mechanism a stranger uses to check a claim without trusting the page.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c12","text":"WEBMODEL_AGENT handed a logged-in ChatGPT session the NOW capability, the model called it by tag, and the relay returned the time as its final answer.","tier":"runtime","interaction_risk":false,"status":"active","source_ids":["s1"],"why_material":"The browser-model door is proven end to end rather than described.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c13","text":"CLI_CLAUDE_CODE started a headless Claude Code run on the owner Mac that printed OK and returned within fifteen seconds; CLI_SPAWN with kimi returned ok:false in the same run.","tier":"runtime","interaction_risk":false,"status":"active","source_ids":["s1"],"why_material":"One spawn door is proven and one is recorded as unproven, so a reader does not over-trust the second.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c14","text":"A lease on work task WT-0172 returned a lease token and expiry, and release returned the task to state open with an audit hash.","tier":"runtime","interaction_risk":false,"status":"active","source_ids":["s1"],"why_material":"Shows the work object round trip a coding agent must make before and after work.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false}],"sources":[{"id":"s1","url":"https://miscsubjects.com/api/dispatch","title":"Object Invocation Protocol index","quote":"Every capability is an invokable object inside a recursive documentation tree: identify, explain, invoke, ledger, repair, and grow from the receipt.","summary":"The protocol index that lists every endpoint executed on this page.","claim_ids":[],"hash":"32d25b9b246f2afff45f0831e20295fad43db8d37e4e2e281ccf2a0b596daf67"},{"id":"s2","url":"https://miscsubjects.com/api/dispatch?orient=1&format=markdown","title":"Orient","quote":"This one response IS your full familiarization — who you work for, the entire capability surface, and how to do anything.","summary":"The one-read orientation page; its ping link is one of the defects this page records.","claim_ids":[],"hash":"5e7cac930648e5ef9371165f03bb2553d989f163f047399f7deb916924b44dfe"},{"id":"s3","url":"https://miscsubjects.com/api/dispatch?conformance=1&format=markdown","title":"OIP conformance, live run","quote":"A protocol is defined message formats plus invariants plus a conformance test. This is the conformance test, executed live.","summary":"The 45-clause live conformance run.","claim_ids":[],"hash":"20d669cb0b3ca47c0cfb9684b887122769afb2719e3bb35f5a91fdea313ac3b0"},{"id":"s4","url":"https://miscsubjects.com/api/dispatch?key=NOW","title":"NOW, self-describing object","quote":"Self-explaining payload — no external context required. This _self block is the capability: what it is, how to run it, how to change it, and where to look next.","summary":"The object contract every invoke on this page reads first.","claim_ids":[],"hash":"c9b3ed872d159425de0dbea9d5edd1c46570f7ff861131b0559146da1ade9ff2"},{"id":"s5","url":"https://miscsubjects.com/api/invocations","title":"Invocations and the public record","quote":"Per-actor invocation lists require a credential (they can contain private operator turns). The PUBLIC record is open without one:","summary":"Where receipts are public and where they need a credential.","claim_ids":[],"hash":"0d41d71928f476943e2131bd701e998c88ed8a2d51a67c13bde1374db103b825"}],"anecdotal_sources":[],"scientific_sources":[],"user_reports":[],"related_articles":[],"question_graph":{"slug":"canonical-invocation-manual","questions":[],"evidence":[],"edges":[],"counts":{"questions":0,"evidence":0,"edges":0}},"honesty":{"active_claims":14,"retracted_claims":0,"cut_claims":0,"challenges":0,"scrub_events":0,"note":"Retracted/cut claims stay on ledger but are excluded from ask unless ?include_inactive=1"},"counts":{"claims":14,"claims_total":14,"sources":5,"anecdotal":0,"scientific":0,"user_reports":0,"questions":0,"evidence_ingests":0}}