A living, LLM-maintained knowledge base for iGaming (online gambling) regulatory compliance. Primary coverage spans UKGC (United Kingdom), MGA (Malta), and AGCO (Ontario, Canada), and the schema is designed to extend to additional jurisdictions on demand.
The wiki is written and kept current by Claude Code. A human drops primary sources into raw/, asks questions, and reviews changes. Claude reads sources, synthesises them into the wiki under wiki/, maintains cross-references, tracks contradictions between jurisdictions, and flags ambiguities.
- Inspiration
- What This Wiki Does
- Adaptations from Karpathy's Original Pattern
- Repository Structure
- Jurisdictions Covered
- iGaming Verticals Covered
- How to Use
- Status
- Credits
This project is a domain-specific adaptation of Andrej Karpathy's "LLM Wiki: Personal Knowledge Base Pattern", published as a GitHub Gist on 2026-04-04:
https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
Karpathy's core argument: instead of treating an LLM as a retrieval tool over raw documents (traditional RAG), let the LLM incrementally build and maintain a persistent, structured wiki that compounds knowledge over time. Humans curate sources and ask strategic questions. The LLM handles the tedious work of cross-referencing, summarisation, and keeping claims current. The wiki becomes a compounding artifact: knowledge is compiled once and kept up to date, not rediscovered on every question.
The three-layer architecture from Karpathy's pattern is preserved here:
- Raw sources (
raw/): immutable, read-only primary documents. - Wiki (
wiki/): LLM-written synthesis, cross-referenced, always current. - Schema (
CLAUDE.md): the operating instructions that tell the LLM how to behave as a wiki maintainer.
Credit to Andrej for the pattern. Verification remains the human's responsibility. The LLM is the writer; the human is the editor-in-chief.
This is the plan embedded in CLAUDE.md:
- Ingest primary regulatory sources (LCCP, RTS, MGA directives, AGCO Registrar's Standards, enforcement actions, consultations, and similar) from either
raw/or directly from official regulator URLs via web research. - Synthesise each source into the wiki by creating or updating jurisdiction pages, topic pages, technical-standards pages, game-category pages, source summaries, and comparison pages.
- Cross-reference everything with
[[wikilinks]]so related rules are always one hop away. - Compare jurisdictions side-by-side on every topic (RTP limits, AML thresholds, self-exclusion mechanics, and similar).
- Track contradictions between jurisdictions in
wiki/contradictions/contradictions-tracker.md. Flag them and recommend the stricter requirement for engineers. - Track open questions in
wiki/open-questions/open-questions-tracker.mdfor ambiguities awaiting regulator clarification. - Monitor official regulator news and update pages on request, compare against the wiki's
last_revieweddates, and ingest what is new. - Answer compliance questions by reading the wiki first, citing sources, flagging uncertainty, and offering to file the answer back into the wiki.
- Health-check the wiki across structure, freshness, coverage gaps, stale pages, and untracked contradictions.
Every claim is backed by a cited source page, tagged with its effective date, and flagged with a verification status.
Karpathy's pattern is deliberately generic. This repository specialises it for iGaming regulatory compliance, a domain with:
- Multiple overlapping jurisdictions that contradict each other.
- Numeric thresholds that matter (stake limits, AML triggers, RTP percentages).
- Technical standards that engineers must implement precisely.
- Fast-moving regulatory change that must be tracked.
Changes made on top of Karpathy's base pattern:
| Aspect | Karpathy (generic) | This Repo (iGaming compliance) |
|---|---|---|
| Domain | Any knowledge area | Fixed to iGaming regulation across UKGC, MGA, AGCO, with extensibility for more |
| Page ontology | Free-form notes | Typed pages: jurisdiction, topic, technical-standard, game-category, comparison, source, plus two trackers |
| Frontmatter | Optional, free-form | Mandatory YAML frontmatter with per-type required fields (jurisdiction, last_reviewed, tags, engineer_impact, and others) |
| Page structure | Free-form | Required sections per page type. Technical-standards pages must include a "What Engineers Must Implement" section that is never empty |
| Source tracking | Optional | Mandatory source summary pages with citation discipline. Every factual claim cites (Source: [[slug]]) |
| Cross-jurisdictional comparison | Not a concept | First-class page type. Every topic has a comparison table by jurisdiction |
| Contradictions tracker | Not present | Dedicated tracker for rules that conflict between jurisdictions, which is common in gambling regulation |
| Open questions tracker | Not present | Dedicated tracker for ambiguous regulatory text, with conservative interpretations held pending clarification |
| Verification flags | None specified | Standardised flags: UNVERIFIED, STALE, CONTRADICTION, REVIEW, JURISDICTION-SPECIFIC, CONFIRMED, NOTE |
| Engineer impact labels | Not applicable | Four levels (CRITICAL, HIGH, MEDIUM, LOW) applied to every engineering requirement |
| Web research workflow | Manual | Built-in official source URL list in CLAUDE.md for each regulator. The LLM checks news and update pages, compares against last_reviewed, and ingests changes |
| Regulatory topic checklist | Not applicable | Master checklist of roughly 100 regulatory topics (sections A to P) used as a coverage tracker during every ingest |
| Separation rules | Not specified | Strict: never mix game categories (slots rules do not apply to live casino), never merge B2B and B2C obligations, never assume an EU rule applies across all member states |
| Non-speculation clause | Implicit | Explicit: never silently interpret an ambiguous regulation; always flag it |
| Date discipline | Loose | Always YYYY-MM-DD, always distinguishing effective date, published date, ingested date, and last-reviewed date |
| Health check | Optional | Scored lint report across structure, freshness, coverage, and quality |
In short, Karpathy's pattern is the chassis. The iGaming-specific page types, mandatory structure, jurisdictional comparisons, contradiction tracking, verification flags, and engineer-impact labels are the bodywork.
compliance-wiki/
├── CLAUDE.md # Schema: tells Claude how to maintain the wiki
├── README.md # This file
│
├── raw/ # Immutable primary sources (read-only)
│ ├── ukgc/
│ ├── mga/
│ ├── agco/
│ └── shared/
│
└── wiki/ # Everything Claude writes and maintains
├── index.md # Master catalog
├── log.md # Append-only activity log
├── overview.md # Cross-jurisdictional synthesis
│
├── jurisdictions/ # One page per jurisdiction (UKGC, MGA, AGCO, ...)
├── topics/ # AML/KYC, RG, advertising, data protection, ...
├── technical-standards/ # RNG, RTP, audit trail, security, ...
├── game-categories/ # Slots, live casino, sports betting, poker, ...
├── comparisons/ # Cross-jurisdictional comparison tables
├── contradictions/ # Contradictions tracker
├── open-questions/ # Open questions tracker
└── sources/ # Source summary pages (one per ingested document)
Tier 1 (primary): UKGC (UK), MGA (Malta), AGCO (Ontario).
Tier 2 (add on demand): NJDGE, PGCB, DGOJ (Spain), GGL (Germany), KSA (Netherlands), ANJ (France), ADM (Italy), SGA (Sweden), SKK (Denmark), Gibraltar GRA, Isle of Man GSC, Alderney GCC, Curaçao, BCLC, AGLC.
The schema is expandable. Dropping a source from any new jurisdiction triggers creation of its jurisdiction page and an update to the source URL list in CLAUDE.md.
Online Slots, Live Casino, RNG Table Games, Sports Betting, Horse Racing, Poker, Bingo, Lottery and Scratch Cards, Virtual Sports, Skill Games, Fantasy Sports (DFS), Crypto Gambling, Social Casino, Arcade and Casual games.
Open the repository in Claude Code from the compliance-wiki/ directory. Claude reads CLAUDE.md automatically at the start of every session.
Talk to Claude in natural language. Example prompts:
- "I just dropped the UKGC LCCP into raw/ukgc/. Process it and update the wiki."
- "Search the web for the latest UKGC changes and update the wiki."
- "What are the slot stake limits in the UK right now?"
- "Compare self-exclusion rules between UKGC and MGA."
- "Do a health check on the wiki."
- "Check all three jurisdictions for anything new this month."
Claude reads wiki/index.md and the last entries of wiki/log.md at the start of every session to establish current state.
Current state: initialised scaffold. 39 wiki pages created, all content marked UNVERIFIED pending primary-source ingestion. No sources ingested into raw/ yet.
Next steps:
- Ingest UKGC LCCP, RTS, and AML guidance.
- Ingest MGA Gaming Act and directives.
- Ingest AGCO Registrar's Standards for Internet Gaming.
- Remove
UNVERIFIEDflags as each claim is verified against primary sources. - Generate comparison pages for high-priority topics (RTP, AML thresholds, self-exclusion).
See wiki/log.md for full ingestion history.
- Pattern: Andrej Karpathy, LLM Wiki: Personal Knowledge Base Pattern, 2026-04-04.
- Domain adaptation and schema: this repository.
- Wiki maintainer: Claude Code.
The wiki is a compounding artifact. Every source ingested makes it smarter. Knowledge is compiled once and kept current.