)]}'
{
  "commit": "43e91612875de3cc6e7466eee56023ab55cefd89",
  "tree": "867f602cd8b00a320987cde8947778deaa7efa45",
  "parents": [
    "3f81addcfbeae7aabcdd823340397f66e394f02f"
  ],
  "author": {
    "name": "Matthias Andreas Benkard",
    "email": "code@mail.matthias.benkard.de",
    "time": "Fri Jul 24 22:29:35 2026 +0200"
  },
  "committer": {
    "name": "Matthias Andreas Benkard",
    "email": "code@mail.matthias.benkard.de",
    "time": "Fri Jul 24 22:29:35 2026 +0200"
  },
  "message": "Add Lower Saxony NEFG acceptance case and two parser robustness fixes\n\nSecond §-structured Landesrecht case for wave six: the Lower Saxony ELER Support\nAct (NEFG, unchanged since 2022, derived from the two-column Nds. GVBl 2022 No. 33)\nplus the amending act of 28 Jan 2026 (Nds. GVBl 2026 No. 10). Five of seven\ncommands apply — both \"erhält folgende Fassung\" re-enactments (§ 1(1), § 2), the\ncitation replacement in § 1(5), the words insertion in § 6(1), and the § 13 → § 14\nrenumbering.\n\n- LandesRechtTextParser: a norm head no longer accepts a title ending in a full\n  stop, so a cross-reference sentence at line start (\"§ 7 GAPInVeKoSG findet\n  entsprechend Anwendung.\") is not misread as a norm head \"§ 7\" (which had made the\n  monotonicity check swallow the norms in between).\n- TextBereiniger: strip the Lower Saxony GVBl running footer and publisher line.\n  The footer sat between two enumerated items and otherwise attached to the\n  preceding re-enactment quote, defeating its end-of-sentence anchor.\n- Add sampledata/Niedersachsen/NEFG-alt.txt and EndToEndTest.nefgAcceptance.\n\nTwo insertion forms remain documented residues (manuell prüfen): inserting a\n§-block with a space-separated sub-number (\"§ 2 a\") and a chapter-scoped §-block\ninsertion (\"In Kapitel 4 wird nach § 12 … angefügt\").\n\n221 tests green; federal, Bavarian and Saxon pinned numbers unchanged.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\nChange-Id: Ie23eee1f596ec8eecc6a73f6ce585a22e73ec6c9\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "366a254ab7fdc5a90e06105495dfc17ca92f78d2",
      "old_mode": 33188,
      "old_path": "FASSUNGEN.txt",
      "new_id": "d3605b219877d5156f8ba942f9ff5ab929cb9cc7",
      "new_mode": 33188,
      "new_path": "FASSUNGEN.txt"
    },
    {
      "type": "modify",
      "old_id": "d79df6011cf283db9c4e64548d32030f95ad55d8",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/TextBereiniger.java",
      "new_id": "9c1edaaa9327d34807073ce381f31636ea2ff3ce",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/TextBereiniger.java"
    },
    {
      "type": "modify",
      "old_id": "23260decceda88d22d9862e30bd1a4439ec70fd9",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/gesetz/land/LandesRechtTextParser.java",
      "new_id": "ada273c6df9bef94164ca5c56f6eb54790830b28",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/gesetz/land/LandesRechtTextParser.java"
    },
    {
      "type": "modify",
      "old_id": "095e475db85a91b27689817caf2dab72b7ac1d7c",
      "old_mode": 33188,
      "old_path": "src/main/resources/sampledata/Landesrecht-Beispiele.adoc",
      "new_id": "f358ae4d5cc3fbb9bb4d0122ec18e9bc16f7453e",
      "new_mode": 33188,
      "new_path": "src/main/resources/sampledata/Landesrecht-Beispiele.adoc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bc372c63ad591e86df916ca0c2576ef414495880",
      "new_mode": 33188,
      "new_path": "src/main/resources/sampledata/Niedersachsen/NEFG-alt.txt"
    },
    {
      "type": "modify",
      "old_id": "98a996f9f1a24ca40f4b54c72f633e40827951f2",
      "old_mode": 33188,
      "old_path": "src/test/java/eu/mulk/aendggner/EndToEndTest.java",
      "new_id": "90ad4ede1fb7e2ddabfd6f361d89ed8a1eb4871a",
      "new_mode": 33188,
      "new_path": "src/test/java/eu/mulk/aendggner/EndToEndTest.java"
    }
  ]
}
