Run the NRW mass test: WDR-Gesetz and LMG NRW
The 22nd Rundfunkänderungsgesetz amends five laws in one gazette issue.
Article 3 (TMZ-Gesetz) was already an acceptance case; this adds the two
big ones — Article 1 (WDR-Gesetz, 101 commands across 31 norms) and
Article 2 (LMG NRW, 18 commands). Both stem versions come from
recht.nrw.de, whose URLs address a version by its date of entry into
force, so the results could be checked norm by norm against the official
1 April 2026 consolidations.
Applying them turned up work at every layer:
Order of application. Renumbering always refers to the original count,
not to the state after the preceding items, so a cascade („Absatz 3 wird
Absatz 4“, „Absatz 4 wird Absatz 5“, …) applied in document order leaves
the law carrying two units of the same name. BefehlAnwender now derives,
for each command, which designations it vacates and which it newly
occupies, and pulls a vacating command ahead of the first one it
collides with. That single rule subsumes the previous §-only special
case, orders a cascade descending, and — inside a Sammelbefehl too —
keeps a range renumbering from colliding with itself. Bayern's Art. 29a
sequence now resolves as well (5 manual residues down to 3).
Renumbering an enumeration item. Unlike an Absatz, a Nummer carries its
designation as a marker in the text; the applier silently reported
success without touching it. It now rewrites the marker and lets a
struck placeholder with the target designation give way.
Sentence splitting. Gazette citations („(BGBl. I S. 1982)“) and
line-initial enumeration markers were splitting sentences, so Satz
locators pointed into the wrong place; a sentence may also open with §.
Command language: „wie folgt neu gefasst“ and the missing „wird“, a
split location („In Absatz 2 wird Satz 1 wie folgt gefasst“), an
insertion behind a location prefix, the standalone „Der Punkt am Ende
wird durch … ersetzt“, „Dem Wortlaut des Absatzes 3 …“, the verb frame
„Es werden ersetzt:“ whose items carry only the location, coordination
at „sowie“ and before a punctuation clause, and a stray closing quote at
the end of a sentence.
Stem format: LandesRechtTextParser reads an „Inhaltsübersicht“ line as
the norm of that name (which is what the Angabe commands address) and
recognises keyword-less Roman section headings.
Everything the two acceptance tests do not apply is named: one command
in the WDR-Gesetz whose „Punkt am Ende des Satzes“ is not unambiguous in
a two-sentence Nummer. The remaining differences from the official
consolidations are places where the official text itself departs from
the command wording; SOURCES lists them.
Change-Id: I261cf89cd5820f7597bc5db734f322d94b84828e
16 files changed