)]}'
{
  "commit": "e486b1f4efb034ed83247f4d4a84964ef9887221",
  "tree": "1fed779c320a9c1b7c750073f461bfe6fea0c971",
  "parents": [
    "9a29b384b84fac20f3c417ff9dcf3d461627e185"
  ],
  "author": {
    "name": "Matthias Andreas Benkard",
    "email": "code@mail.matthias.benkard.de",
    "time": "Mon Jul 13 21:33:47 2026 +0200"
  },
  "committer": {
    "name": "Matthias Andreas Benkard",
    "email": "code@mail.matthias.benkard.de",
    "time": "Mon Jul 13 21:33:47 2026 +0200"
  },
  "message": "Model and apply structural (Teil/Abschnitt) and TOC commands\n\nIntroduce the Gliederungsbaum into the model and support the structural\ncommand families that were the bulk of the remaining unknowns:\n\n- Gliederung gains a kennzahl; Gesetz carries the ordered list of\n  Gliederungseinheiten, which the loader now collects.\n- New Stelle components Gliederungseinheit (Teil/Abschnitt/Unterabschnitt/\n  Anlage/…) and Absatzbezeichnung; StellenParser parses these plus\n  \"Überschrift von \u003cGliederung\u003e\" and drops \"Satzteil/Angabe vor Nummer N\"\n  chapeau qualifiers.\n- Gliederungs-Überschrift Neufassung/Streichung apply to the tree and\n  render as a \"Geänderte Gliederungs-Überschriften\" diff section;\n  Absatzbezeichnung-Streichung removes an Absatz number; Inhaltsübersicht\n  \"Angabe(n) zu …\" commands are recognized (applied via the existing TOC\n  path).\n\nReuses Neufassung/Aufhebung with structural Stellen rather than adding new\ncommand types. Final UnbekannterBefehl counts: GEG 50-\u003e5, IfSG 11-\u003e3,\nAGG 2-\u003e0 (§ 1 Alters-\u003eLebensalters now applies), UWG 2-\u003e0.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\nChange-Id: I0cc91bfe65798140dd982b19f1884dfe60be87c4\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0bcceb6b80e30199ddd6ba29936009b436cd8c9b",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/aenderung/Stelle.java",
      "new_id": "eb135fec27bab7bf9b9a654afbf6de8a03ee00e1",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/aenderung/Stelle.java"
    },
    {
      "type": "modify",
      "old_id": "80f664ebf379b9dc6bd65de5c1819d277876eacb",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/BefehlErkenner.java",
      "new_id": "7283d90eb0211adc73a8d0cb8daeb2be4722b565",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/BefehlErkenner.java"
    },
    {
      "type": "modify",
      "old_id": "2b2b80eab54400dc05fd8d75258a4685c54deb41",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/StellenParser.java",
      "new_id": "4660343800b6d30c341f0b24d3076c1711be9304",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/aenderung/parse/StellenParser.java"
    },
    {
      "type": "modify",
      "old_id": "94c5db1be9a436c81ba9b1d0e310747798762199",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/anwendung/BefehlAnwender.java",
      "new_id": "86eccaf80d05ac0ec9eb606c68177a526e9c8dca",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/anwendung/BefehlAnwender.java"
    },
    {
      "type": "modify",
      "old_id": "5db08605c74bf43ad374cf5a783cd2fb37a303af",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/gesetz/Gesetz.java",
      "new_id": "fc84172f0d4ebd60b74da228db1e3d1523d0ab68",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/gesetz/Gesetz.java"
    },
    {
      "type": "modify",
      "old_id": "21c9c4a63f8fe4d0c7601c4fa6d0bbc4646a64a2",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/gesetz/Gliederung.java",
      "new_id": "53eb6b965955b8517e3d34bc6b3f7fedc2545e98",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/gesetz/Gliederung.java"
    },
    {
      "type": "modify",
      "old_id": "ca7bdf6b5b7bc560e4ef7db693ec0fbf338a78b4",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/gesetz/gii/GiiXmlLoader.java",
      "new_id": "b14ec1cb7d8f55bda1d26a4ee3c269f43ad22fb2",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/gesetz/gii/GiiXmlLoader.java"
    },
    {
      "type": "modify",
      "old_id": "2f5f735fccb646ed07151b7e7eaeedbd322998a9",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/synopse/HtmlRenderer.java",
      "new_id": "46e1fa86a2cf86b6448057f982932b0f022d4468",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/synopse/HtmlRenderer.java"
    },
    {
      "type": "modify",
      "old_id": "26730a2ab448df2630e7add040d2f69ea8634cb9",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/synopse/Synopse.java",
      "new_id": "4f7a58f551388f23d5042c8d0d4475453aada8ba",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/synopse/Synopse.java"
    },
    {
      "type": "modify",
      "old_id": "0f88538e6f117bd628c214f8e45484c743a78646",
      "old_mode": 33188,
      "old_path": "src/main/java/eu/mulk/aendggner/synopse/SynopseBuilder.java",
      "new_id": "536bca4a06b010fa6caeccb2aa19b5a8dcf8de08",
      "new_mode": 33188,
      "new_path": "src/main/java/eu/mulk/aendggner/synopse/SynopseBuilder.java"
    },
    {
      "type": "modify",
      "old_id": "bd17d79a2071c405ab7b1633ad056956393b4195",
      "old_mode": 33188,
      "old_path": "src/test/java/eu/mulk/aendggner/EndToEndTest.java",
      "new_id": "44903e755fd19097ce8a6ee14a4fba6ab7498233",
      "new_mode": 33188,
      "new_path": "src/test/java/eu/mulk/aendggner/EndToEndTest.java"
    },
    {
      "type": "modify",
      "old_id": "2d0db8a92b62d6e765cde8e96067d7c8f989bd01",
      "old_mode": 33188,
      "old_path": "src/test/java/eu/mulk/aendggner/aenderung/parse/BefehlErkennerTest.java",
      "new_id": "230bfca222d6942e311f073b680f5d3ccec97c43",
      "new_mode": 33188,
      "new_path": "src/test/java/eu/mulk/aendggner/aenderung/parse/BefehlErkennerTest.java"
    },
    {
      "type": "modify",
      "old_id": "c0ea159b1f0bbca4e2d8483320f947ece2fe15e7",
      "old_mode": 33188,
      "old_path": "src/test/java/eu/mulk/aendggner/aenderung/parse/StellenParserTest.java",
      "new_id": "9389534d6f670e34f09bbade71ace5566e962338",
      "new_mode": 33188,
      "new_path": "src/test/java/eu/mulk/aendggner/aenderung/parse/StellenParserTest.java"
    },
    {
      "type": "modify",
      "old_id": "b82778c2e4f35b8ee8e5b3a5d155a0cebd70f4c8",
      "old_mode": 33188,
      "old_path": "src/test/java/eu/mulk/aendggner/synopse/HtmlRendererTest.java",
      "new_id": "01c25cde16aa25ec089aa078eca2f4c5363c5d82",
      "new_mode": 33188,
      "new_path": "src/test/java/eu/mulk/aendggner/synopse/HtmlRendererTest.java"
    }
  ]
}
