)]}'
{
  "commit": "0be6e41ca5ae1c16aab308931616f1ec84ea3eba",
  "tree": "d2d5342f687747b36c0ad00798df34c62ea73a95",
  "parents": [
    "3203725daa2c8db9ce25ff4541dd4ea438ac5cd7"
  ],
  "author": {
    "name": "Matthias Andreas Benkard",
    "email": "code@mail.matthias.benkard.de",
    "time": "Fri Aug 28 08:13:29 2026 +0200"
  },
  "committer": {
    "name": "Matthias Andreas Benkard",
    "email": "code@mail.matthias.benkard.de",
    "time": "Fri Aug 28 08:13:29 2026 +0200"
  },
  "message": "Der Korpus sagt, woran die Reste im Ganzen liegen\n\nDer Befund über das Erzeugnis ruhte auf handverlesenen Fällen. Rund drei Dutzend\nAkzeptanzprüfungen sagen, dass diese Hefte aufgehen; sie sagen nicht, woran die\nReste im Ganzen liegen — ob an der Befehlssprache eines Landes, an der\nAufbereitung des Druckwerks oder am Alter der eingesetzten Stammfassung. Die\nAuszählung der Gründe beantwortet das für ein Heft; über einen Korpus geführt\nbeantwortet sie es für das Erzeugnis.\n\nDer Schalter --korpus arbeitet eine Auftragsliste ab und gibt je Auftrag eine\nZeile Kennzahlen aus: erschlossene, angewandte, liegengebliebene und am Stichtag\nzurückgestellte Befehle, sodann die gleichen, geprüften, fehlenden, überzähligen\nund abweichenden Normen des Abgleichs, zuletzt die Gründe nach Häufigkeit. Die\nListe nennt dieselben Angaben, die auch die Befehlszeile entgegennimmt — ein\nAuftrag ist nichts anderes als ein Lauf. Mit --synopsen bleiben die\nEinzelsynopsen samt einer Übersichtsseite stehen; ohne sie wäre der Bericht eine\nZahlenreihe, aus der niemand den Grund eines Restes erführe.\n\nEingecheckt ist der Bericht die Grundlinie. --grundlinie hält den Lauf dagegen\nund rügt allein, was fällt: weniger erschlossene oder angewandte Befehle, weniger\ngleiche Normen, mehr liegengebliebene, fehlende, überzählige oder abweichende.\nEin Fortschritt ist kein Fehler, sondern der Zweck der Arbeit; er verlangt\nallein, die Grundlinie fortzuschreiben. Der Rückschritt endet mit 3 wie ein nicht\naufgehender Abgleich. Ein gescheiterter Auftrag hält den Lauf nicht an, sondern\nträgt seinen Fehlertext in seiner Zeile — der Grundsatz der Nichtverwerfung gilt\nauch hier.\n\nDer mitgelieferte Korpus umfasst einunddreißig Aufträge und gibt 1413 Befehle\nher, von denen 1287 angewandt werden; 632 von 641 verglichenen Normen gehen auf.\nEr reproduziert die Zahlen der bestehenden Akzeptanzfälle (UWG 19/0, GEG 119/119,\nBayJG 154/154, Berlin 171/171, WDR 101, Bremen 41/37, Hamburg 21/17). Drei\nAufträge tragen mit Absicht hohe Reste: Bei den beiden Beschlussempfehlungen und\nbei Rheinland-Pfalz schreibt die Vorlage eine ältere Fassung fort als die\neingesetzte Stammfassung. Sie sind gleichwohl Wächter — steigen ihre Reste, so\nhat sich etwas verschlechtert.\n\nNebenbei: Die Auszählung der Gründe stand doppelt (Befehlszeile und Synopse) und\nliegt nun in Pipeline.zaehleGruende; das Ergebnis der Pipeline führt sie mit.\n\nGeprüft: mvnw verify (443 Testfälle) und reuse lint (214/214) gehen durch; der\nKorpuslauf ist Teil der Prüfung. Die Rügeregel ist am ganzen Korpus erprobt: Eine\num eins verschärfte Grundlinie führt zur Rüge „UWG-BGBl: angewandte Befehle 19\nstatt 20“ und zum Rückgabewert 3.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I4e10b041b78d95772da1c3ff18ab92b0b45dacaa\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "677db5d226a475673bb8e91d86996ccece30776f",
      "old_mode": 33188,
      "old_path": "FASSUNGEN.txt",
      "new_id": "17572b5f47ab194671daab6dcd1b93c9b08b5fa6",
      "new_mode": 33188,
      "new_path": "FASSUNGEN.txt"
    },
    {
      "type": "modify",
      "old_id": "49f067412dc2643dc719e1001e0394ce53d69794",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "4d06524f0dbf8c60f68b79a8b2c903d07cb1c833",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "modify",
      "old_id": "ce10cb4f4c1ef06b066c603cfcd7a5d809975409",
      "old_mode": 33188,
      "old_path": "REUSE.toml",
      "new_id": "a465b7348df6ffa1be5721d90aa54cf3cdb8015a",
      "new_mode": 33188,
      "new_path": "REUSE.toml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "be0533a84cd1b0a921e8dceb3155c1ed775fa228",
      "new_mode": 33261,
      "new_path": "deploy/korpuslauf.sh"
    },
    {
      "type": "modify",
      "old_id": "d089f2109b6c3b66d912ff781dd285d5ac7ce65f",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/AendGgner.java",
      "new_id": "3067a138acc0cf0ff12aadb965e57839edbb7043",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/AendGgner.java"
    },
    {
      "type": "modify",
      "old_id": "e4ce9fb1a3900823794f0f8a8ae75130e0387e8e",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/Pipeline.java",
      "new_id": "483d4560856d02a9bbf9bd52c53e42af15fd1568",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/Pipeline.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1daba426d648498dea54687188756bd8532845a1",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/bericht/Korpusbericht.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e7093377eb6c6d7a5374a1887dfea2d439c43907",
      "new_mode": 33188,
      "new_path": "src/test/java/eu/mulk/aendggner/bericht/KorpusberichtTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "60da4f69f1ba7698e5ebdffcdb90f1ed99d8237c",
      "new_mode": 33188,
      "new_path": "src/test/resources/sampledata/korpus-grundlinie.tsv"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2832539d17598f79b14433c5f8c3ce67e7ab1543",
      "new_mode": 33188,
      "new_path": "src/test/resources/sampledata/korpus.tsv"
    }
  ]
}
