)]}'
{
  "commit": "c2b57decf3d57d4808dd37723c562b8e001cc342",
  "tree": "0473edd67bcf8924d9d8fd3baa13dbd0e5086a00",
  "parents": [
    "ab7ac577eedaffabf087a84786bebe9a8904c365"
  ],
  "author": {
    "name": "Matthias Andreas Benkard",
    "email": "code@mail.matthias.benkard.de",
    "time": "Sun Jul 19 10:15:00 2026 +0200"
  },
  "committer": {
    "name": "Matthias Andreas Benkard",
    "email": "code@mail.matthias.benkard.de",
    "time": "Sun Jul 19 10:15:00 2026 +0200"
  },
  "message": "Generalize Bavarian loader to a shared Landesrecht loader\n\nPrepare wave six (Landesrecht of the remaining Länder) by lifting the\nBavaria-specific stem-law loader to a shared one. Unlike Bavaria (Art./§\ninversion), the other Länder structure their stem laws in §, so the loader must\nhandle both sigils.\n\n- Move gesetz/bayern/{BayRechtLoader,BayRechtTextParser} to\n  gesetz/land/{LandesRechtLoader,LandesRechtTextParser}; the norm head now\n  matches \"§ N\" as well as \"Art. N\" and derives the sigil per norm from the\n  match. Cross-reference keywords in the norm head are excluded only as whole\n  words (so a title \"Satzungen\" no longer trips on \"Satz\"), and the juris\n  abbreviation may be multi-token (\"(GO NRW)\").\n- Derive the superscript mode data-drivenly from the loaded stem law\n  (Superskript.traegtSatznummern) instead of from \"is it gii-XML\": Bavaria and\n  Lower Saxony keep their amtliche Satznummern, the Bund and Länder without\n  official sentence numbering drop them.\n- Recognize the neufassung idiom \"erhält/erhalten folgende Fassung\" (Schleswig-\n  Holstein, Niedersachsen) via a NEUFASSUNG_VERB building block, additive to\n  \"wird/werden wie folgt gefasst\".\n\nFederal and Bavarian behaviour is unchanged (219 tests green, pinned acceptance\nnumbers UWG 19/0, GEG 66/53, GEG-GModG 90/9, IfSG 42/24, BayJG 149/154 hold).\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\nChange-Id: I55a70a7932bf657a2346ca70f3fa05e173bf80ad\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a1361f45dcfc9fc9fedc49887b30d9268a1dc633",
      "old_mode": 33188,
      "old_path": "FASSUNGEN.txt",
      "new_id": "52a42159ba360c732c864f0c790d507adad7ad7b",
      "new_mode": 33188,
      "new_path": "FASSUNGEN.txt"
    },
    {
      "type": "modify",
      "old_id": "e647b75f6b63a8f3cbde75b2f19af349f6afb9ac",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/AendGgner.java",
      "new_id": "efa95a96498f99052a0987d5352165d3e272b6f1",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/AendGgner.java"
    },
    {
      "type": "modify",
      "old_id": "edbe742d79bfbf6fdd3b7afbe43324b2cf25dae6",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/BefehlErkenner.java",
      "new_id": "fb578ccc952ac719754f40a9630ff1b1eb68e15e",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/BefehlErkenner.java"
    },
    {
      "type": "modify",
      "old_id": "777fe35d5653e2887b872ace088ffb7e8af418c3",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/gesetz/Superskript.java",
      "new_id": "733c1f7d69bc089d1d27b9f7722ff68ddc66a267",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/gesetz/Superskript.java"
    },
    {
      "type": "rename",
      "old_id": "4150af4a54064a292a589b521bca9a9fd9e22dd0",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/gesetz/bayern/BayRechtLoader.java",
      "new_id": "6bd72ce8f5a9e7a1937b273032c4f766c6e9e7f1",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/gesetz/land/LandesRechtLoader.java",
      "score": 60
    },
    {
      "type": "rename",
      "old_id": "0744086bfa736fe5c0fc59df0c86e0ab6b376d98",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/gesetz/bayern/BayRechtTextParser.java",
      "new_id": "b1da42d15eab0660904edabfa353752cf447c99b",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/gesetz/land/LandesRechtTextParser.java",
      "score": 75
    },
    {
      "type": "modify",
      "old_id": "2e190903b6a8b4032b2d6accbc2bbd65d08922c9",
      "old_mode": 33188,
      "old_path": "src/test/java/eu/mulk/aendggner/EndToEndTest.java",
      "new_id": "0e90584c47df54b65abbae67c19af49bf74cc6e0",
      "new_mode": 33188,
      "new_path": "src/test/java/eu/mulk/aendggner/EndToEndTest.java"
    },
    {
      "type": "modify",
      "old_id": "8cf9eeadebd3028d1a1a735354d7d65c2658ca5e",
      "old_mode": 33188,
      "old_path": "src/test/java/eu/mulk/aendggner/aenderung/parse/BefehlErkennerTest.java",
      "new_id": "d89c8984611ce8e65bf5c71c12014ca7a5df1b2f",
      "new_mode": 33188,
      "new_path": "src/test/java/eu/mulk/aendggner/aenderung/parse/BefehlErkennerTest.java"
    },
    {
      "type": "rename",
      "old_id": "a5fc67a210050e599366249b3a480c1435185294",
      "old_mode": 33188,
      "old_path": "src/test/java/eu/mulk/aendggner/gesetz/bayern/BayRechtTextParserTest.java",
      "new_id": "33542552220412171f79ef88b5119f150ea0b850",
      "new_mode": 33188,
      "new_path": "src/test/java/eu/mulk/aendggner/gesetz/land/LandesRechtTextParserTest.java",
      "score": 62
    }
  ]
}
