The citation resolver T4 · shipped
Paste a citation and it resolves to the provision. Entirely client-side against the instrument's own JSON endpoint — no backend, no lookup service, nothing to go down. The source is on this page, because a tool this site asks you to trust has to be readable.
Accepted: Article 26(5) · art. 26(5) · 26(5) · art-026-para-05 · d8fc6df65f292bf3 · Annex III 5(b) · Article 99. Instrument defaults to the EU AI Act, the only one modelled.
How it resolves
- Normalise the input to a canonical alias —
art-026-para-05, zero-padded. Six input forms, one output form. - Look it up in the instrument's JSON by alias, by positional hash, or by citation string.
- Return the provision with its address, both hashes, its reading, its provenance and its crosswalk edges — including when there is no page for it yet, because the positional hash is stable before the page exists.
What it does not do: it does not guess. An input that does not normalise to a known alias returns not found with the canonical form it tried, rather than the nearest match. A resolver that silently resolves to the wrong provision is worse than one that fails.
The positional hash
positional_hash = sha256("<instrument-slug>/<alias>")[:16]
Recomputable by anybody, dependent on nothing but the address. Verify one yourself:
$ printf 'eu-ai-act/art-026-para-05' | shasum -a 256 | cut -c1-16
d8fc6df65f292bf3
The source
Roughly sixty lines, no dependencies, no build step: tools/resolver.js. It reads /eu-ai-act/eu-ai-act.json and nothing else, which is rule 1 of the tool contract — read the contract, not the internals.
Accept header). Resolve across instruments — there is only one. Return crosswalk edges — there are none. And return operative text, which is withheld pending re-derivation. It resolves an address to a record, which is the smallest useful version of T4, and the rest arrives with instrument two.