)]}'
{
  "log": [
    {
      "commit": "a201e83e59562e0e662196a616ff746cdaddd74e",
      "tree": "bebd570c3098f8793d9d6f3442bbb50433374917",
      "parents": [
        "bac648b8fc06dfffaf67cf283f73fa2572e67575"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 02 19:45:34 2026 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Aug 02 19:45:34 2026 +0200"
      },
      "message": "Close the NRW issue: 17. RÄStV-AusfG as a fourth acceptance case\n\nArticle 4 of the 22nd Broadcasting Amendment Act recasts § 1 of the act\nimplementing the 17th Broadcasting Amendment Treaty. Both the pre- and\nthe post-amendment consolidated version are served by recht.nrw.de, so\nthis closes the last open article of GV. NRW. 7/2026.\n\nNo production code needed changing: the article carries its single\ncommand without an enumeration item, and the recast quote contains\nnested quotation marks — both are already handled. The result matches\nthe official version of 1 April 2026 character for character, including\nits editorial placeholders.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: If63606d113f2801f0c9e82350215443da8e8be8b\n"
    },
    {
      "commit": "bac648b8fc06dfffaf67cf283f73fa2572e67575",
      "tree": "e2e4387451deabb37b5f80ed42e06bd17b3127d9",
      "parents": [
        "5f30f566873c313b554f087c0f7e132efa54d64a"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Jul 28 07:51:09 2026 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Jul 28 07:51:09 2026 +0200"
      },
      "message": "Run the NRW mass test: WDR-Gesetz and LMG NRW\n\nThe 22nd Rundfunkänderungsgesetz amends five laws in one gazette issue.\nArticle 3 (TMZ-Gesetz) was already an acceptance case; this adds the two\nbig ones — Article 1 (WDR-Gesetz, 101 commands across 31 norms) and\nArticle 2 (LMG NRW, 18 commands). Both stem versions come from\nrecht.nrw.de, whose URLs address a version by its date of entry into\nforce, so the results could be checked norm by norm against the official\n1 April 2026 consolidations.\n\nApplying them turned up work at every layer:\n\nOrder of application. Renumbering always refers to the original count,\nnot to the state after the preceding items, so a cascade („Absatz 3 wird\nAbsatz 4“, „Absatz 4 wird Absatz 5“, …) applied in document order leaves\nthe law carrying two units of the same name. BefehlAnwender now derives,\nfor each command, which designations it vacates and which it newly\noccupies, and pulls a vacating command ahead of the first one it\ncollides with. That single rule subsumes the previous §-only special\ncase, orders a cascade descending, and — inside a Sammelbefehl too —\nkeeps a range renumbering from colliding with itself. Bayern\u0027s Art. 29a\nsequence now resolves as well (5 manual residues down to 3).\n\nRenumbering an enumeration item. Unlike an Absatz, a Nummer carries its\ndesignation as a marker in the text; the applier silently reported\nsuccess without touching it. It now rewrites the marker and lets a\nstruck placeholder with the target designation give way.\n\nSentence splitting. Gazette citations („(BGBl. I S. 1982)“) and\nline-initial enumeration markers were splitting sentences, so Satz\nlocators pointed into the wrong place; a sentence may also open with §.\n\nCommand language: „wie folgt neu gefasst“ and the missing „wird“, a\nsplit location („In Absatz 2 wird Satz 1 wie folgt gefasst“), an\ninsertion behind a location prefix, the standalone „Der Punkt am Ende\nwird durch … ersetzt“, „Dem Wortlaut des Absatzes 3 …“, the verb frame\n„Es werden ersetzt:“ whose items carry only the location, coordination\nat „sowie“ and before a punctuation clause, and a stray closing quote at\nthe end of a sentence.\n\nStem format: LandesRechtTextParser reads an „Inhaltsübersicht“ line as\nthe norm of that name (which is what the Angabe commands address) and\nrecognises keyword-less Roman section headings.\n\nEverything the two acceptance tests do not apply is named: one command\nin the WDR-Gesetz whose „Punkt am Ende des Satzes“ is not unambiguous in\na two-sentence Nummer. The remaining differences from the official\nconsolidations are places where the official text itself departs from\nthe command wording; SOURCES lists them.\n\nChange-Id: I261cf89cd5820f7597bc5db734f322d94b84828e\n"
    },
    {
      "commit": "35e90f4ab0f9b40d4752c9b8cba57c9452a8189f",
      "tree": "271b8ce1f0537bc8546e3939d99df6e47d79369b",
      "parents": [
        "519c1e7b769c37769d1b5d1ffd6e13566b26c86d"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jul 25 10:00:36 2026 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sat Jul 25 10:00:36 2026 +0200"
      },
      "message": "Add North Rhine-Westphalia TMZ-Gesetz acceptance case\n\nArticle 3 of the 22. Rundfunkänderungsgesetz (GV. NRW. 2026 S. 202) amends\nthe Telemedienzuständigkeitsgesetz. All four commands apply cleanly, and\nthe result matches the official consolidated version of 1 April 2026.\n\nrecht.nrw.de turned out to be the one remaining state portal that serves\nconsolidated laws as server-rendered HTML, with the version history\nencoded in the URL date prefix — so the pre-amendment stem (27 Apr 2022)\nwas directly obtainable.\n\nTwo fixes were needed:\n\n  * LandesRechtTextParser read the parenthesised title suffix wholly as\n    the abbreviation. State laws routinely carry both short title and\n    abbreviation there (\"(Telemedienzuständigkeitsgesetz – TMZ-Gesetz)\"),\n    and the amendment act cites the short title, so article selection\n    never matched. The parser now splits at the dash.\n\n  * ZitatExtraktor swallowed the rest of the document when a closing\n    quotation mark is missing in the official text (Article 2 no. 11\n    here), which hid Articles 3 to 5 entirely. An amendment act never\n    quotes across an article heading, so an open quotation is now closed\n    before a bare \"Artikel N\" line, with a warning. Quoted paragraphs are\n    unaffected: Bavarian norm heads read \"Art. N\".\n\n223 tests green; all previously pinned figures unchanged.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I78470075d9be2433966b821b6fe1e21808996c46\n"
    },
    {
      "commit": "ab7ac577eedaffabf087a84786bebe9a8904c365",
      "tree": "0efb32b59b2cf6470e1d09c748ce32ff1698c79a",
      "parents": [
        "65eff08b32a0f00ff0f5e4bda3fe5793f631ed64"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jul 19 09:25:55 2026 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Jul 19 09:25:55 2026 +0200"
      },
      "message": "Add Landesrecht amendment samples from eight further Länder\n\nCollect real amendment gazettes/ordinances from Berlin, Schleswig-Holstein,\nHessen, Niedersachsen (two hefts), Baden-Württemberg, Nordrhein-Westfalen,\nSachsen and Thüringen as candidates for a further enhancement wave, plus an\n.adoc overview. Unlike Bavaria (Art./§ inversion) these Länder use § in their\nstem laws; the new test dimensions are PDF layout (Berlin two-column, Hessen\nletter-spacing) and command idioms (\"erhält folgende Fassung\", superscript\nArtikel footnote markers, amtliche Satznummern in a § context). Only the\namendment documents are included so far; the consolidated stem versions and\nRheinland-Pfalz remain open.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\nChange-Id: I0e3e761763038abda144266381cf59f8d8f3bf78\n"
    }
  ]
}
