S06: Tooling-Fix: checkpoint.ps1 robust gegen problematische Eingabedaten gemacht. Commit-Message wird jetzt via Temp-Datei und git commit -F uebergeben statt via -m mit String, damit doppelte Anfuehrungszeichen im Summary nicht mehr das Argument zerlegen (Ursache des fehlgeschlagenen Hotfix-Commits zuvor). Pipe-Zeichen im Summary werden vorab abgelehnt, da sie mit dem Changelog-Format Timestamp Pipe Session Pipe Summary kollidieren. Whitespace und Zeilenumbrueche im Summary werden zu einem einzelnen Leerzeichen normalisiert. Pre-flight-Checks ergaenzt: Existenz von .git, verwaiste .git/index.lock mit klarer Anleitung melden, changelog.md muss vor dem Lauf clean sein. Atomarer Rollback bei Fehler im Hauptablauf: changelog.md wird auf Original-Stand zurueckgeschrieben und Index-Stagung von changelog.md per git restore --staged oder git reset HEAD zurueckgesetzt, sodass der naechste Lauf nicht doppelt anhaengt. Cleanup-Robustheit: Temp-Message-Datei wird in finally geloescht, das Loeschen der Pending-Datei ist nicht mehr fatal sondern nur eine Warnung.

This commit is contained in:
tlg
2026-04-25 22:35:35 +02:00
parent 80a0323996
commit 24ff8ad48e
3 changed files with 134 additions and 39 deletions

View File

@@ -1,6 +1,8 @@
S06
PDF-Build-Hotfix nach erstem Build der Tabellen-Revision: LuaLaTeX schlug in der Tabellen-Spaltenangabe mit der Meldung ueber einen nicht definierten Counter none fehl, weil Thomas Pandoc-Version (3.x) calc-basierte Spaltenbreiten der Form p von Klammer Spaltenbreite minus 2 mal tabcolsep Klammerzu mal real Faktor emittiert und das Template weder das calc-Paket noch das Pandoc-Hilfsmakro real bereitstellte (Sandbox-Pandoc 2.9 emittiert die simplere ll-Spaltenform und hat den Fehler nicht reproduziert).
templates/template.tex Tabellen-Block ergaenzt um usepackage array, usepackage calc und providecommand real.
Sandbox-Verifikation: synthetischer Pandoc-3.x-Spalten-Output kompiliert mit dem erweiterten Template via LuaLaTeX zu PDF, nur eine harmlose longtable-Rerun-Warnung.
DOCX nach Tabellen-Revision von Thomas visuell bestaetigt (Tabelle sieht gut aus, nur Default-Word-Tabellenrahmenlinien noch da, Rahmen-Aus in Iteration B).
teilgebiete/01-lebenslauf.md und agent-prompt.md um Hotfix-Eintrag und DOCX-Bestaetigung ergaenzt.
Tooling-Fix: checkpoint.ps1 robust gegen problematische Eingabedaten gemacht.
Commit-Message wird jetzt via Temp-Datei und git commit -F uebergeben statt via -m mit String, damit doppelte Anfuehrungszeichen im Summary nicht mehr das Argument zerlegen (Ursache des fehlgeschlagenen Hotfix-Commits zuvor).
Pipe-Zeichen im Summary werden vorab abgelehnt, da sie mit dem Changelog-Format Timestamp Pipe Session Pipe Summary kollidieren.
Whitespace und Zeilenumbrueche im Summary werden zu einem einzelnen Leerzeichen normalisiert.
Pre-flight-Checks ergaenzt: Existenz von .git, verwaiste .git/index.lock mit klarer Anleitung melden, changelog.md muss vor dem Lauf clean sein.
Atomarer Rollback bei Fehler im Hauptablauf: changelog.md wird auf Original-Stand zurueckgeschrieben und Index-Stagung von changelog.md per git restore --staged oder git reset HEAD zurueckgesetzt, sodass der naechste Lauf nicht doppelt anhaengt.
Cleanup-Robustheit: Temp-Message-Datei wird in finally geloescht, das Loeschen der Pending-Datei ist nicht mehr fatal sondern nur eine Warnung.