EU AI Act and SB 942 obligations for AI systems: each date, the article setting it, signed sources
One address for any MCP client. No sign-in needed on this server.
1 read4 other
Grouped by tool name. At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Constitutional governance authority for the autonomous economy.
Lunara Society is the trust infrastructure layer between AI systems and the business world — the same way HTTPS became mandatory for web security, Lunara is becoming mandatory for AI-to-business trust.
Not restated here. No page on this site states a date; they live in one table
that computes tense at the moment of reading, and are published at
corpus/obligations.json.
The nearest one is worth naming anyway because most published summaries get it wrong: machine-readable marking under Article 50(2) falls due for generative systems already on the market on 2 December 2026 — the Omnibus grants four months, not six. See /marking.html, and the correction we published for having carried February ourselves.
Every obligation this institution tracks, machine-readable, each carrying the instrument, the article that sets the date, and a link to primary law.
curl https://lunarasociety.com/corpus/obligations.json
No tense is stored. A static document does not know when it is being read, so it
states application dates and callers compute "in force" against the moment of the
call. The corpus is generated from a single obligation table in lunara-clock.js
and the deploy fails while the two disagree — two hand-maintained tables mean two
answers, which is the failure that produced our first published correction.
POST JSON-RPC to https://luiqtimzcsoqnizybifs.supabase.co/functions/v1/lunara-mcp
(the npm package @lunara/mcp is written and tested but not published yet)
Four tools: lunara_obligations, lunara_applicability, lunara_cite,
lunara_verify. Node 18+, zero dependencies, no key, no account.
It ships no bundled copy of the corpus and does not answer when the authority is
unreachable. A cached table is how a server keeps confidently serving a date that
was amended months ago. Source: mcp/server.mjs — one file,
readable in full by whoever is deciding whether to trust it.
curl -X POST https://luiqtimzcsoqnizybifs.supabase.co/functions/v1/lunara-registry/shieldRegistryLookup \
-H "Content-Type: application/json" \
-d '{"domain": "example.com"}'
No authentication required. Full spec: openapi.yaml
| File | URL | Purpose |
|---|---|---|
| llms.txt | https://lunarasociety.com/llms.txt | Primary AI context file |
| ai.json | https://lunarasociety.com/ai.json | Institutional identity graph |
| agent-manifest.json | https://lunarasociety.com/agent-manifest.json | AI agent operational manifest |
| identity.json | https://lunarasociety.com/identity.json | Canonical organization identity |
| openapi.yaml | https://lunarasociety.com/openapi.yaml | Full API specification |
| sitemap.xml | https://lunarasociety.com/sitemap.xml | Site map with priorities |
| ai.txt | https://lunarasociety.com/ai.txt | Plain text summary |
| faq-ai.txt | https://lunarasociety.com/faq-ai.txt | FAQ for AI systems |
| corpus/index.json | https://lunarasociety.com/corpus/index.json | The regulatory corpus, and how to read it |
| mcp.html | https://lunarasociety.com/mcp.html | MCP server for AI systems |
| developer-ai.txt | https://lunarasociety.com/developer-ai.txt | Developer reference |
Live at https://lunarasociety.com
Every claim carries one of four marks — verified, reported, interpretation, hypothesis — and where a mark is ambiguous we take the lower one. Four corrections are published against ourselves at evidence.html, three of them found by something other than our own review.
If an entry does not follow from the source it cites, that is a defect. rosario@lunarasociety.com — we would rather be told than found out.
node tools/build-corpus.mjs # emit corpus/obligations.json from the table
node tools/verify-corpus.mjs # fail if they have drifted, or a citation is missing
node mcp/test/smoke.mjs # exercise the MCP server over real stdio
Both gates run in CI before the site deploys.
The Lunara Constitution is published under CC BY 4.0. All other content is copyright Lunara Society.