{
  "kind": "oip_conformance",
  "protocol": "OIP",
  "spec": "https://miscsubjects.com/a/oip-spec",
  "definition": "A protocol is defined message formats plus invariants plus a conformance test. This is the conformance test, executed live.",
  "ran_at": "2026-07-26T06:34:26.603Z",
  "clauses": [
    {
      "id": "C1",
      "title": "Self-describing manifest",
      "requirement": "GET /api/dispatch with no parameters MUST return a machine-readable manifest with a protocol version and endpoint map.",
      "pass": true,
      "evidence": {
        "url": "https://miscsubjects.com/api/dispatch",
        "status": 200,
        "version": "1.2.0"
      },
      "note": null
    },
    {
      "id": "C2",
      "title": "Object self-description",
      "requirement": "GET /api/dispatch?key=<KEY> MUST return the object's contract: what it is, when to use it, input shape, and how to invoke it.",
      "pass": true,
      "evidence": {
        "url": "https://miscsubjects.com/api/dispatch?key=NOW",
        "status": 200
      },
      "note": null
    },
    {
      "id": "C3",
      "title": "Plain-language discovery",
      "requirement": "GET /api/dispatch?ask=<plain words> MUST return the best-matching object with a runnable invocation (run_now or example).",
      "pass": true,
      "evidence": {
        "url": "https://miscsubjects.com/api/dispatch?ask=what+time+is+it",
        "status": 200,
        "best_key": "NOW"
      },
      "note": null
    },
    {
      "id": "C4",
      "title": "Invocation envelope",
      "requirement": "Every invocation MUST return an envelope carrying an invocation id, a receipt link, and a proof block whose ok reflects the real result.",
      "pass": true,
      "evidence": {
        "invocation_id": "inv_c29uzf8js3",
        "confirm": "https://miscsubjects.com/api/dispatch?confirm=inv_c29uzf8js3"
      },
      "note": null
    },
    {
      "id": "C5",
      "title": "Receipts hold the full record",
      "requirement": "GET ?receipt=<invocation id> MUST return the full request, the full response, and a one-line story of what happened.",
      "pass": true,
      "evidence": {
        "invocation_id": "inv_c29uzf8js3",
        "has_story": true
      },
      "note": null
    },
    {
      "id": "C6",
      "title": "Replay",
      "requirement": "POST {replay:<invocation id>} MUST re-run the recorded invocation and link the new receipt to the original via replay_of.",
      "pass": true,
      "evidence": {
        "original": "inv_c29uzf8js3",
        "replay": "inv_32jihvho5w",
        "replay_of": "inv_c29uzf8js3"
      },
      "note": null
    },
    {
      "id": "C7",
      "title": "Repairs link both ways",
      "requirement": "Any invocation MUST accept a linked repair: POST {key, body, repairs:<id>} links them BOTH ways — the repair carries repairs=<target id> and the target receipt reads back repaired_by=<repair id>. History is annotated, never rewritten or deleted.",
      "pass": true,
      "evidence": {
        "target": "inv_c29uzf8js3",
        "repair": "inv_3c0853ynoz",
        "repairs": "inv_c29uzf8js3",
        "repaired_by": "inv_3c0853ynoz"
      },
      "note": null
    },
    {
      "id": "C8",
      "title": "Fail closed",
      "requirement": "An unknown object MUST return a machine-readable failure (ran:false, nearest-key suggestions) — never a 200 that can be misread as success.",
      "pass": true,
      "evidence": {
        "attempted": "NOSUCHKEY_CONFORMANCE_123",
        "got_did_you_mean": true
      },
      "note": null
    },
    {
      "id": "C9",
      "title": "Append-only ledger",
      "requirement": "Every invocation MUST land in an append-only ledger readable by id, carrying request, response, actor, and trace.",
      "pass": true,
      "evidence": {
        "url": "https://miscsubjects.com/api/invocations",
        "latest": "inv_32jihvho5w"
      },
      "note": null
    },
    {
      "id": "C10",
      "title": "Repeat protection",
      "requirement": "An identical call from the same caller within the repeat window (about 90 seconds) MUST return the original receipt and MUST NOT re-fire the action.",
      "pass": true,
      "evidence": {
        "first": "inv_q7euqo5okd",
        "second_deduped": true
      },
      "note": null
    },
    {
      "id": "C11",
      "title": "Capability scoping",
      "requirement": "A row-scoped capability MUST invoke only its named object and MUST be denied on every other object (least privilege is enforced, not advisory).",
      "pass": true,
      "evidence": {
        "fingerprint": "cap_08f8db8527d3493d",
        "allowed_status": 200,
        "denied_status": 401,
        "token": "<REDACTED>"
      },
      "note": null
    },
    {
      "id": "C12",
      "title": "Public documentation plane",
      "requirement": "Docs MUST be reachable with zero credentials: the capability tree (?map=1) and the human article root (/a/oip). Actions stay gated; reading never is.",
      "pass": true,
      "evidence": {
        "map_status": 200,
        "article_status": 200
      },
      "note": null
    },
    {
      "id": "C13",
      "title": "The docs test their own clarity",
      "requirement": "The documentation MUST test itself: fresh models score every article's machine JSON and English separately, failing articles get machine revisions (append-only versions), and named gaps become new machine-written articles.",
      "pass": true,
      "evidence": {
        "reviews_ledgered": 156,
        "article_versions": 101
      },
      "note": null
    },
    {
      "id": "C14",
      "title": "Human/machine duality",
      "requirement": "Every article MUST exist in two synchronized forms: a human page (/a/<slug>) and a machine bundle (JSON with body + machine map). The English is the presentation of the JSON, not a separate document.",
      "pass": true,
      "evidence": {
        "bundle_status": 200,
        "has_machine": true
      },
      "note": null
    },
    {
      "id": "C15",
      "title": "Server time law",
      "requirement": "Every product timestamp MUST be stamped by the server clock in Pacific time. A caller-supplied time MUST be ignored. No token or item can carry a time it chose.",
      "pass": true,
      "evidence": {
        "invocation_ts": "2026-07-25T23:33:47-07:00",
        "clock_today": "2026-07-25",
        "injected_2030_ignored": true
      },
      "note": null
    },
    {
      "id": "C16",
      "title": "You only see moves your token can make",
      "requirement": "The list of available moves MUST be computed from the token that was presented. A token that cannot run a tool MUST NOT be shown a run move; an owner or act token MUST be shown one. The server enforces the limits either way.",
      "pass": true,
      "evidence": {
        "public_key_NOW_ops": [
          "contract",
          "confirm"
        ],
        "owner_envelope_ops": [
          "contract",
          "confirm",
          "explain",
          "registry",
          "receipt",
          "invoke",
          "shape",
          "replay",
          "repair"
        ]
      },
      "note": null
    },
    {
      "id": "C17",
      "title": "Receipts separate who allowed it from who asked for it",
      "requirement": "Every invocation MUST record two separate things: the verified token that allowed it, and the caller's quoted user request that asked for it. It MUST say what the tool needs before it runs, what it changes, and what should be true after; MUST mark fetched text as data, not instructions; and MUST keep the who-acted-for-whom chain on the receipt.",
      "pass": true,
      "evidence": {
        "invocation_id": "inv_9pviqord9c",
        "envelope_chain": [
          "conformance-suite",
          "the-owner"
        ],
        "typed_intent": true,
        "receipt_carries_chain": true
      },
      "note": null
    },
    {
      "id": "C18",
      "title": "A handed-down token can only shrink",
      "requirement": "A token holder MAY mint a smaller child token. Each child's budget MUST be taken from the parent's remainder one at a time, so children together can never spend more than the parent has left. Any request for a WIDER child MUST be refused and logged.",
      "pass": true,
      "evidence": {
        "parent": "cap_b36b55b5cd3593a2",
        "children": [
          "cap_af39da3ddf1de3dc",
          "cap_b0d9687127bcb607"
        ],
        "overflow_status": 403,
        "overflow_error": "parent_exhausted",
        "widen_status": 403,
        "widen_error": "scope_widen_denied"
      },
      "note": null
    },
    {
      "id": "C19",
      "title": "Revoking a parent kills every child",
      "requirement": "Revoking a token MUST also revoke every token handed down from it, all the way down. Every call MUST also check the full chain of parents, so a child that slipped past the sweep still fails.",
      "pass": true,
      "evidence": {
        "child_before": 200,
        "revoked_descendants": [
          "cap_5936814a864f1128"
        ],
        "child_after": 401,
        "child_after_error": "revoked",
        "simulated_escape_status": 401,
        "simulated_escape_error": "ancestor_revoked"
      },
      "note": null
    },
    {
      "id": "C20",
      "title": "Saved sequences re-run under the caller's own token",
      "requirement": "A saved trail MUST re-check every step against the caller's own token, stop at the first refusal or failure, and link every step it ran back to the original receipt. Holding the run-a-trail permission alone MUST NOT unlock the recorded steps.",
      "pass": true,
      "evidence": {
        "trail": "conformance-c20-wzejhq",
        "originals": [
          "inv_fdgo98prgd",
          "inv_5oznjpt2ao"
        ],
        "narrow_child_denial": "scope_mismatch",
        "steps": [
          {
            "inv": "inv_24cuyrcxn9",
            "replay_of": "inv_fdgo98prgd",
            "ok": true
          },
          {
            "inv": "inv_6wfwen9gmd",
            "replay_of": "inv_5oznjpt2ao",
            "ok": true
          }
        ]
      },
      "note": null
    },
    {
      "id": "C21",
      "title": "Size and spend limits can only shrink",
      "requirement": "A capability MAY set a byte ceiling on each invocation payload. Oversized input MUST fail before the runner fires, and a delegated child MUST inherit or lower that ceiling, never raise it.",
      "pass": true,
      "evidence": {
        "parent": "cap_e37a3e1b7fb5c3ca",
        "allowed_status": 200,
        "oversized_status": 413,
        "widen_status": 403,
        "narrowed_ceiling": 4
      },
      "note": null
    },
    {
      "id": "C22",
      "title": "Receipts fingerprint the exact exchange",
      "requirement": "Every receipt MUST carry SHA-256 fingerprints of the exact invocation input, exact output, and object contract so tampering or contract drift is detectable.",
      "pass": true,
      "evidence": {
        "invocation_id": "inv_xbdwrvboo5",
        "fingerprints": {
          "algorithm": "sha-256",
          "input": "f44a910d8a4aa818e39fe1661613b032bb185faf64b4f570ac471506031dea1d",
          "output": "13694d184c9bb4b8d6318ae5daeddf7948bf1434baf9350792203b20a363977b",
          "contract": "b359611ee57c925ee9e4d93b80f2a4533dd214c61c45b77f694c2650e917c977"
        }
      },
      "note": null
    },
    {
      "id": "C23",
      "title": "A row token is pinned to the contract it was given",
      "requirement": "A row-scoped capability MUST record the object contract fingerprint at mint time and MUST fail closed before execution if that contract changes.",
      "pass": true,
      "evidence": {
        "fingerprint": "cap_fe6bf30216693b14",
        "contract_hash": "b359611ee57c925ee9e4d93b80f2a4533dd214c61c45b77f694c2650e917c977",
        "before": 200,
        "after": 409,
        "error": "contract_changed:0000000000000000000000000000000000000000000000000000000000000000!=b359611ee57c925ee9e4d93b80f2a4533dd214c61c45b77f694c2650e917c977"
      },
      "note": null
    },
    {
      "id": "C24",
      "title": "Only the asker closes the work",
      "requirement": "Work MUST move asked → promised → done → closed. Only the promisor may mark it done, and only the original asker may close it after inspecting the evidence.",
      "pass": true,
      "evidence": {
        "work_id": "work_e9631a3d2c5b4df4",
        "worker_close_error": "only_asker_can_close",
        "final_state": "closed"
      },
      "note": null
    },
    {
      "id": "C25",
      "title": "Receipts point to produced artifacts",
      "requirement": "When an output contains durable URLs, files, article paths, or R2 keys, the invocation receipt MUST expose them as structured artifact references.",
      "pass": true,
      "evidence": {
        "invocation_id": "inv_rrg48o6yik",
        "artifact_count": 50,
        "sample": [
          "https://miscsubjects.com/api/dispatch?orient=1&format=markdown",
          "https://miscsubjects.com/api/dispatch?profile=1&format=markdown",
          "https://miscsubjects.com/api/dispatch?map=1&format=markdown"
        ]
      },
      "note": null
    },
    {
      "id": "C26",
      "title": "Federated identity is discoverable and envelopes are data",
      "requirement": "Every federation node MUST publish /.well-known/oip.json with each agent's ES256 public key and inbox, so a stranger resolves identity with zero prior coordination; and a query envelope MUST be answerable without executing anything.",
      "pass": true,
      "evidence": {
        "home_agent": "pepper@miscsubjects.com",
        "home_inbox": "https://miscsubjects.com/oip/inbox",
        "peer_agent": "buttercup@oip-peer.[custodian].workers.dev"
      },
      "note": null
    },
    {
      "id": "C27",
      "title": "A capability can be bound to one specific remote agent",
      "requirement": "A capability MAY name the exact remote agent it is for. It MUST run only inside a signed invoke from that agent, and MUST fail closed (audience_bound) when presented directly with no verified sender — so a leaked or forwarded token is inert.",
      "pass": true,
      "evidence": {
        "audience": "buttercup@oip-peer.[custodian].workers.dev",
        "direct_status": 403,
        "direct_error": "audience_bound:buttercup@oip-peer.[custodian].workers.dev"
      },
      "note": null
    },
    {
      "id": "C28",
      "title": "A message body can be sealed to one recipient",
      "requirement": "The OIP envelope MUST support encrypting the body to a recipient's published key so the same sealed message can travel over HTTPS, email, or any carrier. Only the holder of that key may open it; anyone else fails.",
      "pass": true,
      "evidence": {
        "alg": "ECDH-P256-A256GCM",
        "opened_ok": true,
        "wrong_key_denied": true
      },
      "note": null
    },
    {
      "id": "C29",
      "title": "Projection integrity: DIV hashes recompute, body equals the DIV list",
      "requirement": "On a divided article, every per-DIV provenance chain MUST recompute from genesis and the stored body MUST equal the ordered active DIVs. Verification is recomputed on every read, never trusted.",
      "pass": true,
      "evidence": {
        "divs": 59,
        "all_chains_valid": true,
        "body_matches_divs": true
      },
      "note": null
    },
    {
      "id": "C30",
      "title": "CAS on content: stale hash writes nothing",
      "requirement": "voxel-edit under valid owner authority with a stale expected_hash MUST return 409 hash_stale and write nothing.",
      "pass": true,
      "evidence": {
        "refusal_status": 409,
        "error": "hash_stale",
        "hash_unchanged": true
      },
      "note": null
    },
    {
      "id": "C31",
      "title": "CAS on discourse: stale thread head educates, writes nothing",
      "requirement": "voxel-challenge with a stale expected_thread_head MUST return 409 thread_moved carrying the current thread_head and a thread summary (id, gist, OPEN/ANSWERED, answer link per entry), and MUST NOT write.",
      "pass": true,
      "evidence": {
        "status": 409,
        "current_thread_head": "repair-58-i94ketzv",
        "summary_entries": 12,
        "total_unchanged": true
      },
      "note": null
    },
    {
      "id": "C32",
      "title": "Duplicate objections gate to the canonical entry",
      "requirement": "Re-filing a standing objection MUST 409 duplicate_match carrying the canonical id, its link, and how to proceed — the repeat becomes measurement (independently_raised), never noise.",
      "pass": true,
      "evidence": {
        "status": 409,
        "canonical": "obj-58",
        "similarity": 1,
        "education": true
      },
      "note": null
    },
    {
      "id": "C33",
      "title": "Consolidation lineage survives",
      "requirement": "After voxel-consolidate the absorbed DIV MUST remain readable with status consolidated, chain intact, and an absorb entry naming the target.",
      "pass": true,
      "evidence": {
        "absorbed": "d5",
        "status": "consolidated",
        "into": "d4",
        "chain_length": 2
      },
      "note": null
    },
    {
      "id": "C34",
      "title": "No credential travels in any response",
      "requirement": "No response field anywhere may contain a full share token. Receipt links stay bare (?receipt=inv_ID); say_to_user hands the keyless ?confirm= link; the caller attaches its own credential.",
      "pass": true,
      "evidence": {
        "token_pattern_found": false
      },
      "note": null
    },
    {
      "id": "C35",
      "title": "Every formal claim is a first-class hashed DIV",
      "requirement": "The claim read MUST expose claim:<id>, a current content hash, a stable public URL, exact contribution shape, and exact scoped edit shape.",
      "pass": true,
      "evidence": {
        "count": 4,
        "id": "claim:c1",
        "hash": "9338b95e3410",
        "stable_url": "https://miscsubjects.com/i/claim/philosophy/c1"
      },
      "note": null
    },
    {
      "id": "C36",
      "title": "A blind model can read and contribute from the article URL",
      "requirement": "Raw article HTML MUST contain server-rendered claim ids/hashes, model argument bodies, stable widget links, and the exact voxel-challenge endpoint; JavaScript execution is not required.",
      "pass": true,
      "evidence": {
        "status": 200,
        "claim_surface": true,
        "server_arguments": true
      },
      "note": null
    },
    {
      "id": "C37",
      "title": "Directory contains articles with links in both directions",
      "requirement": "An article inventory item MUST name its governing tool/code objects, and each governing object MUST return reverse article relationships.",
      "pass": true,
      "evidence": {
        "article_edges": 9,
        "reverse_edges": 2188
      },
      "note": null
    },
    {
      "id": "C38",
      "title": "Every item type has a stable public link",
      "requirement": "Stable item links MUST resolve without credentials to a human or machine representation.",
      "pass": true,
      "evidence": {
        "statuses": [
          {
            "url": "https://miscsubjects.com/i/article/philosophy",
            "status": 302
          },
          {
            "url": "https://miscsubjects.com/i/claim/philosophy/c1",
            "status": 302
          },
          {
            "url": "https://miscsubjects.com/i/div/philosophy/d1",
            "status": 302
          },
          {
            "url": "https://miscsubjects.com/i/tool/VOXEL_EDIT",
            "status": 302
          },
          {
            "url": "https://miscsubjects.com/i/code/functions/_lib/voxel_graph.js",
            "status": 302
          }
        ]
      },
      "note": null
    },
    {
      "id": "C39",
      "title": "L11 computed federation census",
      "requirement": "The public governance registry MUST compute node/owner/facet counts from live records and publish census_law explaining that labels are self-asserted evidence, not identity proof.",
      "pass": true,
      "evidence": {
        "status": 200,
        "total_records": 8,
        "non_owner_node_count": 5,
        "census_law": "non_owner_node_count is the distinct self/model-recommendation actor-label census excluding system and owner-authorized filings; non_owner_anchor_count is the subset of anchor records. Labels are self-asserted unless separate identity evidence is linked, so these are auditable records, not a claim of unique legal persons."
      },
      "note": null
    },
    {
      "id": "C40",
      "title": "L12 production deployment mutex",
      "requirement": "The deployed lease object MUST expose acquire/check/release, bounded expiry, holder identity, nonce ownership, and receipted conflict refusal.",
      "pass": true,
      "evidence": {
        "status": 200,
        "contract_terms_present": [
          "acquire",
          "check",
          "release",
          "nonce",
          "holder",
          "receipt"
        ]
      },
      "note": null
    },
    {
      "id": "C41",
      "title": "L13 relay outcome taxonomy",
      "requirement": "Relay v3 MUST preserve a valid append-only chain and distinguish SUCCESS, PARTIAL, MODEL_FAILED, LANE_TIMEOUT, and DENIED outcomes.",
      "pass": true,
      "evidence": {
        "status": 200,
        "chain_valid": true,
        "head": "de02c652fb6c6fe2873b1cffc7b49b7a65f9df2aa2dc4813ef4ee9880ab3521e"
      },
      "note": null
    },
    {
      "id": "C42",
      "title": "L14 live-match credential auto-revocation",
      "requirement": "A live capability found at a public evidence ingress MUST be rejected generically, revoked before return, and unusable afterward; proof exposes only its fingerprint.",
      "pass": true,
      "evidence": {
        "fingerprint": "cap_7d0b6bce2051d408",
        "guard_entrypoint": "publicSecretFindingAndRevoke",
        "blocked": true,
        "revoked": true,
        "token": "<REDACTED>"
      },
      "note": null
    },
    {
      "id": "C43",
      "title": "L15 canonical objection repair lineage",
      "requirement": "A repair MUST be an appended discourse record naming canonical_of, while the original objection remains publicly readable; repair never erases or overwrites history.",
      "pass": true,
      "evidence": {
        "public_link": "https://miscsubjects.com/a/oip#disc-repair-150-r3qt7j76",
        "repair_id": "repair-150-r3qt7j76",
        "canonical_of": "obj-150",
        "original_preserved": true
      },
      "note": null
    },
    {
      "id": "C44",
      "title": "L16 unknown-key fail-closed education",
      "requirement": "A near-miss object name MUST return a typed refusal plus did-you-mean suggestions and MUST NOT execute the suggested object.",
      "pass": true,
      "evidence": {
        "attempted": "DEPLOY_LEAS",
        "unknown_key": true,
        "did_you_mean": true,
        "invocation_created": false
      },
      "note": null
    },
    {
      "id": "C45",
      "title": "L17 law-to-clause atomic closure",
      "requirement": "Every law marked deployed MUST name one unique conformance clause that exists in the same runtime; the ship command MUST refuse an open law.",
      "pass": true,
      "evidence": {
        "status": 200,
        "deployed_laws": 7,
        "unique_clauses": 7,
        "closed": true
      },
      "note": null
    }
  ],
  "passed": 45,
  "total": 45,
  "conformant": true,
  "verdict": "CONFORMANT — all 45 protocol clauses hold on the live build.",
  "rerun": "https://miscsubjects.com/api/dispatch?conformance=1",
  "note": "The complete scorecard is assembled atomically from independently completed core and law batches, then remains public until replaced by a newer completed pair.",
  "component_runs": {
    "core": [
      "2026-07-26T06:32:42.001Z",
      "2026-07-26T06:33:45.175Z",
      "2026-07-26T06:32:27.531Z"
    ],
    "laws": "2026-07-26T06:34:16.264Z"
  },
  "cached": true
}