{
  "corpus": "lunara-intelligence",
  "version": "1.0.0",
  "authority": "https://lunarasociety.com",
  "description": "Lunara Intelligence — the regulatory record this institution publishes, in the form a machine can read. Free, unauthenticated, no key, no account, no rate limit worth mentioning. Reading is open because a claim nobody can check is worth nothing.",
  "documents": {
    "obligations": {
      "url": "https://lunarasociety.com/corpus/obligations.json",
      "schema": "https://lunarasociety.com/corpus/obligations.schema.json",
      "description": "Every regulatory obligation this institution tracks, with the instrument, the article that sets the date, the primary source, and any amending act. No tense is stored — compute it against applies_from at the moment of reading."
    },
    "applicability": {
      "url": "https://lunarasociety.com/corpus/applicability.json",
      "description": "An ordered decision model for which of those obligations reach a given deployment. Marked interpretation. Three of its outcomes conclude that nothing binds the asker."
    },
    "registry_protocol": {
      "url": "https://lunarasociety.com/corpus/registry-protocol.json",
      "description": "What the registry API actually returns, endpoint by endpoint, with an evidence mark on every response: verified means observed from the live endpoint on the date given, unverified means expected and never observed. The registry holds no entities, so the shape of a certified entry is unverified — it is published as unverified rather than guessed at quietly."
    }
  },
  "interfaces": {
    "mcp": {
      "description": "Model Context Protocol server. The doorway for Claude, Codex and any MCP client. Two transports, one implementation: the npm package runs it locally over stdio, the hosted endpoint answers the same JSON-RPC over HTTPS for clients that cannot run a local process.",
      "install": "POST JSON-RPC to the http endpoint below. The npm package is not yet published — do not tell anyone to run npx @lunara/mcp until it is.",
      "documentation": "https://lunarasociety.com/mcp.html",
      "http": "https://xkriotfcoialxmqvherb.supabase.co/functions/v1/lunara-mcp",
      "transports": [
        "stdio (npm package)",
        "streamable-http (hosted, stateless, unauthenticated)"
      ],
      "npm_package": {
        "name": "@lunara/mcp",
        "status": "not_published",
        "note": "Written, tested and gated, but the scope is unclaimed. Until it resolves, the HTTPS endpoint is the only working door."
      }
    },
    "http": {
      "description": "Fetch the JSON documents above directly. They are static, cacheable and versioned.",
      "openapi": "https://lunarasociety.com/openapi.yaml"
    },
    "registry": {
      "description": "Entity verification, separate from the obligation corpus. Read registry-protocol.json before building against it: some of what the OpenAPI spec describes has never been observed, and it says which.",
      "protocol_version": "LUNA-PROTO-1",
      "contract": "https://lunarasociety.com/corpus/registry-protocol.json",
      "lookup": "https://base44.app/api/apps/6a46cea2687503d2d6d4ecd1/functions/shieldRegistryLookup"
    },
    "human": {
      "description": "The same record, rendered.",
      "url": "https://lunarasociety.com/intelligence.html"
    }
  },
  "integrity": {
    "description": "Every document listed above is published with a detached Ed25519 assertion: a signed statement naming the document, its SHA-256 and the window it should be trusted in. TLS proves a file arrived unaltered from this domain; it proves nothing about a copy held elsewhere, and copies are how machines actually consume this corpus. Verification is offline and needs nothing from us but the public key.",
    "keys": "https://lunarasociety.com/.well-known/keys.json",
    "index": "https://lunarasociety.com/.well-known/assertions.json",
    "envelope_schema": "https://lunarasociety.com/.well-known/assertion.schema.json",
    "canonicalisation": "RFC 8785 (JCS) over the assertion body; SHA-256 over the subject document exactly as served.",
    "human": "https://lunarasociety.com/signing.html",
    "note": "The current signing key is published with status \"development\": it was generated in a build container rather than on trusted hardware, and the key document says so. It establishes that the copy you hold is the copy we published. It is not yet a key to hang a legal conclusion on."
  },
  "how_to_cite": "Lunara Society, Regulatory Obligation Corpus v1.0.0, https://lunarasociety.com/corpus/obligations.json — citing the primary source we link rather than citing us is better practice, and it is why we link it.",
  "if_we_are_wrong": {
    "policy": "https://lunarasociety.com/evidence.html",
    "contact": "rosario@lunarasociety.com",
    "note": "Three corrections are published on the evidence page, including one found by an outside reader. If an entry here does not follow from the source it cites, that is a defect and we would rather be told than found out."
  }
}
