|
|
|
|
@@ -85,28 +85,26 @@ Setze zwischen sinnvollen Zwischenständen Checkpoints (z.B. nach "Marketing.md
|
|
|
|
|
|
|
|
|
|
## Aktueller Stand / Nächste Aufgabe
|
|
|
|
|
|
|
|
|
|
**Letzte Session:** S06 (2026-04-25)
|
|
|
|
|
**Letzte Session:** S07 (2026-04-26)
|
|
|
|
|
|
|
|
|
|
**Was wurde gemacht:**
|
|
|
|
|
- **Iteration A für Teilgebiet 01 — Ausbildung als 2-Spalten-Layout, Tabellen-Variante.** Erster Versuch mit Pandoc-Definition-List ergab im PDF das gewünschte 2-Spalten-Layout, im DOCX aber nicht (Pandoc rendert Definition-Lists als zwei separate Absatzstile, Word kann zwei Absätze nicht in eine Zeile zwingen). Auf Wunsch von Thomas auf Pandoc-Multiline-Tabelle ohne Header umgestellt — Strich-Verhältnis 10:70 ergibt Spaltenbreiten ca. 14 % / 80 %. `templates/template.tex` um Tabellen-Setup erweitert: `array`, `calc`, `booktabs`, `longtable` geladen, `\providecommand{\real}[1]{#1}` (Pandoc-Hilfsmakro) ergänzt, alle booktabs-Linienbreiten und Rule-Separationen auf 0 pt, `\LTpre`/`\LTpost` auf 0.4 em.
|
|
|
|
|
- **Hotfix für PDF-Build-Fehler.** Erster Build auf Thomas' System schlug mit `! LaTeX Error: No counter 'none' defined.` in der Tabellen-Spaltenangabe fehl. Ursache: Pandoc 3.x emittiert calc-basierte Spaltenbreiten der Form `p{(\columnwidth - 2\tabcolsep) * \real{0.8554}}`, die `calc` und `\real` voraussetzen. Sandbox-Pandoc 2.9 emittiert die simplere `ll`-Spaltenform und hat den Fehler nicht reproduziert (wichtige Lehre: Sandbox-Verifikation deckt Pandoc-Versionsunterschiede nicht ab). Hotfix mit synthetischem Pandoc-3.x-Spalten-Format in der Sandbox kompiliert.
|
|
|
|
|
- **DOCX nach Tabellen-Revision visuell bestätigt:** Tabelle sieht gut aus; nur die Default-Word-Tabellenrahmenlinien sind noch da (Rahmen-Aus erfolgt in Iteration B über `reference.docx`).
|
|
|
|
|
- **PDF-Build mit Hotfix steht aus** — Thomas hat nach dem Hotfix-Commit nicht erneut gebaut. Erste Aufgabe der nächsten Session: `build/build.ps1` laufen lassen, Hotfix verifizieren.
|
|
|
|
|
- **Tooling-Fix: `checkpoint.ps1` robust gemacht.** Im Verlauf der Session ist ein Hotfix-Commit am PowerShell-Argument-Quoting gescheitert, weil die Commit-Message via `git commit -m $commitMsg` mit doppelten Anführungszeichen im Summary von PS5.1 zerlegt wurde. Behoben durch Übergabe der Commit-Message über eine Temp-Datei mit `git commit -F`. Zusätzlich: Pipe-Zeichen im Summary werden vorab abgelehnt (kollidieren sonst mit Changelog-Format), Whitespace wird normalisiert, Pre-flight-Checks für `index.lock` und Cleanliness von `changelog.md`, atomarer Rollback bei Fehler im Hauptablauf (changelog-Anhang und Index-Stagung werden zurückgerollt), Cleanup-Robustheit in `finally`-Block.
|
|
|
|
|
- **PDF-Build-Fehler endgültig behoben.** Der S06-Hotfix (array, calc, providecommand real) hat das Problem nicht beseitigt — nach Rebuild auf Thomas' System kam unverändert `! LaTeX Error: No counter 'none' defined.` Eigentliche Ursache: Pandoc 3.x emittiert für unnummerierte Tabellen direkt vor `\begin{longtable}` die Zeile `\def\LTcaptype{none}`, ohne den Counter `none` zu definieren. Sobald longtable intern `\refstepcounter{\LTcaptype}` aufruft, bricht LaTeX ab. Pandocs eigene Default-Vorlage definiert den Counter (commit d835461 in 3.8.2.1), Custom-Templates müssen das selbst tun. Siehe [Pandoc-Issue #11201](https://github.com/jgm/pandoc/issues/11201). Fix: eine Zeile `\newcounter{none}` direkt nach `\providecommand{\real}` im Tabellen-Block des Templates. In der Sandbox sauber reproduziert (gleicher Fehlertext ohne Fix, sauberes PDF mit Fix). Auf Thomas' System: PDF wird erzeugt, Ausbildungs-Layout im PDF visuell bestätigt.
|
|
|
|
|
- **Iteration A für Teilgebiet 01 damit inhaltlich abgeschlossen** (Tabellen-Variante mit zwei Spalten ca. 14 % / 80 %, rahmenlos im PDF, native Word-Tabelle im DOCX — Rahmen-Aus folgt in Iteration B).
|
|
|
|
|
- **Build-UX-Fix:** `build/build.ps1` ergänzt um `Start-Sleep -Seconds 3` nach jedem fehlschlagenden Build-Schritt (Pflichtdatei-Check, PDF-Build, DOCX-Build). Vorher schloss sich das PowerShell-Fenster bei Doppelklick auf das Skript so schnell, dass die rote Fehlerzeile nicht lesbar war. Bei mehreren Fehlern in einem Lauf akkumulieren sich die Pausen — gewollt.
|
|
|
|
|
|
|
|
|
|
**Nächste Aufgabe:** Teilgebiet 01 — drei verbleibende Iterationen in dieser Reihenfolge:
|
|
|
|
|
1. **Verifikation Iteration A**: `build/build.ps1` einmal laufen lassen, prüfen dass PDF jetzt erzeugt wird und das Ausbildungs-Layout dem PDF-Wunsch entspricht (linke Spalte Datum normal, rechte Spalte Titel fett).
|
|
|
|
|
2. **B) `templates/reference.docx` in Word polieren** — Header/Footer setzen, Schriften auf Calibri vereinheitlichen, Listen-Schutz „Keep with next" und Widow-Control via Word-Stile, Tabellen-Stile so konfigurieren, dass die Ausbildungs-Tabelle ohne Rahmen rendert (Default-Tabellenstil oder benannter Stil).
|
|
|
|
|
3. **C) Foto-Einbindung** in cv.md mit Pandoc-Image-Syntax und Template-Anpassung für Position/Größe (z.B. oben rechts neben Name, ca. 3 cm).
|
|
|
|
|
4. **D) Hyphenation-Feintuning für PDF** — kurze Wortteile am Zeilenanfang mit höherer Penalty oder gezielten `\hyphenation`-Ausnahmen reduzieren. Iterativ.
|
|
|
|
|
1. **B) `templates/reference.docx` in Word polieren** — Header/Footer setzen, Schriften auf Calibri vereinheitlichen, Listen-Schutz „Keep with next" und Widow-Control via Word-Stile, Tabellen-Stile so konfigurieren, dass die Ausbildungs-Tabelle ohne Rahmen rendert (Default-Tabellenstil oder benannter Stil).
|
|
|
|
|
2. **C) Foto-Einbindung** in cv.md mit Pandoc-Image-Syntax und Template-Anpassung für Position/Größe (z.B. oben rechts neben Name, ca. 3 cm).
|
|
|
|
|
3. **D) Hyphenation-Feintuning für PDF** — kurze Wortteile am Zeilenanfang mit höherer Penalty oder gezielten `\hyphenation`-Ausnahmen reduzieren. Iterativ.
|
|
|
|
|
|
|
|
|
|
Nach D): Status von Teilgebiet 01 in `zentral-index.md` auf „abgeschlossen" setzen (R2-OK von Thomas). Anschließend nächstes Teilgebiet nach Priorität (laut Index Teilgebiet 02 „Zeugnis von ASMPT").
|
|
|
|
|
|
|
|
|
|
**Offene Punkte (unverändert seit S04):** Zuschnitt und Festpreise der KI-Produkte (marketing.md Abschnitt 2), KMU-Direkthonorarsatz festlegen (marketing.md Abschnitt 2), Vergütungsmodell-Wahl bei erstem konkreten Fall (Notiz in marketing.md Abschnitt 2).
|
|
|
|
|
|
|
|
|
|
**Hinweise für die nächste Session:**
|
|
|
|
|
- **Sandbox-Reads über den NTFS-Mount können stale/inkonsistent sein.** In S06 zeigte mir die Sandbox mehrfach Dateiinhalte, die im echten Repo nicht existierten (vermeintliche Truncation auf Working-Tree-Dateien, vermeintliche Index-Korruption). Thomas' PowerShell-Outputs waren immer die Wahrheitsquelle. Wenn Sandbox-Reads Schäden zeigen, die unplausibel sind, **nicht panisch reagieren** — erst Thomas via PowerShell verifizieren lassen, bevor Reparaturmaßnahmen ergriffen werden.
|
|
|
|
|
- **Sandbox-Schreibvorgänge sind aber zuverlässig** (nach Thomas' Bestätigung mehrerer Schreibziele in S06). Sowohl Write-Tool als auch `mcp__workspace__bash` mit Heredoc funktionieren. Bei längeren Skript-Dateien (>100 Zeilen) bleibt Heredoc trotzdem die robustere Wahl.
|
|
|
|
|
- **Sandbox-Pandoc ist 2.9.x, Thomas' System läuft Pandoc 3.x.** Output-Unterschiede zwischen den Versionen können Build-Probleme verursachen. Sandbox-Pandoc emittiert weder die calc-basierten Spaltenbreiten (`p{... * \real{...}}`) noch `\def\LTcaptype{none}` — beides Pandoc-3.x-Eigenheiten. Sandbox-Verifikation des kompletten Pipeline-Laufs mit `pandoc cv.md → PDF` deckt diese Bugs nicht ab. Bei Fehlern, die nur auf Thomas' System auftreten, **synthetisch das Pandoc-3.x-Output-Fragment in einer Mini-Tex-Datei nachbauen** und damit gegen das Template kompilieren.
|
|
|
|
|
- **Sandbox-Reads über den NTFS-Mount können stale/inkonsistent sein.** Wenn Sandbox-Reads Schäden zeigen, die unplausibel sind, **nicht panisch reagieren** — erst Thomas via PowerShell verifizieren lassen, bevor Reparaturmaßnahmen ergriffen werden.
|
|
|
|
|
- **Sandbox-Schreibvorgänge sind zuverlässig** (Write-Tool und Heredoc via Bash). Bei längeren Skript-Dateien (>100 Zeilen) bleibt Heredoc trotzdem die robustere Wahl.
|
|
|
|
|
- **Sandbox kann nichts an `.git/` schreiben** (NTFS-Permission-Issue): Lock-Files, korrupte Index — alles muss von PowerShell aus repariert werden.
|
|
|
|
|
- **Sandbox-Pandoc ist 2.9.x, Thomas' System läuft Pandoc 3.x.** Output-Unterschiede zwischen den Versionen können Build-Probleme verursachen (siehe Hotfix für `\real` und `calc`). Im Zweifel synthetisch den 3.x-Output nachbauen und gegen Template testen.
|
|
|
|
|
- **`checkpoint.ps1` ist jetzt robust** gegen Anführungszeichen, Pipes, Whitespace-Anomalien und Index-Lock-Reste. `.checkpoint-pending.txt` darf wieder ganz normal Sonderzeichen enthalten.
|
|
|
|
|
- **`checkpoint.ps1` ist robust** gegen Anführungszeichen, Pipes, Whitespace-Anomalien und Index-Lock-Reste. `.checkpoint-pending.txt` darf ganz normal Sonderzeichen enthalten.
|
|
|
|
|
- **`build.ps1` pausiert bei Fehler 3 Sekunden pro fehlgeschlagenem Schritt.** Nicht überrascht sein, wenn ein fehlerhafter Lauf entsprechend länger braucht.
|
|
|
|
|
|