)]}'
{
  "commit": "3203725daa2c8db9ce25ff4541dd4ea438ac5cd7",
  "tree": "76a76393cfc5abab8a79e9b9c6f31dc006f24edf",
  "parents": [
    "eb998fbfc324151b0b712adb37525caf2320211e"
  ],
  "author": {
    "name": "Matthias Andreas Benkard",
    "email": "code@mail.matthias.benkard.de",
    "time": "Fri Aug 28 07:57:41 2026 +0200"
  },
  "committer": {
    "name": "Matthias Andreas Benkard",
    "email": "code@mail.matthias.benkard.de",
    "time": "Fri Aug 28 07:57:41 2026 +0200"
  },
  "message": "Jeder Befehl nennt fortan seine Seite im Heft\n\nDie Synopse wies bislang Artikel und Gliederungspunkt aus. Wer einem\nliegengebliebenen Befehl nachgehen wollte, musste ihn in einem Heft von achtzig\nSeiten selbst suchen; die eigentliche Arbeit lag damit beim Leser. Fortan trägt\njeder Befehl seine Fundstelle: „Artikel 1 23. b) (S. 8)“.\n\nGezählt wird die Seite nicht, sondern am Wortlaut wiedergefunden. Eine Marke, die\nim Textstrom mitreiste, kam dafür nicht in Betracht: Der Bereiniger zieht weiche\nUmbrüche zusammen, entfernt Kolumnentitel und schneidet Seitenfüße heraus; die\nMarke geriete entweder vor einen Zeilenanfangs-Anker und nähme jedem\nNormkopf-Muster seine Grundlage, oder sie verschwände mit der Zeile, die sie\ntrug. Stattdessen hält der Auszug seinen Wortbestand seitenweise fest\n(Seitenkonkordanz) — nur Buchstaben und Ziffern, kleingeschrieben — und der\nBefehlstext wird darin gesucht, ebenso heruntergebrochen. Silbentrennung,\nAnführungszeichen, Leerraum und Satzzeichen, also gerade das, woran die\nAufbereitung arbeitet, stören den Vergleich dann nicht. Der Fontgrößenfilter\nerhebt die Konkordanz aus denselben Zeilen, aus denen er den Text fügt; ein\nzweiter Lauf über das Druckwerk unterbleibt.\n\nGesucht wird von einem fortschreitenden Leser aus, der sich merkt, wie weit die\nErschließung gediehen ist. Ohne ihn träfe ein mehrfach vorkommender Wortlaut\n(„Absatz 3 wird aufgehoben“ steht in einem Heft dutzendfach) stets dessen erstes\nVorkommen. Was kürzer ist als acht Zeichen, ist keine Wortfolge, sondern eine\nMarke; was sich nicht wiederfinden lässt, bleibt ohne Seitenangabe. Eine falsche\nSeite wäre schlimmer als keine. Ohne Angabe bleiben aus demselben Grund die\nKlartexteingabe, die kein Satzbild hat, und die beschlossene Fassung einer\nBeschlussempfehlung, die aus zwei Spalten zusammengesetzt ist und so auf keiner\nSeite des Heftes steht.\n\nDie Anzeige der Herkunft (Provenienz) hängt die Seite an; Synopse, Abschnitt\n„Manuell prüfen“ und „--dump-befehle“ tragen sie damit, ohne dass an ihnen etwas\nzu ändern gewesen wäre.\n\nGeprüft: mvnw verify (438 Testfälle) und reuse lint (209/209) gehen durch. Sechs\nFälle prüfen die Konkordanz für sich, zwei am Druckwerk — dass jeder der\nneunzehn Befehle des Heftes BGBl. 2026 I Nr. 43 eine Seite zwischen eins und\nfünf trägt, dass die Seiten in der Reihenfolge der Erschließung steigen und dass\neine Klartexteingabe keine trägt. Die Fundstelle „Artikel 1 23. b) (S. 8)“ des\nGesetzes vom 16. Oktober 2023 ist am Druckbild nachgeschlagen und für richtig\nbefunden.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: If9a9008311aaabf49b007d82f9c1aaaca495878a\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "66bb5a3f713b7589bbc7d73d198d72c7f065c98a",
      "old_mode": 33188,
      "old_path": "FASSUNGEN.txt",
      "new_id": "677db5d226a475673bb8e91d86996ccece30776f",
      "new_mode": 33188,
      "new_path": "FASSUNGEN.txt"
    },
    {
      "type": "modify",
      "old_id": "3f67b864fe530636f8d880fd8a6bd01179f0d1da",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "49f067412dc2643dc719e1001e0394ce53d69794",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "modify",
      "old_id": "1544951045635e7352494910fd835e7e233b3cfc",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/AendGgner.java",
      "new_id": "d089f2109b6c3b66d912ff781dd285d5ac7ce65f",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/AendGgner.java"
    },
    {
      "type": "modify",
      "old_id": "0fdfa91d5e3f60e0c923365a2704f21a079eb7aa",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/Pipeline.java",
      "new_id": "e4ce9fb1a3900823794f0f8a8ae75130e0387e8e",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/Pipeline.java"
    },
    {
      "type": "modify",
      "old_id": "9e1dc41845ec69fb5e1dc118f14eeffbe492784d",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/aenderung/Provenienz.java",
      "new_id": "9e12872cf034a97ab52ca6ff29054cc66d8cfde9",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/aenderung/Provenienz.java"
    },
    {
      "type": "modify",
      "old_id": "7b8e4a51b9e4bc240dbd0ac471ff55af63e0ac5f",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/AenderungsgesetzParser.java",
      "new_id": "812d067368acd9978e0f5943abdcc761ecbd1fdc",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/AenderungsgesetzParser.java"
    },
    {
      "type": "modify",
      "old_id": "95016b640bee6bbcacd4917ae03eee5850f2f6ec",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/FontgroessenFilter.java",
      "new_id": "777adfc28ab520fb0fca056f24f9dfaa49d223b2",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/FontgroessenFilter.java"
    },
    {
      "type": "modify",
      "old_id": "db488d075902e9de33a95a3cebb2aec155e8b770",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/PatchTextExtraktor.java",
      "new_id": "1f8539d0f18d819ef93eeb7e57548b1dd10c33d8",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/PatchTextExtraktor.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0b69c5056ac8e7815fbc34dd1bf8b03f472eb619",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/Seitenkonkordanz.java"
    },
    {
      "type": "modify",
      "old_id": "eead6a01b1223d84c951678c080669e99a698cf2",
      "old_mode": 33188,
      "old_path": "src/test/java/eu/mulk/aendggner/EndToEndTest.java",
      "new_id": "34bc8e648409b989ec5a5d78801c7f179123f530",
      "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": "8e308140a94c5ea70145c53f967c1ed31fc20379",
      "new_mode": 33188,
      "new_path": "src/test/java/eu/mulk/aendggner/aenderung/parse/SeitenkonkordanzTest.java"
    }
  ]
}
