The thing a jurist establishes and the engine executes had no name of its own. The repository used at least seven words for it. In Dutch: specificatie, wetsbestand, YAML-bestand and plain wet. In English: “law file”, “law YAML” and “specification”.
Each of them fails somewhere.
Specificatie carries two meanings on the roadmap. One is the specification of
the language, the other is the machine-executable interpretation of one law. The
werkpakket specificaties-i-documentatie-op-orde recorded which word belongs
where as an open point.
Wet and “law” are wrong for part of the corpus. Of the 37 files under
corpus/regulation, five are a ministerial regulation or a municipal ordinance,
and so are six of the 81 in the demo corpus. The schema has thirteen regulatory
layers, and most of them are not a wet.
Bestand, “file” and “document” name how the thing is stored. What a jurist signs off on is its content, and a regulation that changes gets a second file while it stays the same regulation.
| Singular | Plural | |
|---|---|---|
| Dutch | het regelwerk | regelwerken |
| English | rulework | ruleworks |
| Frisian | regelwurk | regelwurken |
A regelwerk is one regulation as it is recorded in the law format: its legal
text, with the machine-executable interpretation beside it. It is identified by
its $id.
A regelwerk has versions. Each version is one YAML file, named after the date its text took effect. A regulation that was amended once has one regelwerk with two versions. Several regelwerken together are a stelsel van regelwerken.
A regelwerk is written in the law format as a whole: its metadata, its division into articles, the legal text and the interpretation. The legal text is in it as a verbatim quotation. The format carries that text and gives it no meaning; only the machine-executable interpretation means something to an engine.
A regelwerk can be incomplete. The harvester writes one that holds only the legal text, and enrichment adds the interpretation.
What a regelwerk is not:
Code identifiers do not change. law_id, ArticleBasedLaw, the API routes, the
law_entries table, the WASM API and the canonical Gherkin steps keep law.
The word is vocabulary for prose and for user interfaces.
This RFC does not name the language.
$id./regelwerken, /en/ruleworks,
/fy/regelwurken). An address is the hardest place to change a word later;
the former paths redirect, and a later rename would add another set.law in an identifier. Renaming the identifiers would touch the
schema, more than 25 API routes, a database table and the WASM API, for no
gain a user would notice.One file is one regelwerk
$id, so the word would have counted the wrong unit on nearly every screen,
and a second word would have been needed for the regulation across its
versions.Compounds on bestand or document
Specificatie
Regelschrift, regeleditie
Regelset
Regelalgoritme, rechtsalgoritme
Regelboekje, regelconfiguratie, regelnode
Lezing
English: the existing term unchanged
English: regelwerk untranslated
English: encoding, executable specification
.claude/skills/law-* still say “law YAML”./reference/schema is headed “The
rulework”. Its anchor did not change, so existing links hold./wetten to /regelwerken, /en/ruleworks and
/fy/regelwurken. The old paths redirect.docs-writing skill rejects the two older
compounds on bestand and “file” in the docs pages, the roadmap and the
landing copy, and rejects a compound of regelwerk with schema, format or
language in everything it scans: the docs content, the RFCs, the roadmap and
the landing copy. Components, the README and UI strings are outside its reach.
It does not check RFCs for the older words, because an RFC is a dated
document, and it cannot tell the two meanings of “specification” apart.An exploration into transparent, executable legislation, and one of the three projects in the starting selection of the Nederlandse Digitale Dienst.
GitHub repository
How it works
Stay informed
Roadmap (Dutch)
Documentation
Research
Nederlandse Digitale Dienst
Ministry of Economic Affairs and Climate Policy