)]}'
{
  "commit": "036fb101bbc92e88e2b0e99d04ed827b96afd927",
  "tree": "aa1cb8ca4515d61c587136e5e2be03e25b0a674e",
  "parents": [
    "17c87d1cddd6968161d28aa0365a1a1964dc6409"
  ],
  "author": {
    "name": "Matthias Andreas Benkard",
    "email": "code@mail.matthias.benkard.de",
    "time": "Thu Aug 27 07:10:40 2026 +0200"
  },
  "committer": {
    "name": "Matthias Andreas Benkard",
    "email": "code@mail.matthias.benkard.de",
    "time": "Thu Aug 27 07:10:40 2026 +0200"
  },
  "message": "Bremen öffnet seine Fassungen, und zwei Zitate bleiben offen\n\nBremen tritt als fünfzehntes Land hinzu. Sein Transparenzportal ist nach BRAVORS\nund recht.nrw.de das dritte, das einer Skriptabfrage gewöhnliches HTML liefert,\nund das erste außerhalb Brandenburgs, das jede frühere Gesamtausgabe einzeln\nadressierbar führt; Vor- und Nachfassung stammen daher aus derselben Quelle.\n\nDas Heft (Brem.GBl. 2026 Nr. 87) versäumt es zweimal, ein Zitat zu schließen.\nDaran zeigte sich, dass die Grenze am Aufzählungspunkt zu eng gefasst war: Sie\nverlangte, dass der Rest des Abschnitts ausbalanciert zurückbleibe, und konnte\ndeshalb nur den letzten Mangel heilen. Nunmehr prüft sie, dass kein schließendes\nAnführungszeichen ohne öffnendes zurückbleibt — ein Abschnitt darf mehrere\noffene Zitate tragen, und jedes wird an seiner eigenen Grenze geschlossen. Das\nHeft gab vorher 22 Befehle her, nun 41.\n\nDie bremische Befehlssprache brachte sechs Nebenformen (Name der Verordnung,\nbloße Aufzählungsmarke als Stelle, Marke mit Schlusspunkt, „geändert“ statt\n„ersetzt“, „um Satz 2 ergänzt“, benanntes Satzzeichen) und fünf Anwendungsfunde:\nEine unvollendet endende Neufassung lässt die Untergliederung stehen; das Zitat\ndes ersten Satzes trägt die Absatzbezeichnung mit; ein Umbruch mitten im Satz\nist Satzspiegel; ein Platzhalter hält nur im eigenen Block Platz; und eine\nangefügte Einheit, die ihre Nummer nennt, tritt an den genannten Platz. Dabei\nkam ein stiller Mangel ans Licht: „hinter dem Wort“ war in den Mustern\nzugelassen, wurde aber nirgends geprüft — die Wörter traten vor den Anker.\n\nGeprüft: mvnw verify (428 Testfälle) und reuse lint (204/204) gehen durch; der\nneue Akzeptanzfall pinnt 41 gelesene, 37 angewandte Befehle und den Gleichlauf\nvon 26 der 29 Normen mit der amtlichen Nachfassung.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: If83a1f3204cd4599168888f2701db71d560b7bc7\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cfe31bc547ee2256a25893e9204e2e04284c80e9",
      "old_mode": 33188,
      "old_path": "FASSUNGEN.txt",
      "new_id": "20c29cbfd5f58172be7cef34d6b64e3be1209835",
      "new_mode": 33188,
      "new_path": "FASSUNGEN.txt"
    },
    {
      "type": "modify",
      "old_id": "6005618972481846abcd9fc8035c2397706c2964",
      "old_mode": 33188,
      "old_path": "REUSE.toml",
      "new_id": "568a7c99b23c00b8e5f9ab0ecbfe3da2f9ab4a8b",
      "new_mode": 33188,
      "new_path": "REUSE.toml"
    },
    {
      "type": "modify",
      "old_id": "c60bbafde8efcdfcdcd59c781bc028ec5b6cbb74",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/BefehlErkenner.java",
      "new_id": "35afabf4da72364b08511688c83e30122dd3cb3e",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/BefehlErkenner.java"
    },
    {
      "type": "modify",
      "old_id": "466adfee03c83b98bae9ab01802720162ad849a2",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/StellenParser.java",
      "new_id": "f6e7360f79303b55892180d9a07ab622e6b5fb14",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/StellenParser.java"
    },
    {
      "type": "modify",
      "old_id": "073abfa82902b8438addf33b5ab157476f39d1c3",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/TextBereiniger.java",
      "new_id": "e5021a0f7eab4257cabb9fda0f7548526c4b9533",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/TextBereiniger.java"
    },
    {
      "type": "modify",
      "old_id": "a7fb05001762718865978a5e280b04958b52d942",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/ZitatExtraktor.java",
      "new_id": "cfac715eabafdd9653b8ceaa51c9d7794819ce3f",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/ZitatExtraktor.java"
    },
    {
      "type": "modify",
      "old_id": "92cd5692fa78a0c39c9cecba37069b81a530d5eb",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/anwendung/BefehlAnwender.java",
      "new_id": "eb6942315ba954f19db8272c05afc60cc256fb07",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/anwendung/BefehlAnwender.java"
    },
    {
      "type": "modify",
      "old_id": "22ce4c6ccab6897e01d8009458a6a57fe61067ff",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/anwendung/StellenAufloeser.java",
      "new_id": "32d9c8ba30d8337a7115463922c54602932ea173",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/anwendung/StellenAufloeser.java"
    },
    {
      "type": "modify",
      "old_id": "bb6797803c346ef8a1174180f57e9b6a926196ef",
      "old_mode": 33188,
      "old_path": "src/test/java/eu/mulk/aendggner/EndToEndTest.java",
      "new_id": "6bb82ebf8f7bfe5005c3a1cc8f8fe6f0c669c134",
      "new_mode": 33188,
      "new_path": "src/test/java/eu/mulk/aendggner/EndToEndTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ab1ab3429efa314e97802e66fa9348f9ec65ee63",
      "new_mode": 33188,
      "new_path": "src/test/resources/sampledata/Bremen/AssBerFSchulV-BR-alt.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f4828153f3b0f47f9a8035892c7de5057e1115b4",
      "new_mode": 33188,
      "new_path": "src/test/resources/sampledata/Bremen/AssBerFSchulV-BR-neu.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7bf58d7b424ec3ed238247606bbae32475a34698",
      "new_mode": 33188,
      "new_path": "src/test/resources/sampledata/Bremen/BremGBl-2026-87_BerufsfachschulVO-AendVO.pdf"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e0425ccf6822922eead905825805bf817c0e8dca",
      "new_mode": 33188,
      "new_path": "src/test/resources/sampledata/Bremen/SOURCES"
    },
    {
      "type": "modify",
      "old_id": "0a955ae1e0a56874fbaf3a2962b5fed7f977b0c9",
      "old_mode": 33188,
      "old_path": "src/test/resources/sampledata/Landesrecht-Beispiele.adoc",
      "new_id": "b6992433dca7ee03280d1fb00a9d6d650b9f8cc0",
      "new_mode": 33188,
      "new_path": "src/test/resources/sampledata/Landesrecht-Beispiele.adoc"
    }
  ]
}
