aboutsummaryrefslogtreecommitdiff
path: root/README.md
Commit message (Collapse)AuthorAgeFilesLines
* Der Rest sagt fortan, welcher Art er istMatthias Andreas Benkard2 days1-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Eine Synopse mit fünfzig liegengebliebenen Befehlen war bisher eine unsortierte Liste von achtundsechzig verschiedenen Sätzen. Wer sie las, erfuhr über jeden einzelnen Befehl das Genaue und über das Ganze nichts — namentlich nicht, ob eine Vorlage am Werkzeug scheitert, am Wortlaut des Änderungsgesetzes oder am falschen Stand des Stammgesetzes. Neben den ausformulierten Grund tritt deshalb seine Art. Vergeben wird sie dort, wo der Grund entsteht: Die Stellenauflösung, die Textoperation und die Zeilensuche in der Inhaltsübersicht führen sie mit ihrem Wortlaut, weil allein die erzeugende Stelle sie kennt. Der Wortlaut bleibt unberührt und maßgeblich — der Grundsatz der Nichtverwerfung verlangt die genaue Auskunft im Einzelfall; gebündelt wird nur, was ohne Ordnung eine bloße Liste wäre. Den größten Ertrag trägt die Auszählung sofort: Von den fünfzig Resten des Gebäudeenergiegesetzes gegen den heutigen Stamm sind einundvierzig von einer einzigen Art, nämlich „Zieltext nicht vorhanden“ — die Handschrift eines Stammgesetzes, das jünger ist als das Änderungsgesetz. Diese Lage rügt das Werkzeug nunmehr eigens. Dazu liest es die Standangabe der Quelle, und zwar nicht die Standzeile allein: Das gii-XML führt daneben Hinweise der Form „Änderung durch Art. 1 G v. 18.11.2020 … textlich nachgewiesen“, die bezeugen, dass der Wortlaut die Änderung längst trägt, während die Standzeile noch die vorige nennt. Genau daran scheiterten im Infektionsschutzgesetz siebenundzwanzig Befehle, ohne dass jemand den Grund benennen konnte. Verglichen wird das späteste genannte Datum mit der Fassung, die der Einleitungssatz fortschreibt; ist der Stamm der jüngere, ergeht die Rüge einmal je Dokument. Fehlt eine Angabe, schweigt die Prüfung. Zwei Anwendungslücken sind daneben geschlossen: Das ankerlose Anfügen ganzer Paragraphen wird angewandt statt gemeldet, und die Zurückweisung des Einfügeankers „am Ende“ ist als bewusst gezogene Grenze kenntlich gemacht — die Verbindung kommt im gesamten Prüfbestand kein einziges Mal vor, und Vorschriften auf Verdacht werden nicht geschrieben. Geprüft mit „mvnw verify“: 332 Prüfungen, kein Fehlschlag; keine gepinnte Zahl hat sich geändert. REUSE 168/168. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Change-Id: I042c4389034f728c4b66f8161dc15e05938185ba
* Die Anlage wird eine Norm, ihre Nummern noch nichtMatthias Andreas Benkard2 days1-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Der Klartext-Parser trägt fortan Anlagen: „Anlage“, „Anlage 2“ und „Anhang“ eröffnen eine eigene Norm, deren Bezeichnung genau so lautet wie im gii-XML, und vom ersten Anlagenkopf an gehört alles Folgende zu ihr — ihre inneren Überschriften gliedern nicht mehr das Gesetz, und ein Paragraph, den sie zitieren, eröffnet keine Norm. Berlin ist damit zur Hälfte belegt. Artikel 2 des Änderungsgesetzes schreibt das LAF-Errichtungsgesetz vollständig fort; alle fünf Normen gleichen danach der amtlichen Fassung vom 12. Juni 2026. Artikel 1 bleibt bei der Erkennung, und der Grund ist benannt statt umgangen: Fünf seiner sechs Befehle zielen auf Einheiten der Anlage, die dort als Überschriften stehen — „Nummer 6“, „Nummer 23“, „Nummer 31“ —, während der Stellenauflöser eine Aufzählungsmarke „6.“ sucht, die im Text der Anlage vielfach vorkommt. Die Gegenprobe belegt es: Werden die Überschriften versuchsweise in Marken umgeschrieben, steigt die Zahl der angewandten Befehle von zwei auf drei, mehrdeutig bleibt der Rest. Die Nummern einer Anlage brauchen einen eigenen Rang zwischen Norm und Absatz. Solange er fehlt, bringt die Beilage von zweimal 380 kB Stammfassung keinen Prüfgewinn; ihr Bezugsweg steht in „Berlin/SOURCES“ und führt in zwei Abrufen wieder dorthin. Dort ist auch der zweite Berliner Befund festgehalten: Das Portal setzt die amtlichen Satznummern als angeklebte Ziffern statt als Superskripte. Geprüft durch „mvnw verify“: 328 Tests, keine bestehende gepinnte Zahl bewegt, REUSE-Konformität 165 von 165. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Change-Id: Ifdda599a8c641ce66d0370b2a027f556adb4d86d
* Ein Änderungsgesetz schreibt zwei Stammgesetze fortMatthias Andreas Benkard2 days1-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Schleswig-Holstein ändert mit einem Gesetz die Gemeindeordnung und die Kreisordnung zugleich, jede in ihrem eigenen Artikel. Beide Stammfassungen sind nun über die Browsersteuerung beschafft — Vor- wie Nachfassung —, und beide werden vollständig fortgeschrieben: je ein Neufassungsbefehl, kein Rest, und danach gleicht die Gemeindeordnung in allen 167, die Kreisordnung in allen 86 Normen der amtlichen Fassung vom 31. März 2026. Der dritte Artikel ändert ein anderes Änderungsgesetz und bleibt zu Recht unbeachtet. Der Portalsatz hat zwei Eigenheiten. Er trennt die Sachnummer ab („§ 57 c“ statt „§ 57c“); zusammengezogen gehört das zur Aufbereitung, ohne den Handgriff wären zehn Paragraphen der Gemeindeordnung dem Gesetz entgangen. Und er setzt im Klammerzusatz „(Gemeindeordnung - GO -)“ einen Bindestrich, wo das Gesetzblatt einen Gedankenstrich führt. Daran scheiterte die Trennung von Kurztitel und Abkürzung, der Einleitungssatz fand sein Ziel nicht, und es wurde kein Artikel gewählt. Der Parser nimmt den Strich fortan in beiden Gestalten an, sofern Leerraum ihn umgibt — innerhalb eines Namens steht ein Bindestrich stets ohne. Geprüft durch „mvnw verify“: 327 Tests, keine bestehende gepinnte Zahl bewegt, REUSE-Konformität 162 von 162. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Change-Id: I11e8e84436c9b4b0e1729f5e4be012cc35335a0c
* Der Browser bekommt, was dem Skript verwehrt bleibtMatthias Andreas Benkard2 days1-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Die Landesrechtsportale, die auf der juris-Anwendung beruhen, galten als Sackgasse: Jede Skriptabfrage erhält nur ihre leere Anwendungshülle, gleich unter welcher Adresse. Sie geben ihren Wortlaut aber jedem Browser, und über eine Browsersteuerung ist er Werk für Werk auszulesen. Damit ist die hessische Verkehrsrechts-Zuständigkeitsverordnung in beiden maßgeblichen Fassungen beschafft — der vom 1. Januar 2026 und der vom 4. Februar 2026 — und Hessen ist kein bloßer Erkennungsfall mehr, sondern ein voller Belegfall: einundzwanzig Befehle, kein Rest, und alle zweiundfünfzig Normen gleichen zeichengenau der amtlichen Nachfassung. Der Weg dorthin hat fünf allgemeine Lücken aufgedeckt. Der Klartext-Parser verlangte für jeden Normkopf eine Überschrift, die eine Verordnung nicht führt, und kannte die ausgeschriebene Gliederung nicht („Erster Teil“); ein Aufzählungsglied, das auf „und“ endet, galt ihm als Unter-Überschrift. Der Anwender behandelte die Streichung einer Absatzbezeichnung wie die Aufhebung des Absatzes, setzte Platzhalter auch dort, wo kein Platz zu halten war, und ließ ein Wort, das an die Stelle eines Satzzeichens tritt, am Vorwort kleben. Zwei stille Mängel kamen unverhofft mit: „List.remove“ war zweimal ein geboxter Index übergeben, sodass der Aufruf an die suchende Überladung band, nichts fand und nichts meldete. Betroffen war neben der Aufhebung eines Absatzes auch dessen Neufassung durch mehrere — der alte Absatz blieb neben den neuen stehen. Geprüft durch „mvnw verify“: 327 Tests, keine bestehende gepinnte Zahl bewegt, REUSE-Konformität 157 von 157. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Change-Id: I20ac8a7bc66357cd66daa167184b06b8c419f843
* Die fortlaufende Quelltextquelle zieht umMatthias Andreas Benkard2 days1-1/+1
| | | | | | | | | | | | | | | | | | Gerrit (gerrit.benkard.de/plugins/gitiles/aendggner) weicht https://git.benkard.de/mulk/aendggner. Nachgezogen ist die Anschrift an allen fünf Stellen: im Handbuch (§ 3 Abs. 2), im Feld SPDX-PackageDownloadLocation der REUSE.toml, in der Zeile „Fortlaufend“ des beigelegten quelltext-fassung.txt (deploy/webpaket.sh) sowie in den Fußzeilen der Startseite und des Impressums. Dort trug der Verweis die Beschriftung „Gerrit“; sie lautet fortan „Git“, denn sie benennt keine bestimmte Oberfläche mehr. Damit bleibt die Nennung nach AGPLv3 § 13 erreichbar. Die REUSE-Prüfung meldet unverändert Konformität mit der Spezifikation 3.3 (154/154). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Change-Id: I52f5fadfece4b0fb7e8c09c097835b90a701a449
* Das Handbuch liegt auch in Markdown vorMatthias Andreas Benkard2 days1-0/+675
Das Handbuch stand allein als AsciiDoc; wer den Quelltext über ein Verzeichnis betrachtet, das nur Markdown darstellt, sah es als Rohtext. Die Übersetzung gibt den Wortlaut unverändert wieder. Übersetzt sind allein die Auszeichnungen: Überschriften, Quelltextblöcke, Verweise, Aufzählungen und die Begriffsverzeichnisse. Der Attributkopf des AsciiDoc entfällt; an seine Stelle tritt ein Inhaltsverzeichnis über die siebzehn Paragraphen und den Lizenzabschnitt. Die REUSE-Angaben stehen als HTML-Kommentar im Kopf. Die Folge der Absatzziffern ist gegen die AsciiDoc-Fassung abgeglichen und stimmt überein, einschließlich der dort vorgefundenen doppelten Zählung der Absätze 6 und 7 des § 14, die unangetastet bleibt. Die Prüfung meldet unverändert Konformität mit der REUSE-Spezifikation 3.3 (155/155). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Change-Id: Ie930a0f5d847a66522a5f2193ef8524c0cd24487