# Changelog

Chronologisches Log aller Entscheidungen und Prozessereignisse.

## Regeln (verbindlich)

- **Append-only:** Neue Einträge werden ausschließlich am Ende dieser Datei angefügt.
- **Keine Änderungen an bestehenden Einträgen:** Einmal geschriebene Einträge werden niemals verändert oder gelöscht. Korrekturen erfolgen durch einen neuen Eintrag, der die Korrektur dokumentiert.
- **Format jeder Zeile:**
  ```
  YYYY-MM-DD HH:MM | S<NN> | <kompakte Zusammenfassung>
  ```
- **Session-Nummer** wird pro Chat-Session vergeben (S01, S02, …) und aus dem letzten Eintrag abgeleitet.
- **Anhängen erfolgt ausschließlich** über den Checkpoint-Workflow (`checkpoint.cmd` + `checkpoint.ps1`). Der KI-Agent editiert diese Datei nicht direkt. Details: siehe `agent-prompt.md`.

## Einträge

2026-04-13 20:53 | S01 | Prozessumgebung erstellt: agent-prompt.md, zentral-index.md, marketing.md, changelog.md, Ordner teilgebiete/ und artefakte/. Prozessregeln definiert (append-only Changelog, Status-/Prioritäts-/Abhängigkeitsänderungen nur mit explizitem OK). Nächster Schritt: interaktives Befüllen von marketing.md und Definition der Teilgebiete.
2026-04-14 09:18 | S01 | Checkpoint-Tooling eingeführt: checkpoint.cmd + checkpoint.ps1; Regel R7 ergänzt; agent-prompt.md auf Checkpoint-Workflow umgestellt ✅
2026-04-14 16:39 | S02 | marketing.md Abschnitt 1 (Unternehmen) befuellt: Name DesTEngS Dr.-Ing. Thomas Langer, freiberufliche Unternehmensberatung mit Schwerpunkt generative KI und Elektronik-Entwicklung, gegruendet 2011, AI-Consultant-TUEV-Zertifikat Oktober 2025, Einzelunternehmer in Unterhaching/Grossraum Muenchen, deutschlandweit remote, Websites und Freelancer-Profile dokumentiert.
2026-04-14 22:23 | S02 | marketing.md Abschnitt 2 (Angebot) befuellt: Kernleistungen KI (Potenzialanalyse-Workshops, Schulungen, Implementierungen) und Elektronik (Konzept/Requirements, SW-Design, Systemintegration), strategischer Fokus auf KI, USP-Kombination aus KI-Wissen plus 30+ Jahren Ingenieurserfahrung plus eigenen Bueroraeumen, Preispositionierung leicht oberhalb Mittelfeld mit drei Verguetungsmodellen (nutzenbasiert praeferiert, Stundensatz 105 EUR Standard/90 EUR Untergrenze, Festpreisprodukte geplant), Mindest-Effektivstundensatz 80 EUR. Offen: Prozentsaetze nutzenbasierte Verguetung und Produktzuschnitt/Preise.
2026-04-15 12:12 | S02 | marketing.md Abschnitt 3 (Zielgruppen) befuellt: Primaere Zielgruppe KMU 10-249 MA mit Direktbeauftragung (Ansprechpartner GF/FuE/Fachabteilung/Digitalisierung), sekundaere Zielgruppe Consulting-Agenturen als Sub-Contractor-Kanal zu Konzern-Endkunden. Keine Branchenbeschraenkung. Typische Kundenprobleme rund um KI-Orientierung, Nutzenlosigkeit bestehender Tools, Schulung, fehlende Datengrundlage und Umsetzungsbedarf dokumentiert. Entscheidungsprozesse fuer beide Kanaele inkl. typischer Zykluszeiten (Agentur ca. 3 Wochen, KMU wenige Tage bis 2 Monate) festgehalten.
2026-04-16 09:45 | S02 | marketing.md Abschnitt 4 (Positionierung) komplett befuellt: Gewuenschte Wahrnehmung (vertrauenswuerdig, kompetent, nutzenfokussiert, umsetzungsfaehig, erfahren), Wettbewerber (IT-Dienstleister als Hauptabgrenzungsgegner, andere KI-/IT-Berater), Differenzierung (30+ Jahre Ingenieurserfahrung plus Nutzenfokus, Differenzierungssatz formuliert), Elevator Pitch in Lang- und Kurzform finalisiert (48s bzw. 22s, fuer KMU-Gespraeche, ohne direkten Wettbewerbervergleich).
2026-04-16 11:02 | S02 | marketing.md Abschnitt 5 (Tonalitaet und Markenstimme) befuellt: Formal-serioes und emotional-begeisternd, Sie-Form, hohe sprachliche Qualitaet, alle Materialien zweisprachig DE/EN. Dos und Don'ts definiert (keine Floskeln, Uebertreibungen, Negationen, Gendern, Emojis, Humor; verbotene KI-Fehlgriff-Woerter gelistet). Perspektive-Richtlinie erarbeitet: Ich-Form als Standard, Wir-Form nur wo sachlich korrekt, DesTEngS als neutrale dritte Option.
2026-04-16 12:34 | S02 | marketing.md Abschnitt 6 (Aktueller Marketing-Status) befuellt: Bisherige Aktivitaeten dokumentiert (nur Lebenslauf-Versand an Agenturen hat funktioniert), vorhandene Materialien erfasst (CI, Logo, Wort-/Bildmarke, Websites DE/EN, Visitenkarten, Portraitfotos, One-Pager, Word- und PPT-Vorlagen), Kanalperformance bewertet (Freelancer-Profile veraltet, LinkedIn einzig aktiver Kanal nur zur Darstellung, Xing abnehmend, Malt/Uplink ungeeignet, kein Website-Analytics), Budget noch offen, KI-gestuetzte Lead-Generierung plus externe Kaltakquise als Ansatz fuer primaere Zielgruppe angedacht.
2026-04-16 14:09 | S02 | marketing.md Abschnitt 7 (Ziele) befuellt: Kurzfristig (3 Monate) Lebenslauf und LinkedIn optimieren, drei Freelancer-Profile aktualisieren, Websites professionalisieren, erste 100 KMU-Leads generieren, CRM-Tool fuer Kaltakquise bereit. Mittelfristig (6-12 Monate) 300+ Leads, Festpreisprodukte definiert, Flyer an 100 Leads, Kaltakquise fuer 100 Leads durchgefuehrt. Langfristig (3-5 Jahre) anerkannter KI-Berater im Muenchner Mittelstand, nutzenbasierte Verguetung etabliert, mindestens eine Angestellte, Vollauslastung, KI-Telefonassistentin. KPIs definiert: passende Anfragen nach Kanal, Lead-Anzahl, kontaktierte Leads, Conversion-Rate, Umsatz-Anteile nach Geschaeftsmodell.
2026-04-16 20:40 | S02 | marketing.md Abschnitt 8 (Rahmenbedingungen) befuellt: Zeitbudget 35h/Woche ohne Auftrag bzw. 6h/Woche bei Vollauslastung, Tool-Landschaft dokumentiert (Thunderbird, WordPress, MS Office lokal, GIMP, Inkscape, Claude Cowork/Code, Manus, Fireflies, Miro, Google Workspace, VSCodium/Cline; geplant SuiteCRM und O365/Teams), rechtliche Einschraenkungen der Bayika-Berufsordnung erfasst (sachliche Werbung, keine Kaltmail ohne Einwilligung, keine anpreisenden Slogans, TMG-Impressumspflicht). Stand-Vermerk aktualisiert: alle 8 Abschnitte von marketing.md inhaltlich befuellt. Naechster Schritt: Kritische Analyse der Marketing-Inhalte vor Teilgebiet-Definition.
2026-04-17 16:44 | S02 | Kritische Analyse der marketing.md durchgefuehrt und erste Korrekturen eingearbeitet. KI-Glaubwuerdigkeit: Thomas hat bereits drei KI-Workshops durchgefuehrt und weitere KI-Erfolge, Teilgebiet KI-Glaubwuerdigkeitsaufbau als Notiz vermerkt. Content-Marketing fuer Social-Media-Reichweite bewusst verworfen (KMU-GF nicht in KI-Communities, KI-generierte Posts verlieren Glaubwuerdigkeit, zu viel Konkurrenz). Stattdessen hochwertige Vertrauensmaterialien fuer Vertriebsprozess (Whitepaper, Fallstudien). Zielgruppen-Eingrenzung ergaenzt: geografisch Grossraum Muenchen plus Bedarf an massgeschneiderten KI-Loesungen (Fine-Tuning, anspruchsvolles RAG, On-Premise-KI, Workflow-Integration). Zweistufige Akquise-Strategie in Abschnitt 6 ergaenzt: Stufe 1 Lead-Identifikation (Firmendatenbanken, IHK, LinkedIn Sales Navigator etc.), Stufe 2 Lead-Qualifizierung (externe Kaltakquise mit niedrigschwelligem Terminangebot, lokale Wirtschaftsveranstaltungen, postalisches Mailing). Rechtlicher Hinweis zu UWG §7 ergaenzt.
2026-04-17 21:44 | S02 | Session-Abschluss. Kritische Analyse abgeschlossen: USP geschaerft (generisches Nutzenfokus-USP entfernt, Kombination Ingenieurserfahrung+KI als Kern-USP), Preispositionierung differenziert (Agentursatz 105 EUR vs. KMU-Direktsatz hoeher noch festzulegen), nutzenbasierte Verguetung als Notiz vermerkt (Konkretisierung erst bei konkretem Fall), Flyer durch hochwertigen One-Pager ersetzt, Akquise-Strategie auf Mehrkanalsequenz angepasst (One-Pager per Post dann Telefonanruf dann Ersttermin), zwei Websites beibehalten. agent-prompt.md Aktueller-Stand-Abschnitt fuer naechste Session aktualisiert. Naechste Session: Teilgebiete definieren und in zentral-index.md eintragen.
2026-04-20 11:26 | S03 | 24 Teilgebiete gemeinsam definiert und in zentral-index.md eingetragen (01 Lebenslauf bis 24 Angebotsvorlagen). Prioritaeten (01-02 mittel, 03-07 niedrig, 08-24 sehr niedrig) und Abhaengigkeiten vollstaendig modelliert. agent-prompt.md aktualisiert: naechste Session startet mit Nr. 01 Lebenslauf-Optimierung.
2026-04-23 18:09 | S04 | Teilgebiet 01 Lebenslauf-Optimierung inhaltlich abgeschlossen. CV-Entwurf V9 freigegeben nach 9 Iterationen: Zusammenfassung KI-fokussiert, Kenntnisse erweitert (KI-Strategie, Prompt Engineering, Agentic AI, GenAI, NLP, Edge AI, Methodik, Python KI-Module), Suchbegriff-Optimierung fuer Agentur-Matching, HF-Inhalte komprimiert. teilgebiete/01-lebenslauf.md mit Entscheidungsdokumentation und Artefakt-Historie aktualisiert. agent-prompt.md aktualisiert: naechste Aufgabe ist Erstellung des finalen Word/PDF-Dokuments.
2026-04-24 06:31 | S04 | Teilgebiet 01 Lebenslauf: Word-/PDF-Dokument erstellt. CV-Entwurf V10 (korrigierte LinkedIn/Freelance.de-Links, LLM-Evaluierung integriert, Berufsabschnitte aufgeteilt in freiberuflich/angestellt). Modern-professionelles Layout mit DesTEngS-Blau, Portraitfoto eingebettet, klickbare Links. Generierungsskript create-cv.js fuer Neugenerierung vorhanden. agent-prompt.md und teilgebiete/01-lebenslauf.md aktualisiert. Naechste Aufgabe: Optimierung der aeusseren Form (Layout-Feinheiten).
2026-04-24 14:20 | S05 | Teilgebiet 25 DesTEngS-Typographie-Refresh neu angelegt (Priorität niedrig, keine Abhängigkeiten) mit Begründung der Schriftentscheidung zu IBM Plex Sans als neue Dokumenten-Hausschrift; DesTEngS-Logo bleibt unverändert. Status von Teilgebiet 01 Lebenslauf-Optimierung im Index auf in Bearbeitung gesetzt. Artefakt-Ordner artefakte/25-typographie-refresh/ angelegt.
2026-04-24 21:46 | S05 | Teilgebiet 01 CV-Pipeline auf Pandoc/LuaLaTeX umgestellt: Ordner artefakte/01-lebenslauf neu gegliedert in source, templates, build, output, entwuerfe und archiv. Draft-Marker aus cv.md entfernt, Foto umbenannt ohne Sonderzeichen. Erste Template-Version template.tex geschrieben mit IBM Plex Sans, microtype, deutscher Sprachumgebung, Kopfzeile ab Seite 2, strikter Widow/Orphan-Kontrolle. Pandoc-Default reference.docx als Ausgangsbasis erzeugt. PowerShell-Build-Skript build.ps1 fertig mit Log und Exit-Code-Handling. DOCX-Build in Sandbox erfolgreich verifiziert, PDF-Build ist auf Thomas' MiKTeX-System zu testen. teilgebiete/01-lebenslauf.md um Wendepunkt, Entscheidungen, nächste Schritte und neue Artefakt-Liste aktualisiert.
2026-04-25 11:11 | S05 | build.ps1 erweitert um sichtbaren Fortschritt im PowerShell-Fenster (farbige Statuszeilen für Build-Phasen, Pandoc-Detail-Output bleibt nur im Log). Notes-Block aktualisiert (System-Fonts statt plex-otf-Paket). Teilgebiet 25 ergänzt um Doku der system-weiten Installation IBM Plex Sans v1.1.0, IBM Plex Mono v1.1.0 und IBM Plex Serif v1.1.0 (Release 2024-11-13, OTF, alle Benutzer) mit Quelle und Anlass; Offene-Punkte-Abschnitt entsprechend nachgezogen. Erster vollständiger Build des CV (PDF und DOCX) auf Thomas' MiKTeX-System lief erfolgreich durch.
2026-04-25 12:05 | S05 | build.ps1 repariert: Die zuvor eingebaute Write-Both-Hilfsfunktion und em-Dashes in Code-Strings hatten zu einem stillen Frueh-Abbruch unter Windows PowerShell 5.1 gefuehrt. Neue Version verwendet stattdessen direkte Write-Host/Write-Log-Paare an den Fortschrittsstellen, ASCII-only in Code-Strings, strukturell nah an der initial funktionierenden Version. Konsolenausgabe mit farbigen Statuszeilen pro Build-Phase ist jetzt sichtbar, Pandoc-Detail-Output bleibt im Log.
2026-04-25 12:25 | S05 | Erste Inspektions-Iteration. cv.md bereinigt: Bullets von Unicode auf Markdown-Listenmarker umgestellt (108 Level-1 und 72 Level-2 Items), Leerzeile vor Listen direkt nach Bold-Header-Zeilen eingefuegt (Kenntnisse-Sektion), Null-Bytes und Trailing-Whitespace am Dateiende entfernt. template.tex erweitert um setcounter secnumdepth 0, damit keine 1.2.3-Nummern mehr erscheinen. Verifikation in der Sandbox: Pandoc-LaTeX-Output enthaelt 50 itemize-Bloecke und sauber strukturierte Section-Hierarchie ohne Nummerierung; Pandoc-DOCX enthaelt 180 Numbering-Marker (Listen werden als Listen gerendert).
2026-04-25 13:26 | S05 | Zweite Iteration auf Inspektions-Befunde. cv.md: 25 Vorkommen Zahl-plus-Einheit (Hz/kHz/KHz/MHz/GHz/THz) per geschuetztem Leerzeichen U+00A0 vor Zerreissen geschuetzt; Trainings-Sektion von Fliesstext auf Bullet-Liste umgestellt. template.tex: parindent=0 mit parskip-Vertikalabstand statt Erstzeilen-Einrueckung (behebt Ausbildungs-Inkonsistenz), Level-2-Bullet von textopenbullet (in Plex Sans nicht enthalten, Rechtecke) auf textendash umgestellt, linkcolor auf schwarz fuer interne Links (LastPage-Seitennummer nicht mehr blau, URLs bleiben blau), Hyphenation-Penalty erhoeht (kuerzere Worte am Zeilenanfang seltener), Section-Hierarchie korrigiert (H2 jetzt groesser als H3, beide mit destengsblau und Trennlinie), Schusterjungen-Schutz per needspace+nopagebreak vor und nach jedem Stations-Titel (verhindert dass Stations-Anfang am Seitenende landet). Sandbox-Verifikation: 51 LaTeX-itemize-Bloecke, 558 DOCX-Numbering-Marker, alle Template-Eingriffe im Output sichtbar. Hinweis: Write-Tool hatte das Template beim ersten Versuch verstuemmelt; Heredoc-Workaround per bash hat geklappt.
2026-04-25 14:06 | S05 | Session-Abschluss S05. Aktueller Stand und naechste Aufgaben in agent-prompt.md aktualisiert: Teilgebiet 01 CV-Pipeline steht (Pandoc/LuaLaTeX, IBM Plex Sans, Markdown-Quelle, build.ps1 mit sichtbarem Fortschritt), zahlreiche typographische Maengel behoben (Listen-Rendering, Section-Nummerierung, Bullet-Symbole, geschuetzte Leerzeichen, Trainings-Liste, Ausbildungs-Einrueckung, Schusterjungen-Schutz, Hyperlink-Farben). Vier konkrete naechste Iterationen vorgemerkt: A Ausbildung 2-Spalten-Layout, B reference.docx in Word polieren, C Foto-Einbindung, D Hyphenation-Feintuning. Hinweis zum Write-Tool-Truncation-Issue mit Workaround dokumentiert. Teilgebiet 25 enthaelt vollstaendige Doku der Plex-Font-Installation v1.1.0.
2026-04-25 14:28 | S06 | Teilgebiet 01 Iteration A abgeschlossen: Ausbildung als 2-Spalten-Layout via Pandoc-Definition-List umgesetzt. source/cv.md Ausbildungs-Abschnitt auf Term/Definition-Syntax umgestellt (Datum als Term, Inhalt als Definition). templates/template.tex um enumitem-Konfiguration der description-Liste erweitert (style=multiline, labelwidth=5.5em, leftmargin=6.5em, font=\normalfont). Sandbox-Verifikation: Pandoc-LaTeX rendert sauberes \begin{description} mit vier Eintraegen, Pandoc-DOCX nutzt die Standardstile DefinitionTerm und Definition (in Iteration B in Word zu stylen). Hinweis: Pandoc setzt \tightlist innerhalb der Description-Liste und ueberschreibt damit zur Laufzeit das itemsep auf 0 — fuer vier kurze Eintraege visuell vertretbar. teilgebiete/01-lebenslauf.md um Iteration-A-Block ergaenzt und Naechste-Schritte-Liste auf B/C/D reduziert. agent-prompt.md Aktueller-Stand-Abschnitt auf S06 fortgeschrieben.
2026-04-25 20:58 | S06 | Iteration A revidiert: Ausbildungs-Layout von Definition-List auf Pandoc-Multiline-Tabelle umgestellt, weil Definition-List im DOCX kein echtes 2-Spalten-Layout liefert (Word kann Term und Definition als zwei Absatzstile nicht in eine Zeile zwingen). source/cv.md Ausbildungs-Abschnitt nutzt jetzt headerless Multiline-Tabelle mit Strich-Verhaeltnis 10:70 (Pandoc berechnet Spaltenbreiten von ca. 14 Prozent und 80 Prozent der Textbreite). templates/template.tex Description-List-Block wieder entfernt; neuer Tabellen-Block mit booktabs und longtable, Linienbreiten und Rule-Separations auf 0pt, LTpre/LTpost auf 0.4em. Sandbox-Verifikation: Pandoc-LaTeX rendert longtable mit Minipage-Auto-Wrap und vier Datenzeilen, Pandoc-DOCX rendert eine native Word-Tabelle mit vier Zeilen und acht Zellen, keine Reste der Definition-List-Stile. teilgebiete/01-lebenslauf.md Iteration-A-Block umgeschrieben mit Begruendung der Revision und Beschreibung des neuen Setups. agent-prompt.md Aktueller-Stand-Abschnitt auf die Tabellen-Variante fortgeschrieben.
2026-04-25 22:15 | 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.
2026-04-25 22:35 | 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.
2026-04-25 22:43 | S06 | Session-Abschluss S06. Teilgebiet 01 Iteration A inhaltlich umgesetzt: Ausbildung als 2-Spalten-Layout via Pandoc-Multiline-Tabelle ohne Header, Template um array, calc, booktabs, longtable und providecommand real ergänzt, alle Linienbreiten auf 0pt. DOCX-Layout von Thomas visuell bestätigt (nur Default-Tabellenrahmen offen, Rahmen-Aus in Iteration B). PDF-Build mit Hotfix steht noch aus — erste Aufgabe der nächsten Session ist build.ps1 laufen lassen und das Ausbildungs-Layout im PDF prüfen. Tooling-Fix in checkpoint.ps1 abgeschlossen (Quoting-Bug, Pipe-Validierung, Whitespace-Normalisierung, Pre-flight-Checks, atomarer Rollback bei Fehler). agent-prompt.md Aktueller-Stand-Abschnitt für S07 fortgeschrieben mit verbleibender Iterationsreihenfolge B-C-D, neuen Lehren aus S06 dokumentiert (Sandbox-Reads über NTFS-Mount können stale sein, Sandbox-Pandoc 2.9 vs Thomas' Pandoc 3.x Output-Unterschiede).
2026-04-26 10:58 | S07 | PDF-Build-Fehler endgueltig behoben. S06-Hotfix (array, calc, providecommand real) loeste das Problem nicht; nach Rebuild kam unveraendert "! LaTeX Error: No counter 'none' defined." Eigentliche Ursache: Pandoc 3.x emittiert fuer unnummerierte Tabellen direkt vor begin{longtable} die Zeile def LTcaptype none, ohne den Counter none zu definieren. Pandocs eigene Default-Vorlage definiert ihn (commit d835461 in Pandoc 3.8.2.1), Custom-Templates muessen das selbst tun (siehe Pandoc-Issue 11201). Fix: eine Zeile newcounter none direkt nach providecommand real im Tabellen-Block des Templates. Sandbox-Reproduktion exakter Fehlertext ohne Fix, sauberes PDF mit Fix. Auf Thomas' System: PDF wird erzeugt, Ausbildungs-Layout im PDF visuell bestaetigt. Iteration A fuer Teilgebiet 01 damit inhaltlich abgeschlossen. Build-UX-Fix: build.ps1 ergaenzt um Start-Sleep -Seconds 3 nach jedem fehlschlagenden Build-Schritt (Pflichtdatei-Check, PDF-Build, DOCX-Build), damit die rote Fehlerzeile lesbar bleibt bevor das PowerShell-Fenster zugeht. teilgebiete/01-lebenslauf.md um beide Fixes ergaenzt (zweistufige Hotfix-Geschichte, PDF-Bestaetigung, UX-Fix). agent-prompt.md Aktueller-Stand-Abschnitt fuer S08 fortgeschrieben mit verbleibender Iterationsreihenfolge B-C-D, Hinweise auf Pandoc-Versionsunterschied praeziser formuliert.
2026-04-26 13:29 | S07 | Teilgebiet 01 Iteration B (Iterationen B1, B1.5, B2) durchgezogen. Neue Datei build/build-reference-docx.py baut templates/reference.docx programmatisch aus Pandocs Default-Reference (Python-Stdlib only, kein pip; pandoc --print-default-data-file zur Laufzeit, ZIP entpacken, ElementTree-XML-Anpassungen, repacken). B1: Theme major+minor und alle direkten Schrift-Refs in styles.xml auf Calibri umgestellt (Code-Schriften wie Consolas bleiben), Tabellen-Default-Stil mit tblBorders=none auf allen Sides. B1.5: Body-DocDefault 11 pt, Heading 1/2/3 auf 15/13/12 pt analog PDF. B2: header1.xml (Default ab Seite 2 mit Name links und Lebenslauf rechts), header2.xml (leer fuer Seite 1 via titlePg), footer1.xml (rechts Seite n / m mit PAGE/NUMPAGES-Feldern, doppelt referenziert als default und first damit Seite 1 trotz titlePg den Footer hat). Page-Setup explizit in sectPr: A4 mit 2.2 cm oben/unten und 2.5 cm links/rechts analog PDF, Tab-Stop am rechten Textrand 9072 dxa. Beziehungen mit dynamisch naechster freier rId in document.xml.rels, Content-Types-Overrides in [Content_Types].xml, sectPr regex-ersetzt idempotent. Sandbox-End-to-End mit Pandoc 2.9 verifiziert (sectPr und Header/Footer im generierten DOCX vorhanden). Auf Thomas System: DOCX visuell bestaetigt. teilgebiete/01-lebenslauf.md um vollstaendigen Iteration-B-Block ergaenzt, Naechste-Schritte-Liste auf B3, B4, C, D umstrukturiert. agent-prompt.md Aktueller-Stand-Abschnitt fortgeschrieben mit Hinweisen zur reference-docx-Pipeline (manuell vor build.ps1 aufrufen, nicht von Hand in Word editieren) und zur Edit-Tool-Truncation auf dem NTFS-Mount. Build-UX-Fix in build.ps1 mit 3-Sekunden-Pause pro fehlgeschlagenem Schritt war ebenfalls Teil dieser Session.
2026-04-26 16:40 | S07 | Iteration B3 und B3.5 fuer Teilgebiet 01 abgeschlossen. B3 in build/build-reference-docx.py ergaenzt: DocDefault widowControl plus keepNext und keepLines auf Heading 1/2/3 und FirstParagraph (Pandoc-Stil fuer ersten Absatz nach einem Heading, deckt die fett formatierten Kenntnisse-Subsection-Labels KI Software-Design Methodik IT etc ab). Erster Versuch Compact-Stil mit keepNext hat Listen komplett unteilbar gemacht (Job-Stationen begannen jedes Mal auf einer neuen Seite, ungenutzte Seitenenden) und wurde verworfen. Auf Wunsch von Thomas auf 3-3-Regel umgestellt: bei Listen mit mindestens 6 Bullets duerfen Trennungen passieren, aber mindestens 3 Bullets bleiben jeweils zusammen vor und nach dem Umbruch. Bei kuerzeren Listen alles zusammen. Da das stilbasiert nicht abbildbar ist (alle Bullets haben pStyle Compact), neues Post-Processing-Skript build/post-process-docx.py: scannt das fertige DOCX, findet Sequenzen aufeinanderfolgender Bullets mit numPr-Eigenschaft ausserhalb von Tabellen-Zellen, setzt keepNext auf den ersten 2 und den N-3 N-2 Bullets jeder Liste mit n groesser gleich 6 (bei n kleiner 6 alle keepNext). build.ps1 erweitert auf 3 Schritte und ruft das Post-Processing-Skript automatisch nach erfolgreichem DOCX-Build auf, mit Console-Output und Log-Statistiken (Anzahl Listen Bullets keepNext-Markierungen). Sandbox-Verifikation 26 Listen 184 Bullets 93 keepNext, Pattern fuer 11-Bullet-Liste KK......KK.. Auf Thomas System visuell bestaetigt: Listen werden an guten Stellen getrennt, keine ungenutzten Seitenenden, keine einzelnen Bullets allein am Seitenrand. teilgebiete/01-lebenslauf.md um B3- und B3.5-Bloecke ergaenzt sowie Naechste-Schritte-Liste auf B4 C D umstrukturiert. agent-prompt.md Aktueller-Stand-Abschnitt fortgeschrieben mit B3 und B3.5, Hinweis auf 3-stufige DOCX-Pipeline und Edit-Tool-Truncation an build.ps1 ergaenzt. Naechste Session startet mit B4 (Heading-Farben oder Trennlinien analog PDF).
2026-04-26 20:35 | S08 | Teilgebiet 01 Iteration B4 fuer DOCX umgesetzt. Heading 1/2/3 in destengsblue (build/build-reference-docx.py Funktion set_heading_colors mit explizitem color val=0B5394, themeColor accent1 entfernt). Heading-Bottom-Borders direkt am Stil verworfen, weil Word die Border bei hanging-Indent linksbuendig statt zentriert rendert und der right-Indent sowohl Text als auch Border begrenzt. 21 Markdown-HRs aus cv.md entfernt - Quelle der wahrgenommenen Doppellinien war Pandocs DOCX-Konvertierung von --- Zeilen zu VML-rect mit o:hr=t (Embossed-Look). Tabellen-Strich-Zeilen blieben unangetastet. Zwischenfall: NTFS-Mount-Stale-Read der cv.md (20043 statt 20201 Bytes) haette fast die Live-Datei truncated, sofortige Wiederherstellung aus git show HEAD und HR-Removal erneut mit git-Version als Input. H2-Trennlinien via Post-Processing eingefuehrt (build/post-process-docx.py um Logik erweitert): nach jedem H2 wird ein leerer Trenn-Absatz mit linksbuendiger Bottom-Border eingefuegt, schwarz (000000), 8,6 cm Linienlaenge (right-Indent 4196 dxa), 1,25 pt Dicke (sz=10). Sandbox-Verifikation 7 H2 zu 7 Trenner. Visuelle Bestaetigung durch Thomas. teilgebiete/01-lebenslauf.md um Iteration-B4-Block ergaenzt (B4.1 Farben, B4.2 Heading-Border-Sackgasse, B4.3 HR-Removal inkl. Zwischenfall, B4.4 H2-Trennlinien) und Naechste-Schritte-Liste auf C/D verkuerzt.
2026-04-26 21:50 | S08 | Teilgebiet 01 Iterationen B5 (Trainings als Tabelle) und B6 (Bullet-Einzuege verkleinert) abgeschlossen. B5: Trainings-Bullet-Liste in cv.md durch Pandoc-Multiline-Tabelle ersetzt analog Ausbildung. B6: build/post-process-docx.py um dritte Modifikation erweitert die direkt die numbering.xml manipuliert weil Pandoc die Werte aus reference.docx ignoriert. Bullet-Einzuege auf E1 0,25/0,35 cm und E2 0,80/0,40 cm gesetzt. Word-Konvention dokumentiert: Einzug-links zeigt (left - hanging). teilgebiete/01-lebenslauf.md und agent-prompt.md fuer S09 fortgeschrieben.
2026-04-27 12:34 | S09 | Teilgebiet 01 Iteration Links umgesetzt: alle URLs in cv.md auf explizite Markdown-Links migriert, damit Pandoc echte w:hyperlink-Elemente in die DOCX emittiert (vorher Plain-Text-only, Word zeigte sie nicht als Links und kein Hover funktionierte; im PDF wurden sie ueber Words eigene URL-Erkennung beim PDF-Export trotzdem klickbar, was die Inkonsistenz erklaerte). E-Mail als Pandoc-Autolink-Form mit spitzen Klammern (mailto), Telefon als tel:-Link mit Display-Spaces und URL-ohne-Spaces gem RFC 3966, Web-Links als doppelte-Bracket-Markdown-Syntax mit sichtbaren aeusseren eckigen Klammern als einheitlicher Anzeigetext-Stil. Display-Texte: Link zum Profil fuer LinkedIn und Freelance.de, destengs.de fuer Website (bewusster Wechsel von .com auf .de stimmiger zur deutschen Primaersprache), Dissertation fuer Promotion, Link zum Zertifikat funktioniert nur im Browser fuer TUEV-Zertifikat. TUEV-Link-Problem in Word diagnostiziert: certif-id.com liegt hinter Cloudflare-Bot-Schutz und blockiert Words urlmon-Pre-Flight-Anfrage mit 403; Direkt-Klick aus Word schlaegt mit Die angeforderten Informationen koennen nicht heruntergeladen werden fehl trotz funktionierender URL im Browser. Optionen A (destengs.de-Redirect), B (LinkedIn-Safety-Redirect), C (kein Link) abgewogen und verworfen, Option D gewaehlt: direkter TUEV-Link beibehalten mit erklaerendem Display-Text der den Empfaenger ueber die Word-Einschraenkung informiert. Thomas hat zusaetzlich eine kuerzere TUEV-Direkt-URL besorgt (perscert-tuv.certif-id.com/expert/public/share/7MR0WDzG106JDCqV_RW7) statt der urspruenglichen 130-Zeichen-Hash-URL. Zwischenfall: zweite Edit-Tool-Truncation in dieser Session auf cv.md beim Edit der TUEV- und Promotion-Zeile, die Schluss-Zeile Dissertation fuenf Veroeffentlichungen ein Patent eine Erfindungsmeldung wurde mitten im Wort abgeschnitten. Reparatur identisch zum S08-Pattern: git HEAD-Version als Input, alle 7 Link-Replacements in einem Python-Script atomar via os.replace zurueckgeschrieben mit count==1-Check pro Replacement. Lehre fuer kommende Sessions: Edit-Tool fuer cv.md generell nicht mehr verwenden, Python-aus-git-Pattern bevorzugen. Build und visuelle Bestaetigung durch Thomas erfolgt fuer DOCX und PDF. teilgebiete/01-lebenslauf.md um Iteration-Links-Block ergaenzt.
2026-04-27 18:51 | S09 | Teilgebiet 01 Iteration C Foto-Einbindung umgesetzt. Header als 2-Spalten-Grid-Table in cv.md mit Strich-Verhaeltnis 112:60 (= 65,1%/34,9% Spaltenbreite, ca. 10,15/5,43 cm bei 16 cm Textbreite). Foto rechts oben, 4,06x4,06 cm, beide Dimensionen explizit im Markdown um Pandocs Default-Wrapper keepaspectratio mit height=textheight zu vermeiden, der die Layout-Box auf 24cm Hoehe streckt und die Tabellen-Zeile zerschiesst. DOCX-Header-Spacing per neuer 4. Modifikation in build/post-process-docx.py (process_header_table): findet erste Tabelle, setzt Heading1-spacing-before=0 und Foto-Paragraph spacing-before=100 (=5pt) plus jc=right. PDF-Layout via neuem Pandoc-Lua-Filter build/header-image-wrap.lua: wrappt das Header-Foto im LaTeX-Output mit hfill+raisebox(-height)[0pt][0pt]{...}, hfill schiebt rechtsbuendig in raggedright-p-Spalte, raisebox setzt Bild-Top auf Cell-Top und reportet null Hoehe an die Tabellen-Zeile. Filter prueft FORMAT=latex und Image-Pfad enthaelt foto, DOCX bleibt unberuehrt. Lua-Filter-Erste-Version (Image durch RawInline ersetzt mit gebackenem Pfad) hat Pandocs Image-Resource-Resolution gebrochen und LuaLaTeX scheiterte mit File foto.jpg not found, Fix: Filter gibt Lua-Liste zurueck mit Original-img-Element zwischen RawInline-Wrappern. Template-Hotfixes fuer PDF: renewcommand-nolinkurl-zu-Plaintext (verhindert at-xverbatim-Bruch in longtable-Minipage durch URL-Display-Text-Verbatim-Mode), titlespacing-section-before=0pt fuer H1-Top-Alignment. cv.md: Pipe-Alignment in Grid Table programmatisch via Python ljust und Pipe-Position-Eindeutigkeitscheck (Pandoc 3.x ist beim Grid-Table-Pipe-Alignment streng, Sandbox-Pandoc 2.9 ist toleranter und damit irrefuehrend). build.ps1 erweitert um lua-filter-Argument in PDF und DOCX, plus Read-Host-Wait-on-Error entfernt (blockiert AI-Agents und CI), durch Start-Sleep 3s am Ende ersetzt. header-image-wrap.lua als Pflichtdatei in Test-Path-Check aufgenommen. Vier weitere Edit-Tool-Truncation-Vorfaelle in S09 (cv.md, template.tex zweimal, build.ps1), Lehre verschaerft Edit-Tool fuer jede nicht-triviale Modifikation auf NTFS-Mount-Dateien meiden. Sandbox-NTFS-Stale-Read auf DOCX-Output (DOCX-Datei als not a zip file, Workaround DOCX im Sandbox neu generieren). Sandbox-NTFS-Mount kann auch Datei-Schreiben mit open(w) verweigern obwohl os.path.exists True liefert, Workaround tmp-Datei plus os.rename. Build und visuelle Bestaetigung durch Thomas erfolgt fuer DOCX und PDF. teilgebiete/01-lebenslauf.md um Iteration-C-Block ergaenzt und Naechste-Schritte-Liste auf S10-Plan umgestellt (1 DOCX-Heading-Farben pruefen, 2 Doublecheck der generierten Texte mindestens elektrischer-Gehaeuse ist sinnverkehrt, 3 Buzzword-Kompetenzen brainstormen mindestens Umgang mit quantisierten LLMs fehlt, 4 PDF-Spacings H1/H2/Kontaktdaten und hellgraue Trennlinien korrigieren, 5 Hyphenation-Feintuning, 6 Teilgebiet abschliessen). agent-prompt.md Aktueller-Stand-Block fuer S10 fortgeschrieben.
