diff --git a/.checkpoint-pending.txt b/.checkpoint-pending.txt index 77f3343..279e84c 100644 --- a/.checkpoint-pending.txt +++ b/.checkpoint-pending.txt @@ -1,2 +1,2 @@ S11 -Methodik-Sektion in cv.md erweitert nach Diskussion mit Thomas: 7 Eintraege ersetzt durch 12 Eintraege in Project-Lifecycle-Reihenfolge (Konzepterstellung, Machbarkeitsstudien, Anforderungsanalyse / Requirements Engineering, Spezifikationserstellung, Technologie-Evaluierung und -Auswahl, System-Architektur und -Design, SW-Architektur und -Design, Verifikation und Validierung, System Integration, Technische Dokumentation, Systematische Fehleranalyse, Projektmanagement). Software-Design-Konflikt mit der bestehenden Kenntnisse-Subsection ueber Variante 1 geloest (Methodik-Eintrag heisst SW-Architektur und -Design, Subsection-Titel bleibt). Test als Verifikation und Validierung formuliert. Anforderungsanalyse und Spezifikationserstellung bleiben getrennte Schritte. Querschnittsthemen Risikomanagement QS Konfigurationsmanagement Reviews Vorgehensmodelle bewusst weggelassen. Inbetriebnahme und Uebergabe weggelassen. Systematische Fehleranalyse beibehalten nach Argumentation V&V deckt SFA nicht ab. Atomarer Replace via Python-aus-Disk mit os.replace, Edit-Tool fuer cv.md vermieden. Doppelter Naechste-Schritte-Block in teilgebiete/01-lebenslauf.md aus S10 konsolidiert. teilgebiete/01-lebenslauf.md um S11-Block ergaenzt. agent-prompt.md Aktueller-Stand-Abschnitt fuer S11 fortgeschrieben mit verbleibender S11-Aufgabe inhaltliche Kleinigkeiten und unveraendertem S12-Plan PDF-Pipeline-Refactoring. +Session-Abschluss S11 mit zweitem Teil. Inhaltliche Kleinigkeiten in cv.md umgesetzt: 1. Ausbildung-Zeile TUEV-Zertifikat-Display-Text auf 'Zertifikat (Link funktioniert im Browser)' gekuerzt. 2. FBH-Eintrag 'Low-Power-Transimpedanzverstaerker-GaAs-MMICs' zu 'Low-Power Transimpedanzverstaerker-GaAs-MMICs' (Bindestrich nach Low-Power weg). 3. Promotions-Hinweis 'berufsbegleitend, abgeschlossen 2001' zu 'berufsbegleitend abgeschlossen im Jahr 2001'. 4. 'Mixed-Mode-S-Parameter' zu 'Mixed-Mode S-Parameter' an zwei Stellen (Multilink und Kenntnisse-Sektion), korrigiert eine Falsch-Anwendung der S10-Komposita-Regel. 5. Trainings-Eintrag 2016 von 'Keysight High Speed Digital class using ADS' auf 'Keysight, low9-quote High Speed Digital class using ADS ascii-quote' konform zur bestehenden Trainings-Konvention; doppeltes Leerzeichen aus Vorlage als Tippfehler normalisiert; Schluss-Anfuehrungszeichen U+201D durch ASCII-Doublequote ersetzt nach Rueckfrage. Atomarer Replace via Python-aus-Disk mit os.replace, Pre-Replace-Treffer-Check 1-1-1-2-1, Post-Replace-Verifikation per Suchcounts. Datei-Delta cv.md 22391 zu 22393 Bytes. Visuelle DOCX-Pruefung durch Thomas erfolgt und freigegeben; PDF nicht geprueft, da S12 die PDF-Pipeline neu aufsetzt. teilgebiete/01-lebenslauf.md um S11-Teil-2-Block ergaenzt. agent-prompt.md Aktueller-Stand-Abschnitt fuer Session-Ende und S12-Naechste-Session fortgeschrieben (S12-Plan: Tool-Recherche moderncv vs awesome-cv vs typst, cv.md bleibt single source of truth, Daten-Extraktion via Custom-Pandoc-Filter oder Build-Skript-Erweiterung, Implementierung, Sandbox-Test, visuelle Verifikation durch Thomas, Teilgebiet 01 nach Freigabe abschliessen). Edit-Tool-Vermeidung in S11 durchgehend eingehalten. diff --git a/agent-prompt.md b/agent-prompt.md index b4f60d7..067eba8 100644 --- a/agent-prompt.md +++ b/agent-prompt.md @@ -85,41 +85,47 @@ Setze zwischen sinnvollen Zwischenständen Checkpoints (z.B. nach "Marketing.md ## Aktueller Stand / Nächste Aufgabe -**Letzte Session:** S11 (2026-04-28) +**Letzte Session:** S11 (2026-04-28, abgeschlossen) **Was wurde in S11 gemacht:** -S11 — **Methodik-Sektion in `cv.md` erweitert.** +S11 — **Methodik-Sektion in `cv.md` erweitert (Teil 1).** - Ausgangslage: 7 Einträge in suboptimaler Reihenfolge, mit Lücken bei Architektur/Design, Test und System Integration. - Diskussion mit Thomas: Reordering bestätigt (Spezifikation vor Technologie-Auswahl, „Was-vor-Wie"-Logik), Software-Design-Konflikt mit der Kenntnisse-Subsection `**Software Design:**` über Variante 1 gelöst (Methodik-Eintrag heißt „SW-Architektur und -Design", Subsection-Titel bleibt unverändert), „Verifikation und Validierung" statt schlichtem „Test", „Anforderungsanalyse / Requirements Engineering" und „Spezifikationserstellung" beide drin (verschiedene Schritte), Querschnittsthemen (Risikomanagement, QS, Konfigurationsmanagement, Reviews, Vorgehensmodelle) bewusst weggelassen. - Diskussion über Streichungs-Vorschläge: „Inbetriebnahme und Übergabe" weggelassen (kein Schwerpunkt im aktuellen Positionierungs-Kern); „Systematische Fehleranalyse" beibehalten nach Argumentation, dass V&V (entwicklungsbegleitend, Konformitätsnachweis) und SFA (reaktiv, Root Cause bei unerwartetem Fehlverhalten) verschiedene Aktivitäten sind und SFA ein Differenzierer in Thomas' Profil und Recruiter-Filter-Begriff ist. - Finale Liste in `cv.md` (12 Einträge, Lifecycle-Reihenfolge): Konzepterstellung → Machbarkeitsstudien → Anforderungsanalyse / Requirements Engineering → Spezifikationserstellung → Technologie-Evaluierung und -Auswahl → System-Architektur und -Design → SW-Architektur und -Design → Verifikation und Validierung → System Integration → Technische Dokumentation → Systematische Fehleranalyse → Projektmanagement. -- Umsetzung atomar via Python-aus-Disk (`os.replace`), kein Edit-Tool. Ein-Treffer-Check vor Replace bestand. Verifikation per Re-Read: 12 Einträge in korrekter Reihenfolge, Vor-/Nachkontext (Software-Design-Subsection, IT-Subsection) unverändert. -- Doku-Pflege: Doppelter `## Nächste Schritte`-Block in `teilgebiete/01-lebenslauf.md` (Reste aus S10) konsolidiert. +- Doppelter `## Nächste Schritte`-Block in `teilgebiete/01-lebenslauf.md` (Reste aus S10) konsolidiert. -**Was aus S10 weiterhin gilt:** +S11 — **Inhaltliche Kleinigkeiten in `cv.md` (Teil 2).** + +- Fünf von Thomas vorgegebene Detail-Änderungen, atomar via Python-aus-Disk: + 1. Ausbildung-Zeile (TÜV-Zertifikat-Link): Display-Text auf „Zertifikat (Link funktioniert im Browser)" gekürzt. + 2. FBH-Eintrag: „Low-Power-Transimpedanzverstärker-GaAs-MMICs" → „Low-Power Transimpedanzverstärker-GaAs-MMICs" (Bindestrich nach Low-Power weg). + 3. Promotions-Hinweis: „berufsbegleitend, abgeschlossen 2001" → „berufsbegleitend abgeschlossen im Jahr 2001". + 4. „Mixed-Mode-S-Parameter" → „Mixed-Mode S-Parameter" an zwei Stellen (Multilink + Kenntnisse-Sektion). Korrigiert eine Falsch-Anwendung der S10-Komposita-Regel. + 5. Trainings-Eintrag Keysight 2016: „Keysight High Speed Digital class using ADS" → `Keysight, „High Speed Digital class using ADS"` — konform zur bestehenden Trainings-Konvention. Doppeltes Leerzeichen aus Thomas' Vorlage als Tippfehler normalisiert; Schluss-Anführungszeichen U+201D durch ASCII " ersetzt für Konsistenz, beides nach Rückfrage freigegeben. +- Datei-Delta: 22 391 → 22 393 Bytes. +- Visuelle DOCX-Prüfung durch Thomas: zufrieden. PDF nicht geprüft, da S12 die PDF-Pipeline ohnehin neu aufsetzt. + +**Methodik-Pattern in S11 konsequent angewandt:** Pre-Replace-Treffer-Check, atomarer Write via `os.replace`, Post-Replace-Verifikation per Re-Read und Such-Counts. Edit-Tool für `cv.md`, `teilgebiete/01-lebenslauf.md` und `agent-prompt.md` durchgehend gemieden. + +**Aus S10 weiterhin gültiger Stand (für S12 wichtig):** - **DOCX-Stand:** gut und einsatzbereit. Kann sofort an Recruiter/Agenturen versendet werden. DOCX-Pipeline wird in S12 nicht angefasst. - **PDF-Stand:** funktional aber nicht typografisch perfekt. H1 + Foto Seite 1 oben ✓, Trennlinien-Stil schwarz analog DOCX ✓, H3 blau ✓, Body-Spacings etwas größer als Header (akzeptierter Trade-off), Pagebreaks bei Trainings/Kenntnisse/„Berufliche Stationen" können unschön sein, Page-Count ca. 7 Seiten. Final-Lösung kommt mit S12 (CV-LaTeX-Klasse). -**Lessons-learned aus S10 (weiterhin wichtig für Folge-Sessions):** +**Lessons-learned aus S10 (weiterhin wichtig für S12):** - **Sandbox-Build als Pflicht für Layout-Iterationen.** Setup unter `/tmp/sbxbuild` mit `pdflatex` + `lmodern` (statt `lualatex` + IBM Plex Sans) eingerichtet. Page-Layout-Tendenzen 1:1 vergleichbar zu Thomas' Setup, exakte Schriftbilder weichen ab. - **Layout-Eingriffe einzeln testen.** Mehrere Mechanismen kombiniert blockieren Diagnose. - **parskip-Glue ist essentiell.** `\setlength{\parskip}{0.5em plus 0.2em minus 0.1em}` (Glue) gibt LaTeX Layout-Flexibilität. Eliminierung kostet 2+ Seiten. - **Pandoc 3.x emittiert `minipage[t]` für Tabellen-Cells**, in denen `\@parboxrestore` `parskip` auf 0pt setzt — erklärt unterschiedliche Spacings Body vs. Header. - **`titlesec` verträgt kein `\par` im after-code** — direktes `\penalty` ist sicherer. -- **` -opagebreak` in longtable-Kontext** ist als ` -oalign{...}` überschrieben — `\penalty 7500` ist longtable-sicher. +- **`\nopagebreak` in longtable-Kontext** ist als `\noalign{...}` überschrieben — `\penalty 7500` ist longtable-sicher. **Nächste Aufgaben:** -**S11 — Rest des Lebenslauf-Inhalts (offen):** - -1. **Inhaltliche Kleinigkeiten in `cv.md`.** Thomas hat konkrete Detail-Verbesserungen im Sinn, die in S11 oder einer kurzen Folgesitzung abgearbeitet werden. - **S12 — PDF-Pipeline-Refactoring mit professioneller CV-LaTeX-Klasse:** 1. **Tool-Recherche:** `moderncv` vs. `awesome-cv` vs. typst (oder andere). Vergleich nach Optik, Aufwand, MikTeX-Integration, DesTEngS-CI-Anpassbarkeit (`#3C68AE`, IBM Plex Sans). @@ -128,6 +134,7 @@ oalign{...}` überschrieben — `\penalty 7500` ist longtable-sicher. - Custom Pandoc-Filter (Lua oder Python) ODER - Erweiterung von `build.ps1` mit Python-Pre-Processor, der `cv.md` → `cv.tex` transformiert. 4. **Implementierung, Sandbox-Test, visuelle Verifikation durch Thomas.** +5. Teilgebiet 01 nach erfolgreichem Output und Freigabe durch Thomas abschließen (R2-OK von Thomas: Status auf „abgeschlossen" im `zentral-index.md`). **Hinweise für die nächste Session:** diff --git a/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.docx b/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.docx index d733ee4..ae1f436 100644 Binary files a/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.docx and b/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.docx differ diff --git a/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.pdf b/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.pdf index a2063c0..230b98f 100644 --- a/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.pdf +++ b/artefakte/01-lebenslauf/output/Lebenslauf_Dr-Ing_Thomas_Langer.pdf @@ -1819,16 +1819,15 @@ endobj << /Font << /F27 97 0 R /F39 96 0 R >> /ProcSet [ /PDF /Text ] >> endobj 122 0 obj -<< /Filter /FlateDecode /Length 3131 >> +<< /Filter /FlateDecode /Length 3129 >> stream xڽ[ˎ, WLYoFwqfgx .M~?z"Uꚹv`o8<8IS~~7P8m}˷ۿM^~-~spodN ,T³k\A֕c6Ka'm?AEKMYHתJ/YE2&yQQ)rY%g%nIq){_X3lh[xzGjj :X{fЋ2ԺN˞.a>F`f^+&UUhX3/h!V^E< e Y)ҒC~H:$ŷNW tl|AZKn%9eȽYi#p@GT+gT^fOss;?XlYMKWU͑>YmIuѢyYyd .(㼄2 jGl'ōH!ͤ:j|tg9BXb[Pn #*SS 2j딘@rwn?E˦1dg3'ݸ h |Y[S,Aptv!a :“ǂYb4llĂR]ŰgWOE$W/r #6D&|ʭI: rYoEG]}u~:lJ h b;U$Zц2shO=-{ԶZyNʷI n zPɉnTT!ZC٣ W:47MMsec 3X9@JOcd$}(ߞs+L -lIokCJ)!s =##Ҵ~ y/تq%O.YԠ倦F y[;޼wt-o}}M*`B.ܓso$AS&z>Lz=+D7}<׸Tɇ9 +ڬV$/|buVQvjr@tp15pYQQqkV|m4룀ߍFw2ڀK**{L(BiQIsŮt8}Ӎ~y>nݘ#2ҍ6F>vXMT8a +'gj!p6MHD&`dԨe|IYZS +)'BF/mxѬ}۵ٺ饲NY_6.Mehb m?Pv &ɸVexa`\Tj;? +"CT'BQ'{bvh(E2;+m wnJ)(E3> /ProcSet [ /PDF /Text ] >> endobj 131 0 obj -<< /Filter /FlateDecode /Length 3014 >> +<< /Filter /FlateDecode /Length 3023 >> stream -x[n$7+D3'  e 6>yƾLƗ UaFE.?>wUN9| -AJa,_.H@J o?oN3_:=~Uğ.J4qOHdzs}rYcF^gG2')YZ?X^ǣ ק_~/??Iz ЯZX,|1V -Zh#}0Mb&b,(rAXHxWΛ1nt>ՙk71 6qŘ$%bij}YENzUU]YR>/)ԴNmg1"`m̄nKGDd|g7۠yR67c+&)[A&gȆZh cv1\qj*Hp:ۮ2 ^/(Ucm-**>ՓhbjBAy -ډ Ñc܏X‘z"GYfD"НEJA+?] (:F̟XS^+-]+ `n3(8;Cdh(txQtdhSH(Ҡ{ސtHM9RQSq(Y˰-F[7&,NSr7}K^+* -ؘ{,KЏW5gQ]dtjP g_!C ;Jj -<,e:oOrШ -Zb_Z!`6; J8h–|̶`|h68p!*եrTgb\M-m{$f`0]]p7Es~FS!/85^Bk8W^Y?;H: ܔ:aʵWM0id J#Ts{ GX%#bHn kٸ"{^TCWRĒy>TL٢ \83U"5"De^@.Wlŋǐ o0Qjx,7Un'JDyQ/U['J®$ɿh|H $kL8tx@Ƥsjoa%`Q⟙[VY.hb9>Y5ivbnG$cDz{qC(QPu(X $`ÄO8- pRa?H9SeAWVM2^Zu*M˹~ (]'䷪IQ5g_Y]%d'GCpqV#/V?}{Jxa {vN,Z̺X%M ]:j ׇGD߁?u'xDGͬӭ}j8Nwz1Bq{]c{!=jmV6Y.eXA$fPwEޛ|CK3=5E?} rA*GE$#Gn9'Q Yڎ6ލv0XvīzXwP^$-yitWƅ9"5wijbx&=/ TSQWa$7v;X|_+,uPRJw7Q2+8"w`%^i]Sd>ok'7CE =}Lm6^)T߻oK^wk}{V8[ŽdҡxJy.v= fy,eݢv3U.Ƈ]8+5Oa֋q9Ӳ;6$GwZVK$)]ϱPY- ,b.qj5}wh -SùI-/z,2 Ӷ3e3L_8ŇԼhSi&puVB_A߀ak>И:EP PI+T3q8*gY UY 8/3J"}fXKѥ%{$x_NQ^Jp'CK`HĦ44(^8%Ev]xv:y߆uE+ē g%:SeEvLm)A !BQ-t!Qhuxo roM/vr°"RH1%|wVZf=PTNRJlzf_JڣJڣY@MQ8#KXr%|sΈմ(%8]})GDeNFȆIV V45;H +x[n$7+D3'P(%m<}3|}>/-A&3UaFE.?>7UN9| -AJa,_.\T %kŏ[< :>k0N_k?g.M\29=.\\X:ّL鯿~I +oV?W?v/$yX->+Vq>ҦP1sH_Hvt [I$[<WΛ1ntW|j3nb&E=-l-1I8KKgqxޡVUɺ<8)t}UɊdl`:foy4J>so+F2mxE*Y^$]'-V J^OQBїBiJ2H@(#3\M>/%jx@nEJ +%EźB!\ 9aqݍLh'D=25NX,JY"24Z}DnpC/VjUl3g8~msuFYO_xA6Amz!o2(K_jE92;eh| a;')xoF&{Te悹ѽE oȖS0SP?/g:8  BXͷbo# U0%<OBb&bDZ"L75I(I.hnPrM$ nާA'x+4W3LĨG,71uE^jSEzbrEh ,]YiGӐȏJ+8<&28ɡ޵oط +lƠ()[Q&g9 (5nBc35 4:(YwÝ;; +$8WUcm-j*~ԓhbjBIy +ډ Ñ܏X‘z"GYfD"НEx# wؕhee~kO\,)ʮN~~R|rơZ2CQ<1)x::DQ@i}oD:)Y@i,e'W)O~M^+* +ؘ {,KЏW5`QԻث֠2CA( vyYt>A*hq}{=LO(F[ 쐺~6( [}0Z C.i8H4TQb%F# p5<:!$5yd.Uঈy΁/h $;ƋZh Gj֋"|(.otRG51 V F3Mtʓr hJ/ſy ѣmST'^+o^\Brz:zPo%2?TLK_3g 1Dj"/-A;M^6c0耷jlRתx,DU +'JD +yEgEL®$ɿ.i|H $kY8tx@Ƥdo9a ` +$';J3s(jn$ +ڴACAƠdwMZػ=Q-Ѹ`Js0;pJ8壩#B90-NKata0F5y,T@Uy7U\F]IӲm(:+6/xcO:8[ :ˌ捝Y\Ԋ=\c2v7@ B{ -pm6'\<ʰl5Hv#$/ 7/f!x*k~@.1Rk?W{9vVlD%d[k;k#dn;Q=#%^=z'|Pvmn`I];s6 <~,P-KE=0ȓi߶YU +(a}T7IA)*D.0nU7ʝ*r]JwMqCAFmqraGp-jga#nNv<V'v}ݎ<٫<(BPE' xKZk!:.ȱ!Vn ݊qǞ =V#.rh7^kqgU}XjeJ=b.un ~ ݑ=j$9*(ay}rߑwC%]o^*Dw87E!^B!uvr) ؏Zoqjb@=CMdn;~IO0x *lM +_)ij&\#Gܻ,à +c׿5tHDiu]:o JWLʰ}\yFM&6ݐ1ܐA(9eEȀM n]W6ݷNa=J +50]1ь=:}rt\rNR@⫴EfSBVo'.6ܬrxa굏*nJ8RM52zq@)J&;NHH"ryU[G@oߕR4s)Wү \Ia`xS.)88\}Բ3E[W&u,W=xpCU(hjڥg0 &f> >> endobj @@ -1894,21 +1896,23 @@ endobj << /Font << /F27 97 0 R /F39 96 0 R >> /ProcSet [ /PDF /Text ] >> endobj 137 0 obj -<< /Filter /FlateDecode /Length 2972 >> +<< /Filter /FlateDecode /Length 2986 >> stream xڵ[K# ?I0 -h{J{AIrgA]DTIL? ~{C)*oBLrrbN^(9}>zBI!Y#ҳN]B~ ZşvyW`ߔ+aǺLZsl -71;?^ۿǭ`gf_/~ ? FC|6'~66J$g?YQ!:~Z@η_2$DKͬDץ/z3Ep8Q6Y,s~%Jaƍeb2&ڃ-*=gpgQoS/2C%4J M1jY1t1 <.n C^kMATEjNJ񟹸Fҟd 8G?IPQ;[4 =%'VU,^]I0?i9[*p^j7Ti8 48RꐸaÑߜObjT0~ɛ;Qwwp)L%sTz_¯4|}(;E!Kp;oQxZͮ'\_ٹQَ(=[;3ekw]}i{ZB=6J 7C#0:z%,>qX*ҩX ^> eeQw2;bZj9g)o x' -["]W*yfDu7 |Bn~I2g>J4uF24ѿ ,%:+ٴOfCu3E &qƗ('E٪J69PuWim0" ~+A4\Id7<"ǠCnv2!FМR93R71!/ix%PmKԭX).% S':n4.h;Z_u׌4OF5}QQdbl̓]-sq+[zBo}[]V0_MB>F;׶<%TC^l&z;2=5Em1B=M5E4E!І:U蜊ʻ4I Vn5p+`tH$>$8#7!&_Y{"@EƯz2L]kF@ёlCMg‚GphH -? -4 v+afKb+ٽ%@+hڔr{Tq7]9ޡW@M_ [ܓ5s%X>ݚrK8 SqNF T8I3Ǽĩڏ1pB]WjHiK%W"k"i}GBk~f?m(w%$N)ME[" !&AsR|"p/|mk{=l.҃Iևѕ8Nz寅x|yq~N>[{Y   -:[$ɵ %dZdm=([r@4D@ ZZPLal+4eɇC%Z[&dHyU1˪b_艪7> "j^LwpH3 -eUK -Lrf_4 (֥ץTG1𲵅&;˩Шw?P#?p!ޜݯ2a!"F ҜV|%߭~49ܜэزx82cS7lv-bܭܙc!mDp`˧l:?2]`%grJ=9;ކ/nDݨ}"?m'~;h45PLxܞdiAKYy6z}wٽoX}W5_-9Uཪ $01l;4O`R9h䵪xUX,jg>Tc%nEޏŊvsC|tl8*i -j,r\|Q&50O^0S#6 څ~9gy&6/ ZQa}npmWW~ғ`N5xw5>a6ڊq+Rhj7>iE*:%vMa'~>bGz= K2;Hv-!v^sp҆&hb ֵ!qhB\;JaVА%((=Ы1_1+_QC̞_b ƕ7 `\gnh= w󞆋 4k^~x2bÚ99qݨΉI><ɉ(xFN\{Iu C%e;RCtLy{z1J֟#N<ގ1q>5 XYap8qUJ+W2'.Ɵ_@oX4\;!]uUvvsP"),leFY?k))j~&QC]T4q\& ~8:o,6fdR<90 {/_a +h{J{AIrgn%Q$E~$e117ooy(79Xe7INN 1%oߧ_/B()4/@l>>~y. uk|+~LI+i`oywc]&Y~-9l +71;?ۿǭ`gf__?AL}f!~6'~66J$g?YQ!:[@η2$DKͬDץ/z3Ep8Q6Y,s~%Jaƍeb2&ڃ-*}ζ}!ϟEMͲ<3ɖ,*B&4تedHeC˫Jƀ% %^׽0󛂨R֝'?sqE?͉f?@/'Me]\%v,Dquڙ)[$_CK#VQIy,D+`SDǢUaN6:o-O/):T >KyO{>Q)uiFTp'9ꈚd[-sQ6xXu08gg!?-YɦDx2)b@4/6DU u<)VuUA96R7DHkwMN!O"m 9 +tC 1rT$Ιy yICTf/+xEJh[nJ}vy<-afМ:Atp&Gsfy'HEΠՎ'ckZm w]{<7b~Fwמr0\]$h씐0 )Be3a(Ыѵ遬y.ldn)ň)%6daBTTޅ-ψ!NIİr3[A?SHD:͏'$Q 1Qg*B0~wo'd]-0gzo:ㆿ=CFl$Sx֩n2 lsVWKOGKٖxu8,= &T9_H]3wG[裮fW"vC-Pdӻ^oYhvq2y'O#v@J$#lr)hwi +^D.~Q'7͉SpF(uNHKNwF9L~3rKc*,ۑcʳ:,ܖ`"'tx>ooQ} endstream endobj 136 0 obj @@ -1927,11 +1931,18 @@ endobj << /Font << /F27 97 0 R /F39 96 0 R >> /ProcSet [ /PDF /Text ] >> endobj 143 0 obj -<< /Filter /FlateDecode /Length 1786 >> +<< /Filter /FlateDecode /Length 1921 >> stream -xڥYK6 ϯXEo<voAN)Ksh/ER/{^d<%QǏVN?&9}>I>=tf1{I9)Hi5J-QgwNx>Oc2./( a>S~yędx%}Ť!,3A2,޾vz1=vggkS"3XN.xā T\s$-{mDP-VX,bI6g^j́"5 gIEd.Nd'fR( q1990Eb[B%h& 8Րfu`I', ViFˢozi㌭Ղ A8hR䀫mR{e߹|eLryi7YYۻY?AM0q ^A7Z"b 3G8Y)| ʫZp~095 -͋!{y8{v9ifxB-Gk %M'/бղkiQU=ToF0;K%,f]U&hz{ix6MK`o )?ުI'f_V׵ݧqmQVjzeu13g'UkZaMuYr2MccuqM0Y ܡzj&0QXQk&*! thXtnmb[c{\2:y/Е#J͓WHɏ5 -SAgBR:Zm6!&w-zNz.dUvnz˵L.y~^\fC$TQՠwmQ~'a4 -lo5ۡ{9)cX.J1`iR2\td%%]Bբ_[5ze9)Q({gchiD a'<ؑZ)\"ڲ&\oY>DӦKj52yݑ'ڋ>3;m8 ܵ~|Iebv 1P׬#wR[oAWmc\K2gݻWY-F03†*1JZ{>I쓐&Ru/YGU7ƈmb?bd5GYTO[s*[uoz^ +xZK6 ϯXEay./L%>V/]8nIxq"Lyx}QMo_NRx3K5|=hN8}?_ =,c2V ktkKq`b_a# ɻ ͠ X8h1[? +'wuIn.Me'ɼ?*e~k'-Ȓݙv(ʓ yS,;j>fg'eDC6*V9=jp* :5/SDҜ˨kbdz'`,6{O]0BrFa ';Jψ +P@Xacv Jtw/4;U ҋ*.v\"y<ώi.x9f nvm#cS?mKy;cw B-XSεYRwg7vVgxۆv0AO΋O쭈[&x;YaɠS*.T|sf|xJY +ņey 7aRY=%lCލF$PG/<Lp8n"1_!;uR'_9KЕ? bq{6Ҋ[^=s1{Yq%ejLl ?)e e#$$RA\kZ"bZ}pGw :GP?884%C sjꈫ +g;IXk*2I&?pM-4䐅tP2 Yp!V*b*V4"m`j`P-!B[JJV9yDR JAX!\.hAZ4;iPOvʍf{+\hnEUf=;Uj#|p ۲JF{⎄2\R( Q 0 +N -lIOGGGCSau^lS0 '4OŽ.g<zMzc"~h7i񵸣OjF͹Lpg5+$0+NY+?tolu8 dH2^řTX^5dh@~}0 »G@`d/gWȅ~{0 Maғ'jгUykbmSs4p +<̀ף +UI%kEoYyEw/ :9Ey^ӦoC:0:aSXd57#M0ʚYxʹ *'FUV\t8y"]Ѵ;_7 G%-QFǧQ˧L<⍊*mByE{F/]xi}O(S`~ ]9dVBm}bc zM[#]]9;NJy77`Ң©vNCVs\f2]ys%ۥzL W(\^^neQ)j큜9) +>Gj4Ean)Y;݈9r|\NϿZ+FF> % +e* +u74Na}GÎP-(*m2{mb4Y>Lv16˖!PmWT%X,\tٍ<ȃWッ* LcfD,SorM|&BM:1mJ)@ahd>|ad`?xD˪򨤸<,C#>҅t/6|S~ ]Y5;Bn@tUͻP!Vџ(XiLX4|zk,aZ }* endstream endobj 142 0 obj @@ -2171,92 +2182,92 @@ endobj << /Type /Catalog /Pages 98 0 R /Outlines 163 0 R /Names 165 0 R /PageMode/UseOutlines /OpenAction 83 0 R >> endobj 167 0 obj -<< /Author(\376\377\000D\000r\000.\000-\000I\000n\000g\000.\000\040\000T\000h\000o\000m\000a\000s\000\040\000L\000a\000n\000g\000e\000r)/Title(\376\377\000L\000e\000b\000e\000n\000s\000l\000a\000u\000f\000\040\000D\000r\000.\000-\000I\000n\000g\000.\000\040\000T\000h\000o\000m\000a\000s\000\040\000L\000a\000n\000g\000e\000r)/Subject()/Creator(\376\377\000P\000a\000n\000d\000o\000c\000\040\000+\000\040\000L\000u\000a\000L\000a\000T\000e\000X)/Keywords() /Producer (LuaTeX-1.24.0) /CreationDate (D:20260428171807+02'00') /ModDate (D:20260428171807+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.24.0 (MiKTeX 26.2)) >> +<< /Author(\376\377\000D\000r\000.\000-\000I\000n\000g\000.\000\040\000T\000h\000o\000m\000a\000s\000\040\000L\000a\000n\000g\000e\000r)/Title(\376\377\000L\000e\000b\000e\000n\000s\000l\000a\000u\000f\000\040\000D\000r\000.\000-\000I\000n\000g\000.\000\040\000T\000h\000o\000m\000a\000s\000\040\000L\000a\000n\000g\000e\000r)/Subject()/Creator(\376\377\000P\000a\000n\000d\000o\000c\000\040\000+\000\040\000L\000u\000a\000L\000a\000T\000e\000X)/Keywords() /Producer (LuaTeX-1.24.0) /CreationDate (D:20260428211214+02'00') /ModDate (D:20260428211214+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.24.0 (MiKTeX 26.2)) >> endobj xref 0 168 0000000000 65535 f 0000000020 00000 n 0000407076 00000 n -0000453320 00000 n +0000453476 00000 n 0000000062 00000 n 0000000263 00000 n 0000407136 00000 n -0000453250 00000 n +0000453406 00000 n 0000000309 00000 n 0000000396 00000 n 0000407195 00000 n -0000453142 00000 n +0000453298 00000 n 0000000442 00000 n 0000000545 00000 n -0000453044 00000 n +0000453200 00000 n 0000000592 00000 n 0000000824 00000 n 0000407256 00000 n -0000452946 00000 n +0000453102 00000 n 0000000871 00000 n 0000001313 00000 n -0000452848 00000 n +0000453004 00000 n 0000001360 00000 n 0000002092 00000 n -0000452750 00000 n +0000452906 00000 n 0000002139 00000 n 0000002666 00000 n -0000452652 00000 n +0000452808 00000 n 0000002713 00000 n 0000003175 00000 n -0000452554 00000 n +0000452710 00000 n 0000003222 00000 n 0000003949 00000 n -0000452456 00000 n +0000452612 00000 n 0000003996 00000 n 0000004555 00000 n -0000452358 00000 n +0000452514 00000 n 0000004602 00000 n 0000005129 00000 n -0000452260 00000 n +0000452416 00000 n 0000005176 00000 n 0000005633 00000 n -0000452162 00000 n +0000452318 00000 n 0000005680 00000 n 0000006152 00000 n -0000452064 00000 n +0000452220 00000 n 0000006199 00000 n 0000006685 00000 n -0000451953 00000 n +0000452109 00000 n 0000006732 00000 n 0000006995 00000 n 0000420251 00000 n -0000451879 00000 n +0000452035 00000 n 0000007042 00000 n 0000007966 00000 n -0000451792 00000 n +0000451948 00000 n 0000008013 00000 n 0000008791 00000 n -0000451705 00000 n +0000451861 00000 n 0000008838 00000 n 0000009853 00000 n -0000451618 00000 n +0000451774 00000 n 0000009900 00000 n 0000010554 00000 n -0000451531 00000 n +0000451687 00000 n 0000010601 00000 n 0000011262 00000 n -0000451444 00000 n +0000451600 00000 n 0000011309 00000 n 0000011935 00000 n -0000451370 00000 n +0000451526 00000 n 0000011982 00000 n 0000012454 00000 n -0000451283 00000 n +0000451439 00000 n 0000012501 00000 n 0000012579 00000 n -0000428007 00000 n -0000451196 00000 n +0000428014 00000 n +0000451352 00000 n 0000012622 00000 n 0000012695 00000 n -0000428069 00000 n -0000451122 00000 n +0000428076 00000 n +0000451278 00000 n 0000012738 00000 n 0000012816 00000 n 0000015912 00000 n @@ -2271,11 +2282,11 @@ xref 0000012866 00000 n 0000406954 00000 n 0000407015 00000 n -0000450573 00000 n -0000445665 00000 n -0000450930 00000 n +0000450729 00000 n +0000445821 00000 n +0000451086 00000 n 0000016044 00000 n -0000433910 00000 n +0000434066 00000 n 0000411574 00000 n 0000411786 00000 n 0000411409 00000 n @@ -2294,57 +2305,57 @@ xref 0000416066 00000 n 0000420188 00000 n 0000420010 00000 n -0000423774 00000 n -0000423986 00000 n -0000423609 00000 n +0000423772 00000 n +0000423984 00000 n +0000423607 00000 n 0000420396 00000 n -0000423923 00000 n -0000438092 00000 n -0000423745 00000 n -0000427347 00000 n -0000427574 00000 n -0000427795 00000 n -0000428131 00000 n -0000427166 00000 n -0000424070 00000 n -0000427944 00000 n -0000427302 00000 n -0000431433 00000 n -0000431645 00000 n -0000431268 00000 n -0000428214 00000 n -0000431582 00000 n -0000431404 00000 n -0000433761 00000 n -0000433973 00000 n -0000433596 00000 n -0000431728 00000 n -0000433732 00000 n -0000434056 00000 n -0000437272 00000 n -0000434332 00000 n -0000434437 00000 n -0000437514 00000 n -0000438250 00000 n -0000438454 00000 n -0000444610 00000 n -0000438993 00000 n -0000439119 00000 n -0000444843 00000 n -0000445815 00000 n -0000446012 00000 n -0000449682 00000 n -0000446357 00000 n -0000446474 00000 n -0000449921 00000 n -0000450728 00000 n -0000451048 00000 n -0000453415 00000 n -0000453766 00000 n -0000453804 00000 n -0000453930 00000 n +0000423921 00000 n +0000438248 00000 n +0000423743 00000 n +0000427354 00000 n +0000427581 00000 n +0000427802 00000 n +0000428138 00000 n +0000427173 00000 n +0000424068 00000 n +0000427951 00000 n +0000427309 00000 n +0000431454 00000 n +0000431666 00000 n +0000431289 00000 n +0000428221 00000 n +0000431603 00000 n +0000431425 00000 n +0000433917 00000 n +0000434129 00000 n +0000433752 00000 n +0000431749 00000 n +0000433888 00000 n +0000434212 00000 n +0000437428 00000 n +0000434488 00000 n +0000434593 00000 n +0000437670 00000 n +0000438406 00000 n +0000438610 00000 n +0000444766 00000 n +0000439149 00000 n +0000439275 00000 n +0000444999 00000 n +0000445971 00000 n +0000446168 00000 n +0000449838 00000 n +0000446513 00000 n +0000446630 00000 n +0000450077 00000 n +0000450884 00000 n +0000451204 00000 n +0000453571 00000 n +0000453922 00000 n +0000453960 00000 n +0000454086 00000 n trailer -<< /Size 168 /Root 166 0 R /Info 167 0 R /ID [ <72167904CDE55491B5A11E974E7FF178> <72167904CDE55491B5A11E974E7FF178> ] >> +<< /Size 168 /Root 166 0 R /Info 167 0 R /ID [ <9C85438ACE45381DEE1F725D96D6575F> <9C85438ACE45381DEE1F725D96D6575F> ] >> startxref -454590 +454746 %%EOF diff --git a/artefakte/01-lebenslauf/output/build.log b/artefakte/01-lebenslauf/output/build.log index e54c543..a3b7c76 100644 --- a/artefakte/01-lebenslauf/output/build.log +++ b/artefakte/01-lebenslauf/output/build.log @@ -1,4 +1,4 @@ -===== Build gestartet: 2026-04-28 17:18:04 ===== +===== Build gestartet: 2026-04-28 21:12:11 ===== Source: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\source\cv.md Template-TEX: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\templates\template.tex Reference: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\templates\reference.docx @@ -6,14 +6,14 @@ Output-Dir: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslau --- Pandoc -> PDF (LuaLaTeX) --- Cmd: pandoc --from=markdown+smart --pdf-engine=lualatex --template=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\templates\template.tex --lua-filter=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\build\header-image-wrap.lua --resource-path=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\source --output=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\output\Lebenslauf_Dr-Ing_Thomas_Langer.pdf Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\source\cv.md -PDF OK: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\output\Lebenslauf_Dr-Ing_Thomas_Langer.pdf (447.4 KB) +PDF OK: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\output\Lebenslauf_Dr-Ing_Thomas_Langer.pdf (447.5 KB) --- Pandoc -> DOCX --- Cmd: pandoc --from=markdown+smart --reference-doc=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\templates\reference.docx --lua-filter=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\build\header-image-wrap.lua --resource-path=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\source --output=Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\output\Lebenslauf_Dr-Ing_Thomas_Langer.docx Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\source\cv.md DOCX OK: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\output\Lebenslauf_Dr-Ing_Thomas_Langer.docx (379.9 KB) --- Post-Process DOCX --- [post-process-docx] Verarbeite: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\output\Lebenslauf_Dr-Ing_Thomas_Langer.docx [post-process-docx] Listen gefunden: 25 -[post-process-docx] Bullets in Listen: 180 +[post-process-docx] Bullets in Listen: 185 [post-process-docx] keepNext gesetzt: 87 [post-process-docx] Bullets in Tabellen uebersprungen: 6 [post-process-docx] H2-Headings gefunden: 6 @@ -23,4 +23,4 @@ DOCX OK: Q:\DesTEngS\Pro\Git\marketing\claude_cowork\artefakte\01-lebenslauf\out [post-process-docx] Header-Tabelle H1 modifiziert: 1 [post-process-docx] Header-Tabelle Foto modifiziert: 1 [post-process-docx] Fertig. -===== Build beendet: 2026-04-28 17:18:09, Exit-Code 0 ===== +===== Build beendet: 2026-04-28 21:12:16, Exit-Code 0 ===== diff --git a/artefakte/01-lebenslauf/source/cv.md b/artefakte/01-lebenslauf/source/cv.md index d753c51..41e9fbc 100644 --- a/artefakte/01-lebenslauf/source/cv.md +++ b/artefakte/01-lebenslauf/source/cv.md @@ -162,7 +162,7 @@ ### Dez. 2000 – Dez. 2002 — Entwicklungsingenieur bei Multilink Technology (Startup mit bis zu 360 Mitarbeitern weltweit, ICs und Module für faseroptische Übertragungssysteme), Berlin: - Entzerrer-ICs für Backplane-Systeme bis 12,5 Gb/s: - - Berechnung von Mixed-Mode-S-Parametern und Cross Talk für Backplane Systeme + - Berechnung von Mixed-Mode S-Parametern und Cross Talk für Backplane Systeme - Entwurf von adaptiven Entzerrern auf Systemebene (Feedforward Equalization und Decision Feedback Equalization) basierend auf dem LMS Algorithmus - 10 Gb/s und 40 Gb/s Faseroptische Systeme: - Betreuung von Kooperationen mit zwei Universitäten @@ -178,13 +178,13 @@ ### Okt. 1994 – Okt. 1998 — Wissenschaftlicher Mitarbeiter am Ferdinand-Braun-Institut für Höchstfrequenztechnik, Berlin: - Erzeugung elektrischer Transienten im Picosekundenbereich mit einer nichtlinearen Diodenleitung - - Auf dieser Arbeit aufbauend: Externe Promotion an der TU Berlin, berufsbegleitend, abgeschlossen 2001 + - Auf dieser Arbeit aufbauend: Externe Promotion an der TU Berlin, berufsbegleitend abgeschlossen im Jahr 2001 - Erstellung eines präzisen Schottky-Dioden Modells für hyperabrupte Dotierungsprofile und Implementierung als eigenständiges, in AEL programmiertes Bauelement in der Simulationssoftware Keysight ADS - Modellierung, Simulation, Layout und Messung von GaAs MMICs - Entwicklung von MMIC Sampling Schaltungen: Transienten bis 7 ps, Harmonische bis 140 GHz - Programmierung von objektorientierter C++ Software zum De-Embedding von S-Parametern - Elektromagnetische Feldsimulationen koplanarer Leitungsstrukturen bis 1 THz -- Entwicklung eines breitbandigen Low-Power-Transimpedanzverstärker-GaAs-MMICs für 100 MHz – 6 GHz +- Entwicklung eines breitbandigen Low-Power Transimpedanzverstärker-GaAs-MMICs für 100 MHz – 6 GHz ### Sep. 1992 – Aug. 1993 — Studentische Hilfskraft am Ferdinand-Braun-Institut für Höchstfrequenztechnik, Berlin: @@ -197,7 +197,7 @@ ## Ausbildung ---------- ---------------------------------------------------------------------- -Okt. 2025 **Ausbildung zum AI Consultant (mit TÜV-Zertifikat)** beim AI Training Institute, [[Link zum Zertifikat (funktioniert nur im Browser)]](https://perscert-tuv.certif-id.com/expert/public/share/7MR0WDzG106JDCqV_RW7) +Okt. 2025 **Ausbildung zum AI Consultant (mit TÜV-Zertifikat)** beim AI Training Institute, [[Zertifikat (Link funktioniert im Browser)]](https://perscert-tuv.certif-id.com/expert/public/share/7MR0WDzG106JDCqV_RW7) März 2001 **Promotion** „Computergestützter Entwurf nichtlinearer Transmissionsleitungen zur Erzeugung elektrischer Transienten im Picosekundenbereich", [[Dissertation]](https://depositonce.tu-berlin.de/bitstream/11303/599/1/Dokument_9.pdf) @@ -211,7 +211,7 @@ Juni 1986 **Abitur** am Oberstufenzentrum Elektrotechnik in Berlin ---------- ---------------------------------------------------------------------- Dez. 2016 Ansys SIwave Training -Juni 2016 Keysight High Speed Digital class using ADS +Juni 2016 Keysight, „High Speed Digital class using ADS" Jan. 2008 Gustav Käser, „Management" @@ -295,7 +295,7 @@ Mai 2000 Seminar „Persönlichkeitsentwicklung im Team" **Messtechnik:** - Daten-Netzwerk Performance mit Wireshark, iperf3, Vector Informatik Ethernet und CAN-Bus Testgeräten, GL Communications PacketExpert Gigabit Ethernet Tester -- S-Parameter mit Netzwerkanalysatoren bis 110 GHz, On-Wafer und Koaxial, Kalibration, De-Embedding und Mixed-Mode-S-Parameter +- S-Parameter mit Netzwerkanalysatoren bis 110 GHz, On-Wafer und Koaxial, Kalibration, De-Embedding und Mixed-Mode S-Parameter - Zeitbereichsmessungen mit Samplingoszilloskopen bis 50 GHz und Realtime-Oszilloskopen bis 13 GHz **Fremdsprachen:** diff --git a/changelog.md b/changelog.md index 6ab45f5..9767ed5 100644 --- a/changelog.md +++ b/changelog.md @@ -52,3 +52,4 @@ Chronologisches Log aller Entscheidungen und Prozessereignisse. 2026-04-27 20:27 | S10 | Aufgabe 1 (DOCX-Heading-Farbe und -Bold) abgeschlossen. Farb-Audit zuerst: DesTEngS-Primaerfarbe ist 3C68AE, in 4 Dateien (agent-prompt.md, teilgebiete/01-lebenslauf.md, build/build-reference-docx.py Konstante HEADING_COLOR und Doc-Kommentar, templates/template.tex destengsblue-Definition) von 0B5394 auf 3C68AE korrigiert. changelog.md (append-only) und cv-debug.tex (generierter Output) bewusst ausgenommen. Diagnose der nicht-greifenden Heading-Farbe: Pandoc-3.x-Default-Reference enthaelt Linked Character Styles Heading1Char/2Char/3Char mit eigener color val=0F4761 themeColor=accent1 themeShade=BF (Aptos-Petrol). Char-Styles dominieren in Word ueber Para-Styles bei Run-Eigenschaften, deshalb gewann das Aptos-Theme. Pandoc 2.9 (Sandbox) hat diese Char-Styles nicht, daher konnte der Bug dort nicht reproduziert werden. Fix in build/build-reference-docx.py: HEADING_COLOR_STYLES um Heading1Char Heading2Char Heading3Char erweitert. Zusatzanforderung von Thomas: H1 und H2 fett. Neue Funktion set_heading_bold mit Konstante HEADING_BOLD_STYLES analog (Heading1+2 Para- und Char-Stil). H3 bleibt unveraendert. Docstring-Block B4 um beide Erklaerungen erweitert. Sandbox-syntaktischer Test der neuen Funktionen erfolgreich. Build und visuelle Bestaetigung durch Thomas: alle Headings im DOCX in DesTEngS-Blau 3C68AE, H1 und H2 fett, H3 normal. Aufgabe 2 Diff-Material vorbereitet: alte CV-Quelle Lebenslauf_Thomas_Langer_2025-03-21.docx aus archiv via pandoc nach markdown konvertiert und mit aktueller cv.md verglichen. Vier Output-Dateien in artefakte/01-lebenslauf/output: cv-old-plain.txt (DOCX normalisiert 305 Zeilen), cv-new-plain.txt (cv.md normalisiert 289 Zeilen), cv-diff-unified.txt (kompletter unified diff 551 Zeilen), cv-diff-report.md (sektionsweise Vergleichsbericht mit Mapping Berufstaetigkeit gleich Projekte als freiberuflicher Consultant). Sektion-Groessenvergleich zeigt erwartete Aenderungsmuster: Header kompakter, Zusammenfassung und Kenntnisse erweitert (KI-Fokus), Trainings stark gekuerzt, Veroeffentlichungen in Ausbildung integriert. Sinn-Check selbst macht Thomas in seinem Tempo, dann gemeinsames Review. 2026-04-28 17:56 | S10 | S10 abgeschlossen. Aufgabe 1 (DOCX-Heading-Farbe und H1+H2-Bold) komplett geloest: Farb-Audit 0B5394 zu 3C68AE in vier Dateien, Linked-Char-Style-Diagnose und Fix in build-reference-docx.py (HEADING_COLOR_STYLES um Heading1Char/2Char/3Char erweitert, neue set_heading_bold-Funktion). Aufgabe 2 (cv.md Sinn-Korrekturen) komplett geloest: 18 Sprach- und Stilkorrekturen plus Methodik-Umsortierung nach Projekt-Lifecycle, atomar via Python-aus-Disk umgesetzt. Aufgabe 3 (Buzzword-Erweiterung KI-Block) komplett geloest: KI-Sektion umstrukturiert nach Thomas-Layout mit Edge-AI-Stack-Buendel-Sektion am Ende inklusive Quantisierung, Modell-Formaten und Software-Stack. Aufgabe 4 (PDF-Layout) teilweise geloest mit Trade-off: H1 ohne Trennlinie, H2 schwarze 8.6 cm 1.25 pt Trennlinie analog DOCX, H3 in DesTEngS-Blau und nicht fett, erste Seite ohne graue Header-Trennlinie und Foto plus H1 nahe Top-Margin via vspace-1.16cm. Body-Spacings bleiben etwas groesser als Header (parskip-Glue-Eliminierung kostet 2-3 zusaetzliche Seiten, deshalb ruecknahme). Pagebreaks bei Trainings/Kenntnisse/Berufliche-Stationen koennen unschoen sein. Sandbox-Build-Setup mit pdflatex und lmodern in /tmp/sbxbuild eingerichtet, Page-Layout-Tendenzen 1zu1 vergleichbar zu Thomas Setup. Lessons-learned Block in agent-prompt.md und teilgebiete/01-lebenslauf.md festgehalten: Sandbox-Build vor Iterationen, Layout-Eingriffe einzeln testen, parskip-Glue ist essentiell, Pandoc 3.x emittiert minipage[t] mit parboxrestore in Tabellen-Cells, titlesec vertraegt kein par im after-code, nopagebreak in longtable ist als noalign ueberschrieben. Strategische Entscheidung mit Thomas: PDF-Pipeline wird in S12 mit professioneller CV-LaTeX-Klasse moderncv oder awesome-cv oder typst neu aufgesetzt. cv.md bleibt single source of truth, Daten-Extraktion via Custom-Pandoc-Filter oder Build-Skript-Erweiterung. S11 davor nur fuer Lebenslauf-Inhalt: Methodik-Sektion ergaenzen und inhaltliche Kleinigkeiten. DOCX-Stand ist gut und einsatzbereit. agent-prompt.md und teilgebiete/01-lebenslauf.md mit S10-Doku und S11-S12-Plan fortgeschrieben. 2026-04-28 19:39 | S11 | Methodik-Sektion in cv.md erweitert nach Diskussion mit Thomas: 7 Eintraege ersetzt durch 12 Eintraege in Project-Lifecycle-Reihenfolge (Konzepterstellung, Machbarkeitsstudien, Anforderungsanalyse / Requirements Engineering, Spezifikationserstellung, Technologie-Evaluierung und -Auswahl, System-Architektur und -Design, SW-Architektur und -Design, Verifikation und Validierung, System Integration, Technische Dokumentation, Systematische Fehleranalyse, Projektmanagement). Software-Design-Konflikt mit der bestehenden Kenntnisse-Subsection ueber Variante 1 geloest (Methodik-Eintrag heisst SW-Architektur und -Design, Subsection-Titel bleibt). Test als Verifikation und Validierung formuliert. Anforderungsanalyse und Spezifikationserstellung bleiben getrennte Schritte. Querschnittsthemen Risikomanagement QS Konfigurationsmanagement Reviews Vorgehensmodelle bewusst weggelassen. Inbetriebnahme und Uebergabe weggelassen. Systematische Fehleranalyse beibehalten nach Argumentation V&V deckt SFA nicht ab. Atomarer Replace via Python-aus-Disk mit os.replace, Edit-Tool fuer cv.md vermieden. Doppelter Naechste-Schritte-Block in teilgebiete/01-lebenslauf.md aus S10 konsolidiert. teilgebiete/01-lebenslauf.md um S11-Block ergaenzt. agent-prompt.md Aktueller-Stand-Abschnitt fuer S11 fortgeschrieben mit verbleibender S11-Aufgabe inhaltliche Kleinigkeiten und unveraendertem S12-Plan PDF-Pipeline-Refactoring. +2026-04-28 21:45 | S11 | Session-Abschluss S11 mit zweitem Teil. Inhaltliche Kleinigkeiten in cv.md umgesetzt: 1. Ausbildung-Zeile TUEV-Zertifikat-Display-Text auf 'Zertifikat (Link funktioniert im Browser)' gekuerzt. 2. FBH-Eintrag 'Low-Power-Transimpedanzverstaerker-GaAs-MMICs' zu 'Low-Power Transimpedanzverstaerker-GaAs-MMICs' (Bindestrich nach Low-Power weg). 3. Promotions-Hinweis 'berufsbegleitend, abgeschlossen 2001' zu 'berufsbegleitend abgeschlossen im Jahr 2001'. 4. 'Mixed-Mode-S-Parameter' zu 'Mixed-Mode S-Parameter' an zwei Stellen (Multilink und Kenntnisse-Sektion), korrigiert eine Falsch-Anwendung der S10-Komposita-Regel. 5. Trainings-Eintrag 2016 von 'Keysight High Speed Digital class using ADS' auf 'Keysight, low9-quote High Speed Digital class using ADS ascii-quote' konform zur bestehenden Trainings-Konvention; doppeltes Leerzeichen aus Vorlage als Tippfehler normalisiert; Schluss-Anfuehrungszeichen U+201D durch ASCII-Doublequote ersetzt nach Rueckfrage. Atomarer Replace via Python-aus-Disk mit os.replace, Pre-Replace-Treffer-Check 1-1-1-2-1, Post-Replace-Verifikation per Suchcounts. Datei-Delta cv.md 22391 zu 22393 Bytes. Visuelle DOCX-Pruefung durch Thomas erfolgt und freigegeben; PDF nicht geprueft, da S12 die PDF-Pipeline neu aufsetzt. teilgebiete/01-lebenslauf.md um S11-Teil-2-Block ergaenzt. agent-prompt.md Aktueller-Stand-Abschnitt fuer Session-Ende und S12-Naechste-Session fortgeschrieben (S12-Plan: Tool-Recherche moderncv vs awesome-cv vs typst, cv.md bleibt single source of truth, Daten-Extraktion via Custom-Pandoc-Filter oder Build-Skript-Erweiterung, Implementierung, Sandbox-Test, visuelle Verifikation durch Thomas, Teilgebiet 01 nach Freigabe abschliessen). Edit-Tool-Vermeidung in S11 durchgehend eingehalten. diff --git a/teilgebiete/01-lebenslauf.md b/teilgebiete/01-lebenslauf.md index ceeee98..55f57ea 100644 --- a/teilgebiete/01-lebenslauf.md +++ b/teilgebiete/01-lebenslauf.md @@ -370,12 +370,37 @@ Die in S04 mit docx-js erstellte Version hatte strukturelle typographische Mäng **Offen für S11 (zweiter Teil):** Inhaltliche Kleinigkeiten in `cv.md`, die Thomas im Sinn hat — wird in einer der nächsten Aktionen abgearbeitet. +## S11 (Teil 2) — Inhaltliche Kleinigkeiten in `cv.md` + +Fünf von Thomas vorgegebene Detail-Änderungen umgesetzt, atomar via Python-aus-Disk mit strikter Trefferzahl-Prüfung pro Replacement: + +1. **Ausbildung-Zeile (TÜV-Zertifikat-Link):** Display-Text von „Link zum Zertifikat (funktioniert nur im Browser)" auf „Zertifikat (Link funktioniert im Browser)" geändert. Knapper, weniger sperrig, transportiert dieselbe Information. +2. **FBH-Eintrag (Transimpedanzverstärker-MMIC):** Bindestrich nach „Low-Power" entfernt, Schreibweise „Low-Power Transimpedanzverstärker-GaAs-MMICs". Damit bleibt „Low-Power" als attributiver Halbangelizismus erhalten und die Komposita-Kette wird klarer. +3. **Promotions-Hinweis (FBH):** „berufsbegleitend, abgeschlossen 2001" auf „berufsbegleitend abgeschlossen im Jahr 2001" geändert. Komma weg, präzisere Formulierung. +4. **Mixed-Mode S-Parameter (zwei Stellen):** Bindestrich zwischen „Mode" und „S" entfernt. Vorkommen 1: Multilink-Eintrag (L165), Vorkommen 2: Kenntnisse-Sektion (L298). Korrigiert eine Falsch-Anwendung der S10-Komposita-Regel: „Mixed-Mode" ist hier prädikatives Adjektiv zu „S-Parameter", nicht Bestandteil eines Kompositums. +5. **Trainings-Eintrag Keysight 2016:** „Keysight High Speed Digital class using ADS" auf „Keysight, „High Speed Digital class using ADS"" geändert. Damit konform zur bestehenden Trainings-Konvention: Anbieter, Komma, Trainingstitel in deutschen Anführungszeichen (öffnend „ U+201E, schließend " ASCII U+0022 — entspricht den anderen vier Trainings-Einträgen). Doppeltes Leerzeichen aus Thomas' Vorlage als Tippfehler erkannt und auf einfaches Leerzeichen normalisiert; Schluss-Anführungszeichen U+201D durch ASCII " ersetzt für Konsistenz mit den anderen Einträgen — beides nach Rückfrage mit Thomas freigegeben. + +**Verifikation:** + +- Treffer-Counts pre-replace stimmten alle (1, 1, 1, 2, 1). +- Alle alten Strings nach Replace 0 Treffer. +- Alle neuen Strings mit erwarteter Trefferzahl vorhanden. +- Datei-Delta: 22 391 → 22 393 Bytes (+2 Bytes Netto-Zuwachs durch komprimierende und expandierende Änderungen). +- Visuelle Prüfung des DOCX durch Thomas: zufrieden. PDF kommt in S12 ohnehin auf eine neue Pipeline und wird hier nicht geprüft. + ## Nächste Schritte -**S11 — Rest des Lebenslauf-Inhalts:** +**S11 abgeschlossen.** Beide Aufgaben (Methodik-Sektion erweitert, fünf inhaltliche Kleinigkeiten umgesetzt) durch Thomas inhaltlich und visuell (DOCX) freigegeben. -1. ~~Methodik-Sektion ergänzen~~ — abgeschlossen (siehe S11-Block oben). -2. **Inhaltliche Kleinigkeiten verbessern.** Thomas hat konkrete Detail-Verbesserungen in `cv.md` im Sinn — werden in einer Folgesitzung oder im Anschluss an S11 abgearbeitet. +**S12 — PDF-Pipeline-Refactoring mit professioneller CV-LaTeX-Klasse (nächste Session):** + +1. **Tool-Recherche:** `moderncv` vs. `awesome-cv` vs. typst (oder andere). Vergleich nach Optik, Aufwand, MikTeX-Integration, DesTEngS-CI-Anpassbarkeit (`#3C68AE`, IBM Plex Sans). +2. **`cv.md` bleibt single source of truth.** +3. **Daten-Extraktion aus `cv.md`** für CV-Klasse-Features (`\cventry` / `\cvevent` etc.): + - Custom Pandoc-Filter (Lua oder Python) ODER + - Erweiterung von `build.ps1` mit Python-Pre-Processor, der `cv.md` → `cv.tex` transformiert. +4. **Implementierung, Sandbox-Test, visuelle Verifikation durch Thomas.** +5. Teilgebiet 01 nach erfolgreichem Output und Freigabe durch Thomas abschließen (R2-OK von Thomas: Status auf „abgeschlossen" im `zentral-index.md`). **S12 — PDF-Pipeline-Refactoring mit professioneller CV-LaTeX-Klasse:**