Info · the rules, as written

The Comprehensive Rules, and the rulings that override them

Look up one rule, or search all of them at once. clauses, official rulings, all cross-linked.

Comprehensive Rules v1.2.0 16 Jan 2026 PDF Official Q&A 28 Feb 2025 PDF Where the two disagree, the Q&A wins.

Where this comes from, and which document wins sources

Comprehensive Rules v1.2.0, last updated 16 January 2026 — the authority for how the game behaves. Official PDF.

Official Q&A, dated 28 February 2025 — official PDF. Both are linked from the publisher's rules index.

Precedence. The Comprehensive Rules govern engine behavior, but errata and the official Q&A override them — and override printed card text — where the two disagree; the errata page says so directly. Below that sit the Tournament Rules Manual (deck legality and event procedure only) and the 2023 Rule Manual and Play Guide, which are primers, not specifications.

The full register, with document dates, hashes and every reconciled disagreement: docs/rules-sources.md.

The rules data could not be read

Nothing below is typed into this page, so with the data missing there is nothing to show. That is deliberate: a hard-coded copy of the rules would be right on the day it was pasted and quietly wrong after the next revision.

Comprehensive Rules v1.2.0

How to read this — and why §9's title has a space in it legend

Clause text is reproduced exactly as extracted from the published PDF. Nothing is re-flowed, re-punctuated or spell-corrected, which is why §9 reads "Rule Process ing" and why a few clause ids are broken across a space in the prose. Those are the source's, not this page's.

  • A dotted-underlined number in the prose is a link to that clause. They are found by pattern, so the link set cannot drift from the text.
  • A number in this color points at a heading that is missing from the extraction; one in this dashed style resolves to no clause at all and is deliberately left unlinked rather than guessed at.
  • A badge under a clause is one of this repository's own notes, not part of the official rules — see Notes from this repository.
  • Each clause lists the rulings that cite it and the clauses that reference it. Neither index exists in either published PDF; both are built when the page loads.

Every count on this page is measured from the data at load. Nothing here is typed in. Data integrity shows the measurements.

Reading the rules… Every clause is read from docs/data/rules.json when the page loads.

Official Q&A

Where a ruling and the Comprehensive Rules read differently, the ruling wins. Each ruling lists the clauses it clarifies, and each of those clauses lists the rulings that cite it.

How the ruling → clause mapping is made method

Data integrity

measured at load, not asserted

Waiting for the rules data…

Notes from this repository

Some clauses above carry a boxed note. Those are not part of the official rules — they are this repository's own findings. Four kinds:

  • source defect  the Comprehensive Rules contradict themselves — a clause number printed twice, or a rule placed in two incompatible steps.
  • simplified docs disagree  the Play Guide or the 2023 Rule Manual says something different, or omits it. The CR governs.
  • engine — outstanding  this engine does not conform to the clause, and the fix has not landed.
  • engine — fixed  it did not conform, and the fix landed with a test that fails when it is reverted.

This table is hand-maintained and can lag. Outstanding means outstanding when the audit ran (2026-08-10), not necessarily right now. The clause ids are re-checked against the loaded rules on every page load — see Data integrity.

Where these notes come from provenance

They are transcribed by hand from two documents: docs/rules-sources.md, which reconciled the Comprehensive Rules against the 2023 Rule Manual, the Play Guide and the Q&A; and docs/rules-audit.md, which audited this engine against every clause and every ruling. Each note carries the reference used in that document, so the full entry can be found there.

A source defect is recorded because "cite a clause id that resolves" is a hard rule for this engine, and these are the places where the obvious id does not exist. A divergence is recorded because an implementation built from the simpler official document gets that rule wrong.

The engine moves and this page does not follow it automatically, which is why the badge dates matter. What the page does check on every load is that every clause id in the table still resolves; one that stops resolving is named in Data integrity rather than silently dropped.