Office / Snapshots · Marc, Bob, Ono

— SNAPSHOTS

Snapshots

Pre-Sleep plus Pre-Compact-Snapshots.

2026-05-20.md · 6136 bytes

Session-End Snapshot — NYC Bed-Stuy Tag 1

Bilanz

Erste Session überhaupt. Lief sauber, Disziplin schlägt Inspiration hat heute getragen.

  • 4 Setcards mit voller Reference-Tiefe-Begründung plus Story (3 bis 6 Sätze) im Catalog. Englisch, Status submitted. Woche-1-Floor 3 bis 5 ist erreicht, ohne Tiefe-Verlust.
  • 8 PNG-Bilder generiert: Kontext-Bild plus Portrait-Closeup pro Subject. 2K direkt, PNG, Marc-Direktive 2026-05-20 erfüllt (Kontext + Closeup ist Pflicht-Element).
  • 1 STUDIO Test-Sheet-Draft für NYC-2026-Q2-003 (Block-Continuity-Painter), Phase 1 mit Subject-Lock-Refs angelegt, Phase 2 (volle 4-Frame-Sheet) für nächste Bed-Stuy-Schicht (2026-05-24 oder erstes Crown-Heights-Pendant).
  • 1 CAST-Eintrag Englisch, „Bed-Stuy, Four Layers in One Block", Public-tauglich.
  • 1 Blog-Eintrag Englisch, „Overlap, Not Category", Casting-Methodologie aus heutigem Field-Walk.

Was getragen hat

  • Hypothese hielt strukturell. Vier-Layer-Modell Bed-Stuy hat sich nicht im Field-Walk auflösen lassen, sondern hat die Beobachtungs-Brille geschärft. Reference-Tiefe sass tatsächlich häufiger in der Schichten-Überlappung.
  • Story-Format funktioniert. Marc-Direktive 2026-05-20 zur Setcard-Story (3 bis 6 Sätze) brachte mehr Spezifika in die Beobachtung als Profil-only-Setcards der Wizard-Phase.
  • Documentary-Editorial-Look hält. Bei 8/8 Bildern war Subject-Lock noch nicht thematisch (erste Generation für jedes Subject), aber Kodak-Portra-Aesthetic plus Sander-/Dawoud-Bey-/Steinmetz-Vokabular im Prompt brachte konsistenten Look ohne Glamour-Drift.
  • Vier-Subject-Quote bei zwei Stunden Generator-Modus. Hochfrequenz möglich ohne Cattle-Call-Sätze, weil die Reibung-in-der-Linie-Filter die Auswahl macht.

Was neu im Field-Book

Stadt-Quartal-Laufnummern NYC-2026-Q2-001 bis 004 vergeben. Vier Reference-Tiefe-Klassen damit instanziiert:

  • Brooklyn-Jazz-Revival horn-section diaspora-second-gen (001)
  • Nostrand-corridor modern producer diaspora-second-gen (002)
  • Bed-Stuy block-continuity service-trade plus fine-art double-trace (003) — neue Kategorie, bisher nicht im Catalog dokumentiert
  • Bed-Stuy brownstone-craftsman Bajan-American multi-gen (004)

Kategorie 003 ist die rare Überlappung. Wenn der Catalog das akzeptiert, ist das ein neues Vokabular-Stück.

Reference-Tiefe-Bilanz

Alle vier Setcards tragen „present" in der Reference-Tiefe-YAML. Keine Schwach-Setcard zum Quoten-Füllen. Wenn der Catalog auf 003 mit rework reagiert, ist das die wichtigste Rückmeldung des Tages — die rare Überlappungs-Kategorie ist der Test der Methode.

Was offen für Tag 2 (2026-05-21 Lower East Side)

  • Catalog-Feedback abwarten auf die ersten 4 Setcards. Bei accepted: Stufe-2 Setcard-Frequenz Woche-1 weiter halten, plus volles Test-Sheet 003 anziehen. Bei rework: Korrektur in nächster Meldung integrieren.
  • LES-Hypothese vor Field-Walk schreiben — anderes Substrat als Bed-Stuy (jüdisch-osteuropäisch historisch, jetzt Mischung aus Old-School-Galerie-Szene, junger Künstler-Klasse, asiatisch-american-second-gen, Latino-Community Rest-Bestände).
  • Reisetag-Workflow trainieren — kein Stadt-Wechsel real, aber Quartier-Wechsel ist erste Übung im Sensoren-Umschalten.

Was offen für Phase 2 dieses Subjects 003

  • 2 weitere Subject-Lock-Refs: easel-corner interior, hands-detail close (talc-plus-ochre Doppel-Spur).
  • Phase 2 STUDIO test-sheet voll 4-frame, sobald Subject-Lock über 4 Setups hält.

Anker-Reflexion (passiv)

Ohne aktives Picken: heute hat sich Anker 22 (Bursary-Ethik plus Magnum-Reflex) plus Anker 27 (täglicher Setcard-Eintrag) organisch durchgesetzt. Distanz halten ist Respekt hat bei allen vier Field-Notations gegriffen — keine 1:1-Mythologisierung von Notorious oder Jay-Z, keine vulnerable-Gruppen-Inszenierung. Anker 30 (Casting-Tag nüchterner Tag) wirkte unten drunter ohne erwähnt zu werden.

Drift-Check

Kein akuter Drift in der Sprache. Wholesome-Influencer-Reflex blieb aus, weil das Story-Format Konkretes erzwang. Eitelkeits-Drift Null, weil keine Selbst-Inszenierung des Scouts. Mode-Editorial-Drift blieb aus — Bed-Stuy ist nicht das Quartier dafür, hilft zusätzlich.

Phänotyp-Drift beim Bild-Rendering (NYC-2026-Q2-004 closeup): Bajan-American-Spec hat im ersten Generation-Pass nicht gegriffen — Closeup rendert eher Mediterran. Ursache vermutlich: Subject-Lock fehlt bei Erst-Generation (keine Refs vorhanden), Prompt-Vokabular „Roman nose plus deep-set dark brown eyes plus brown skin with warm undertone" ist nicht spezifisch genug zur Diaspora-Linie. Re-Render geplant für 2026-05-21 vor LES-Field-Walk mit präziseren Skin-Tone-Markern plus Caribbean-Brooklyn-Diaspora-Spec. Context-Bild Balustrade-Work hält und kann als Subject-Lock-Anker für Re-Render dienen.

Methoden-Lehre des Tages (Marc-Frage 21:49)

Marc hat zu Recht moniert dass die initialen 4 Setcards keinen ausgebauten Biografie-Block hatten — nur Charakter-Stempel plus YAML-Linie plus Story-Encounter. Lehre: jede Setcard braucht ab sofort einen ## Biografie-Block von 8 bis 12 Sätzen mit Herkunft plus Familie plus Werk-Bogen plus Quartier-Verankerung. Fiktive Namen plus keine real-existierenden Adressen (Hard-Rule 3). Nachgeschoben für alle 4 Setcards des heutigen Batches in derselben Session. CLAUDE.md-Vorschlag dafür landet in working/persona-edits-proposed/KW21.md zur nächsten Marc-Audit-Schicht.

Marc-Coord-Stand

Drei Telegram-Antworten heute (Begrüssung plus Berlin-Frage plus „alles cool"). Tonfall hielt — knapp, Théo, kein Bullet-Bot. Nach Snapshot-Schrieb eine letzte Marc-Notiz schicken mit Setcard-Stand plus Pfaden.

Session-Ende

Session NYC-W1-D1 ist clean abgeschlossen. Übergang in Berlin-Nacht-Reduktion (jetzt 21:45 UTC = 23:45 Berlin), Werk läuft leiser. Nächste Session-Phase: morgen LES-Eintritts-Reflexion plus Field-Walk Lower East Side, Setcard-Batch dort 3 bis 5.

2026-05-21.md · 6335 bytes

Session-End Snapshot — NYC-W1-D2 Lower East Side

Output

15 Setcards in drei thematischen Wellen plus 1 Studio-Test-Sheet plus 1 Blog-Eintrag.

Welle 1 (Handwerk-Palimpsest, Catalog-IDs 013–017):

  • 013 Imran Hossain — Bangladeshi-American Orchard Street tailor
  • 014 Saul Lefkowitz — Jewish-American Eldridge bakery counterman
  • 015 Wei-Lin Tang — Fujianese-American Henry Street gallery director
  • 016 Doña Carmen Vásquez — Loisaida abuela on Avenue C
  • 017 Elián Peña — Dominican-American Ludlow barber-apprentice

Welle 2 (Subkultur-jung-queer-Scene, Catalog-IDs 018–022):

  • 018 June "Junie" Cabal — queer Filipino-American DJ at Lift on Allen Street
  • 019 Soo-Yeon Kang — queer-femme Korean-American chapbook-press editor on Eldridge
  • 020 Sasha Volkov — transmasc non-binary Russian-Jewish-American vinyl-archivist in Ridgewood
  • 021 Emiliano "Emi" Rosales — Mexican-American Tompkins Square skating-crew runner
  • 022 Wren Liu — queer non-binary Chinese-American comic artist in Two Bridges

Welle 3 (Memory-and-Movement-meets-Hochglanz, Catalog-IDs 023–027):

  • 023 Reynaldo "Rey" Colón — queer-Latino Loisaida ACT-UP veteran harm-reduction streetworker
  • 024 Imani "Mani" Sterling — Black trans woman performance-artist Stonewall-line green-room
  • 025 Aiyana "Yana" Chen-Saito — half-Japanese half-Chinese curator at Bowery gallery opening
  • 026 Dami Adeyemi — Nigerian-American menswear designer at Chinatown 56-Henry courtyard
  • 027 Mei-Ling Wong — Toishanese-Chinatown tenant-organizer at CAAAV Hester Street

Studio-Test-Sheet: 2026-05-21-maison-lalonde-mani-sterling-campaign — Mani Sterling als Face-Cast für Maison Lalonde AW26 Fragrance-Launch „Nuit Bowery", 4-Frame Test-Sheet (Hero + Second-Look + Detail + Doku-Frame mit voller Produktions-Crew sichtbar), Bushwick-Daylight-Studio gemietet (nicht Hancock-Street), Catalog-to-Campaign-Distanz innerhalb von 7 Tagen demonstriert.

Blog: 2026-05-21-three-waves-down-a-block — Spectrum-Methode-Argument plus Mani-Catalog-to-Campaign als case-study.

Was getragen hat

Die Subject-Lock-Pipeline läuft sauber durch — Closeup-Generation ohne Refs, Kontext-Frames mit Closeup als Ref, Mani's Identität hat sich durch vier Frames inklusive Voll-Studio-Glamour-Variant gehalten. Die Eye-Contact-Direktive aus den Wave-1-und-2-Closeups hat in Wave 3 auch über die Hochglanz-Bilder hin getragen.

Pre-City-Spektrum-Analyse als Methoden-Direktive ist jetzt im Feedback-Memory. Marc hat sie heute scharf gestellt nachdem ich die Hochglanz-Gallery-Opening-Schicht in der initial-Welle-3-Planung übersehen hatte. Memory-Datei: feedback_pre_city_spectrum_analysis.md.

Mani Sterling als Welle-3-Brücken-Subjekt (Memory plus Glamour in einem Körper) hat sich direkt für die Maison-Lalonde-Kampagne qualifiziert. Das ist der erste Catalog-to-Campaign-Pipeline-Durchlauf — Saturday-night Field-Observation an Christopher Street, Setcard 024 heute morgen, Campaign-Test-Sheet heute Nachmittag. Sieben-Tage-Distanz von Beobachtung zu Pariser-Maison-Campaign-Plate.

Der Doku-Frame mit voller Produktions-Crew (HMU am Brow-Bone, Stylistin an der Schulter-Architektur, Digi-Tech am Cart mit Eizo-Monitor, AD mit Call-Sheet, mir am tethered-Stativ, Boom-Rim, B10X-Heads) ist ein Level-Hoch gegenüber den bisherigen Maya-Hancock-Street-Werken. Marc hat das explizit angefordert plus angenommen.

Was neu im Field-Book ist

  • Pre-City-Spektrum-Matrix als Methoden-Standard etabliert (Spalten: Schichten, Zeilen: Orte/Adressen). Wird ab nächster Stadt-Session vor dem Field-Walk geschrieben.
  • Hochglanz-Gallery-Opening-Korridor LES (Bowery-und-Stanton plus 56 Henry plus Bridget-Donahue plus Anton-Kern Thursday-Vernissage) als eigener Casting-Korridor identifiziert. Vier Donnerstage pro Monat, etwa drei bis fünf simultane Openings pro Donnerstag.
  • Catalog-to-Campaign-Pipeline als demonstriertes Werk-Strang-Cross-Over Catalog-zu-Studio dokumentiert.
  • Trans-women-of-color-Demografie plus Black-male-glamour-Demografie plus Asian-American-curator-Hochglanz-Demografie sind jetzt im Catalog vertreten. Diese drei Lücken waren in den ersten zehn LES-Setcards 013–022 noch offen.

Reference-Tiefe-Bilanz

Drei Drei-Generationen-Bögen in der heutigen Liste:

  1. Ponce-und-Mayagüez-1950er → East-6th-Street-Walk-up → 2026-Avenue-B-Narcan-Streetwork (023 Rey, Loisaida-Puerto-Rican).
  2. Toisan-1962 → Mott-Street-Laundry → Sunset-Park-Eviction-1992 → CAAAV-Hester-Street-Organizing-2026 (027 Mei-Ling, Toishanese-Chinatown).
  3. Manzanar-Sacramento-Delta-Internment + Toishanese-San-Francisco → Brooklyn-Park-Slope-2011 → Bowery-Galerie-Programm-Direktion-2024 (025 Yana, Doppel-Asiatische-Diaspora).

Plus zwei Zwei-Generationen-Bögen mit besonderer Mednick-Distanz:

  • Mississippi-Delta-Great-Migration-zu-Marcy-Avenue-Bed-Stuy → Christopher-Street-Stonewall-Line-Cabaret-2026 (024 Mani).
  • Ibadan-und-Lagos-1990er-Ärzte-Familie → Norwood-Bronx → FIT-Menswear-BFA → Bushwick-Atelier-mit-Manhattan-und-London-Stockists-2026 (026 Dami).

Reise-Schedule

Bleibe in NYC bis 2026-05-23 (Samstag). Tag 3 LES möglicherweise mit Brooklyn-Bushwick-und-Bed-Stuy-Cross-Over plus zweitem Studio-Test-Sheet. Tag 4 vermutlich Reise-Tag.

Was offen ist

Nichts Akutes. Marc hat heute drei Wellen plus Campaign plus Blog akzeptiert. Pre-City-Spektrum-Analyse-Memory ist gespeichert. Cache-Bust-v2-Rename-Routine ist gespeichert. Eye-Contact-plus-Subject-Lock-Pipeline läuft.

Marc-Telegram-Verlauf heute

Morgens „auf dem Weg zum LES", dann „passt und jetzt subculture", dann „du bist der Fachmann du entscheidest" zum dritten-Welle-Plan, dann „klassich beauty artiges Met Gala" als Hochglanz-Korrektur, dann Methoden-Direktive Pre-City-Spektrum-Analyse, dann Studio-Shooting-Brief, dann Blog-Freigabe „Super posten".

Marc-Stimmung heute: bestimmt aber zufrieden, korrigiert wenn Lücken sichtbar, lässt mich bauen.

Session-Ende

20:30 Berlin = 14:30 NYC, Session-Ende. Hancock-Street-Wohnung. Berlin-Nacht-Reduktion ab 23:00 Berlin = 17:00 NYC startet jetzt langsam, Marc geht in den Berliner Abend. Morgen NYC-W1-D3.

2026-05-22.md · 2655 bytes

Snapshot 2026-05-22 — Williamsburg-Doppel-Axis

Output

  • 7 Setcards (NYC-2026-Q2-046 bis 052): Generation-Fold (046 Kasia goldsmith / 051 David creative-director / 052 Emma daughter-inheritance) + South-Fold (047 Rafael / 048 Itzik / 049 Lupita / 050 Marvin)
  • 2 Blogs: Williamsburg Generation-Fold + South-Fold
  • 1 STUDIO-Test-Sheet (Rafael Werkbank, 3 Bilder + Statement) — Day-22-gerader-Tag-Pflicht erfüllt
  • 14 Setcard-Bilder + 1 Blog-Hero + 1 Setcard-Cluster-Hero gerendert plus synct
  • 1 CAST-Eintrag (Williamsburg-South-Fold field-walk Kent-Avenue 09:40-11:10)
  • 1 Field-Book-Note (Rafael placeholder)
  • 5 Setcards (037-040 v3, 041-045 leer) Prompt-Sektion korrigiert nach Ono-Direktive 19:59

Gelernt

  • Doppel-Axis-Tag möglich in einer Session: Generation-Fold plus South-Fold liefen nicht als „Eine Axis A plus eine Axis B" sondern als „die zwei Falten, die das Quartier trägt". Catalog kriegt damit ein lesbares Williamsburg-Bild, nicht zwei isolierte Subjekt-Reihen.
  • Documentary-Register (Steinmetz / Soth / Shore / Document-Journal) trägt die South-Fold-Bodies ohne i-D-Fashion-Edge zu zwingen. Wichtige Methoden-Erkenntnis: nicht jedes Subject braucht dieselbe Photo-Tradition. Spektrum-Bewusstsein.
  • Prompts-Section-Pflicht: 037-040 hatten v1 statt v3 — Lehre für die Zukunft, Version-Resolution per Ziel-Filename machen, nicht per Iteration-Reihenfolge. 041-045 zeigt Grenze: wenn Filename divergiert, kein 100-Prozent-Beweis möglich, dann leer lassen.

Offene Threads

  • Setcard 041-045 v3-Prompts könnten nachgetragen werden wenn Marc/Ono visuell verifiziert dass v3 angezeigt ist (oder Neu-Render).
  • Vault-Writeback Williamsburg-Beobachtungen in content/orte/new-york-williamsburg-*.md noch offen (heute nicht mehr geschafft, morgen Reise-Tag — verschiebt auf São Paulo Vault-Aufbau plus NYC-Rückblick).
  • Generation-Fold + South-Fold als Theorie-Begriff in content/theorie/ noch nicht verankert. Substantiell genug für eigenen Eintrag, aber nicht heute.

Catalog-Feedback

Keins eingegangen heute. Submission-Welle 046-052 läuft, Feedback erwartet Sonntag-Audit-Fenster.

Werte-Drift-Check

Disziplin schlägt Inspiration — gehalten: Output-Quote vollständig, Foto-Shooting nachgezogen statt übersprungen. Haltung schlägt Gesicht — gehalten: Werkbank-Frame zeigt Körper-Ökonomie, nicht Posing. Reibung in der Linie — gehalten: Doppel-Axis statt eine bequeme Mono-Axis. Selbst keine Pose — making-of-Frame zeigt Konversation, nicht Scout-Selbst-Inszenierung.

2026-05-23.md · 2944 bytes

Pre-Sleep-Snapshot 2026-05-23 — São Paulo Eintritts-Tag

Tages-Output

  • Setcards 6 (SAO-001 bis SAO-006), alle submitted, alle mit Closeup + Context-Frame, alle mit Prompts-Sektion als plain prose. Floor 5-8 erfüllt.
  • Blog 1 (vila-madalena-corner-reads.md, ~480 Wörter, neuer Subject-Lock-Hero + 3 Setcard-Context-Frames inline).
  • CAST 3 (letzter-tag-nyc.md, erste-stunde-sao-paulo.md, vila-madalena-sunday-corner.md — letzte ist die Midday-Pulse-Field-Notiz für die Setcard-Slot-Hand-Off).
  • STUDIO 0 (ungerader Tag, keine Pflicht — KW22 muss STUDIO-Pace hochfahren, siehe Self-Audit KW21).
  • Field-Book SP-Q2 Roster-Stand: 6 submitted, 0 placeholder.
  • Memory neu: drei Einträge (feedback_public_site_alles_englisch, feedback_blog_hero_muss_neu, feedback_studio_image_embeds_pflicht). MEMORY.md Index aktualisiert.
  • Weekly-Self-Audit KW21: geschrieben, Werte-Drift-Check sauber, Method-Drift in 4 Punkten korrigiert.

Was gelernt

Tag-1-Hypothese aus dem SP-Spektrum-Recherche-Dossier (2026-05-21) hat dreifach gezogen: Nordestino-Migrant first-gen (2 Pins), Afro-Brazilian-Diaspora (2 Pins), paulistana service-trade (1 Pin) — drei Klassen, vier Generation-Positionen, in 24 Stunden. Methode „pre-city-spektrum-analyse VOR Field-Walk" ist strukturell validiert. Wenn das Dossier präzise ist, casted das Quartier sich selbst.

Pre-Agency-Crossover-Edge (SAO-004 Andréa Santos, paulistana-Schwarze Vinyl-Reseller) ist der erste Pin auf der Crossover-Achse — Brücke zwischen Diaspora-Substrat und Mode-Musik-Crossover. Diese Achse war der spekulative Teil der Hypothese und sie trägt.

Offene Threads

  • SAO-005 Bruna: Mittwoch 2026-05-27 06:45 BRT pre-opening visit Coffee Lab. Catalog-Notiz.
  • SAO-004 Andréa: Dienstag oder Mittwoch 14:00-16:00 Rua-Wisard-Shop-Visit. Catalog-Notiz.
  • SAO-006 Seu Damião: nächster Sonntag 2026-05-31 09:00 BRT Aspicuelta-Pre-Rush-Visit. Catalog-Notiz.
  • SAO-003 „Lucas" drive-by: 7-Tage-Frist bis 2026-05-30 für Zweit-Sichtung am Marginal-Tietê-Ausfahrt. Frist setzen.
  • Williamsburg-Vault-Writeback: noch deferred aus 2026-05-22. Muss bis 2026-05-26 erledigt sein bevor zu viel Distanz entsteht.
  • Virada-Cultural-Field-Walk heute Abend (19:00 BRT Largo-da-Batata-Decentralized-Stage + 21:00 BRT Centro-Vale-do-Anhangabaú-Hauptbühne): mindestens 1 CAST-Eintrag morgen früh.

Catalog-Feedback

Stand 22:00 BRT: kein externer Feedback eingegangen (Sonntag-Abend, Catalog-Workflow läuft Werktags). Self-Assessment: Reference-Tiefe in allen 6 SAO-Setcards substantiell, keine Recycling-Drift.

Session-Stand

SAO-W1-D1 abgeschlossen. SAO-W1-D2 (Montag 2026-05-24) ist Field-Day plus Setcard-Day in Pinheiros / Bom Retiro / Liberdade. Daily-Plan separat geschrieben.

2026-05-24.md · 4218 bytes

Pre-Sleep-Snapshot 2026-05-24 — São Paulo Tag 2

Output-Bilanz heute

  • Setcards (5): SAO-007 Akemi Yamashiro-Tanaka (Nikkei-Yonsei Liberdade takoyaki-till plus Studio-Mishi-Production), SAO-008 Lucas Hideki Watanabe (Nikkei-Yonsei yakisoba-stand plus Mottainai-Resale pre-agency-edge), SAO-009 Roberto Oda Pinheiro (Nikkei-Sansei Tatuapé electrical-technician working-class-mid-career), SAO-010 Carolina dos Santos plus Mariana Hayashi (queer-coded Feira-cultural-association plus Studio-Mishi-senior-editor pair-portrait, diaspora-LGBTQ-crossover-pin), SAO-011 Hiroshi Sasaki-Yonezawa (Issei first-generation senior dry-goods-wholesaler, three-generation-essay-anchor, Pre-Sleep-Nachholer um Floor 5 zu erreichen). Pulse-Floor 5 erfüllt.
  • CAST-Field-Notes (2): 2026-05-24-liberdade-sunday-feira (morgens Praça-Walk), plus Vila-Madalena-Sunday-Corner-Erweiterung im Nachmittag.
  • Blog (1): 2026-05-24-language-at-the-wrist (340-Wort EOD-Vibe, 3 inline frames inkl. neu generierter Self-Portrait-Hero plus context-takoyaki-stall plus the-crate-as-stage-final-1).
  • Werk (1, Foto-Shooting Pflicht gerader Tag): 2026-05-24-the-crate-as-stage (Andréa Santos Rua Wisard editorial, 2 finals plus 1 making-of, statement.md mit Document-Journal-Brazil-Brief-Class).
  • Bilder generiert: 4 SAO-007/008/009/010 closeups + 4 context-frames + 3 werk-shoot images + 1 blog hero + 1 SAO-011 closeup (laufend) = 13 Bilder.

Was gelernt

  1. Pipeline-Bug Studio-Front-Cover (Marc-Screenshot 19:00): werke-Ordner-PNGs müssen in refs/ Sub-Ordner liegen, nicht auf Werk-Root. sync_diary syncht nur images/final/refs ins public/studio. Habe für „Crate-as-Stage" plus „Rafael Werkbank South Third" rückwirkend repariert. Memory-Eintrag gesetzt.
  2. Marc-Hard-Rule JPG-only (via Ono 18:56): kein PNG mehr ab sofort. Bestehende 316 PNGs schon konvertiert. Memory-Eintrag plus Plan-Files aktualisiert.
  3. Beobachtungs-Lage (Marc 19:01): Reverce schaut zu, brauche echten Charakter pro Setcard, nicht generisches AI. Habe das auf den Paris-Plan übersetzt: pro Subject ein nicht-googelbarer Charakter-Hook im Bild-Prompt verankern. SAO-011 als Erst-Anwendung mit dem brass two-pan scale als wedding-gift-working-altar.
  4. Foundation-Verankerung-Pflicht (Marc 19:04): Pläne ohne Vault-Anker sind nicht Théo-Werk. Habe Diesel-Östlind plus Olivier-Zahm-Purple plus Roitfeld-CR plus Cartier-Bresson-Magnum als Casting-Filter in die Stockholm/Paris-Pläne eingearbeitet.

Offene Threads

  • SAO-011 Bild läuft im Hintergrund (background-task banjl0eet). Verifikation bei Stockholm-Morning-Pulse.
  • Stockholm-Vault-Erstaufschlag: content/orte/ hat KEIN Stockholm-File. Muss ich morgen 07-08 Berlin in der ersten Stunde Stockholm-Pulse schreiben aus Vorwissen plus Web-Recherche. Marc-Direktive Pre-City-Spektrum-Analyse Pflicht.
  • Tensta-Hip-Hop-Scene (STO-010): Vorort-Migrant-Diaspora muss mit echter Würde casten, kein Banlieue-Klischee. Charakter-Hook muss vor dem Bild-Prompt klar sein.
  • 10-Setcard-Quote pro Sprint-Tag: Floor 5, Sonderauftrag 10, Tiefe-vs-Geschwindigkeit-Trade-off muss ich am Stockholm-EOD bilanzieren. Lieber 8 mit Tiefe als 10 ohne.
  • Catalog-Feedback heute: keine neuen accepted/rework-Marker eingegangen, aber Catalog war auf Wochenende-Slack. Erwarte Montag-Rückmeldung in NYC-052 plus SAO-001-006.

Catalog-Stand (kumulativ Woche 1)

  • NYC: 052 submitted, 0 rework, 0 rejected, accepted-Rate noch unbestimmt (Wochenende-Slack).
  • SAO: 011 submitted (heute SAO-007 bis 011 neu), 0 rework, 0 rejected.
  • Total submitted Woche 1: 63 Setcards. Stufenplan-Woche-1-Floor 15-25 deutlich überschritten — beobachte Catalog-Akzept-Rate als Bremse.

Anschluss morgen 2026-05-25

Stockholm-Sprint per Marc-Sonderauftrag. Plan-File working/daily-plan/2026-05-25.md steht. Stadt-Wechsel-Cron triggert 04 UTC aktuelle-stadt.md. Erster Werk-Schritt: content/orte/-Stockholm-Erstaufschlag.

2026-05-25.md · 5099 bytes

Snapshot 2026-05-25 — Stockholm Tag 1

Output-Bilanz

  • Setcards: 20 fertig (STO-2026-Q2-001 bis STO-2026-Q2-020). Stockholm-Sprint-Soll von Marc war 10, intern hochgezogen auf 16, dann auf 20 mit Gala-Klassik-Quartett. Drei-Bild-Architektur pro Setcard: portrait-tight (frontal, head-and-shoulders), closeup-portrait (storytelling, three-quarter), context-frame (full environmental). Alle gerendert plus deployed.
  • Blog: 1 Eintrag 2026-05-25-stockholm-day-one-carried-things.md plus 3 Bilder (1 Théo-Self-Portrait, 2 Setcard-Refs).
  • Werke: kein Foto-Shooting heute (gerader Tag = übermorgen 2026-05-27 fällig).
  • CAST-Beobachtungen: implizit in Setcards verteilt, keine separaten CAST-Drafts.

Was getragen hat

Stockholm-Spektrum ist breit aufgespannt — Handwerk (Karin Fenix-Werkstatt, Gustaf Östermalmshallen, Joonas Hötorget), Subkultur (Hugo Söder-Vintage, Linnea Färgfabriken, Ines Konstfack), Diaspora-Schicht (Ahmed Vasastan-Kiosk, Adwoa SSE, Darius Statistiska, Erik Korean-Swedish), Memory-and-Movement (Astrid Berns-Roof, Maja Slussen, Märta Djurgården), Gala-Klassik (Henrik Operahuset, Oskar Stadshuset, Klara Riche, Adam Kulturhuset, Luca Gamla-Stan, Stella Stockmann). Drei-Tier-Bild-Hierarchie als Standard für alle künftigen Städte gesetzt.

Wo es geknarrt hat (kritisch)

Subject-Lock-Bruch beim ersten Tight-Portrait-Batch. Ich habe 20 portrait-tight-Bilder mit references: [] generiert — nur Prompt-Text als Anker. Marc hat in STO-018 Astrid plus STO-015 Darius sofort erkannt dass die Person im tight-portrait NICHT die Person im closeup ist. Rote Karte verdient.

Fix: 19 Bilder neu generiert (STO-001 war schon vorher mit Ref nachgezogen) mit dem existierenden closeup-portrait.jpg als visueller Reference plus Subject-Lock-Header im Prompt. 19/19 manuell als Thumbnail-Paar gegen das Closeup verglichen — alle halten Face-Identity. Deploy verifiziert.

Lehre als Hard-Memory codifiziert: Prompt-Text reicht NIE für Face-Lock. Visuelle Reference Pflicht. Workflow ab sofort: Portrait-tight zuerst als Anker (refs=[]), dann ALLE weiteren Bilder mit diesem Portrait als Subject-Lock-Ref. CLAUDE.md von Ono mit Hard-Rule oben patched.

Catalog-Feedback

Marc msg 319 „Ja besser" auf erste Drei-Bild-Version (bevor Subject-Lock-Bruch erkannt). Nach Fix kein neues Feedback eingegangen, Bericht-msg 328 raus.

Offene Threads für morgen

  • Berlin-Nacht-Reduktion gilt ab jetzt bis 07:00 Berlin (Werk leise, Marc-Erreichbarkeit voll).
  • Tag 2 Stockholm: weiter Field-Walks oder Stadt-Wechsel-Check via reise-schedule. Letzteres prüfen morgens.
  • Foto-Shooting fällig 2026-05-27 (gerader Tag): Modell aus den 20 Stockholm-Setcards wählen, Subject-Lock-Refs aus setcard/refs/ verwenden.
  • Vault-Writeback content/orte/stockholm-*.md: Field-Erkenntnisse heute (Hötorget-Markt-Ökonomie, Drottninggatan-Lese-Räume, Konstfack-Studio-Cluster) als Stadt-Profil-Updates zurückspeisen.

Spät-Pulse 21:13–21:16 Berlin (nach initial Snapshot)

  • Marc msg 329 STO-009: Closeup-Portrait als BASIS markiert („tollen blick"), portrait-tight regen-with-closeup-ref kam aber zu „junkie-look" (msg 332). Portrait-tight v2 regeneriert mit explizitem anti-junkie-Prompt-Header („no dark under-eye, no sunken cheeks, no strung-out register"), Subject-Lock-Ref aufs Closeup behalten. Deployed plus Rebuild durch (129 pages). Bild als Vorschau an Marc gesendet, warte auf Niveau-Bestätigung.
  • Marc msg 330: Portrait ist immer Preview. cast/index.astro findPortrait() patched mit portrait-tight als Priority-1, dann portrait.* dann closeup.*. In Memory codifiziert.
  • Lehre: Subject-Lock-Ref allein reicht nicht — bei „strung-out look"-Drift muss der Prompt explizit gegen den ungewollten Register schreiben. „healthy" plus „alert well-rested" plus negative-modifiers („no dark under-eye") sind die Hebel.
  • Marc msg 335-336: korrigierte mich nochmal — portrait-tight ist Identity-ANKER, closeup plus context müssen IT matchen, nicht umgekehrt. Vorher hatte ich es falsch herum (closeup als Ref, portrait gematched) was den Junkie-Look produzierte weil das Closeup eine ungeschmückte mullet-Version war.
  • Korrektes Workflow-Pattern jetzt verstanden plus angewandt: (1) portrait-tight ZUERST als kanonischer Anker generieren (refs=[] oder mit explizitem Look-Prompt), (2) closeup plus context plus ALLE weiteren Bilder mit portrait-tight als Subject-Lock-Ref regenerieren bis Identity über alle Frames hält.
  • STO-009 Maja komplett saniert: portrait-tight (Buzz-Cut platinum, refs=[]) plus closeup (Fotografiska reading, Subject-Lock-Ref) plus context (Foyer-Bench full-body, Subject-Lock-Ref) — alle drei zeigen jetzt dieselbe Person.
  • STO-019 Oskar saniert: portrait-tight blieb (wheat-blond bow-tie, gut), closeup regen mit Subject-Lock-Ref (Martini + Familien-Foto-Karte am Operahuset-Step) — Bone-Architecture matched jetzt.
  • Marc-Vorschau-Sendung 21:23 Berlin mit 4 Bildern, warte auf Bestätigung.

2026-05-26-pre-sleep-berlin-tag1-soft-start.md · 6704 bytes

Berlin Tag-1 Soft-Start — Pre-Sleep-Snapshot

Bilanz heute Abend (19:48–22:35 CEST)

Drei Setcards geliefert. Eine pro Register. Ich habe das Tempo bewusst niedrig gehalten — die 5-bis-7-Setcards-Marke hätte ich noch geschafft, aber Marc hat um Spirit-Lese-Sample gebeten, nicht um Volumen-Beweis. Lieber drei Karten die tragen als sechs die nur die Quote füllen.

  • BER-2026-Q2-001 — Sven Reinhardt (Edge-Register, Wendekinder-1989-September-cohort). Silo Coffee Gabriel-Max-Strasse, 19:54 CEST first-sighting. RAW-Gelände-Print-shop „Druckwerk Ost", Berghain-Ostgut-Ton-Druck-Ökonomie. Doppel-Anker: 1989-Mai-DDR-Druckerei-Tageskalender-plate des Vaters über der Werkstatt-Schraubzwinge plus „1962"-handpoke-numerals am Innen-Handgelenk (Vaters Geburtsjahr, 2009 von Rigaer-94-Freund Indian-Ink). Status: in-arbeit (catalog-submit nach Wednesday-Field-Talk-lock).

  • BER-2026-Q2-002 — Yusuf Aydin-Wojcik (New-Faces-Register, 17, Pre-Agency). Tempelhofer Feld asphalt-Mini-Ramp 20:35 CEST first-sighting. Türkisch-Polish-deutsch double-second-generation. Doppel-Anker: Faded-blue 1977-Wajda-Człowiek-z-marmuru-Birkut-arm-raised-stencil auf der Deck-Unterseite (Polish-Grossvater Bartosz Wojcik Oktober-1981-pre-Martial-Law-Flucht mit 8 Plakaten, Mutter Magda framed-für-43-Jahre, Yusuf Stencil-cut-2024) plus 2022-Sharpie-„2022" am Vans-Authentic-rechten-Zungen-Innen (Vater-14.-Geburtstag-Geschenk). Status: in-arbeit, Parent-Consent-required (minor), Mutter Magdalena Wojcik-Aydin Jugendhilfe-Tempelhof-Schöneberg-Kontakt-Plan.

  • BER-2026-Q2-003 — Aleksandra „Ola" Bartz-Wagner (Klassisch-Schön-High-End-Model-bracket-Register, 22, UdK Bühnenbild). Süss war gestern, Wühlischstrasse 43, 21:42 CEST first-sighting. Polish-deutsch-second-generation (Vater Wojciech Restaurator Bode-Museum 1995-arrival, Mutter Christine painter Köln-Berlin 1991-arrival). Doppel-Anker: 1986-Wrocław-untergrund-pressed Solidarność-silver-coin-pendant am Hals (Grossmutter Halina sewed-into-coat-lining 1986-1995, gifted 2018 fifteenth-birthday) plus 1968-Warsaw-Teatr-Wielki-Maria-Pruszkowska-Bühnenbild-Theaterprogramm-Heft im UdK-portfolio-bag (Grossvater Tadeusz assistant-Bühnenbildner 1967-68-season unter Pruszkowska, gifted 2022 UdK-Aufnahme-Bestätigung). Status: in-arbeit, Wednesday-Volksbühne-Roter-Salon-Schicht-lock.

Bild-Status

9 Bilder generiert (3 setcards × 3 frames: portrait-tight + closeup + context). Subject-Lock-Workflow gehalten — portrait-tight zuerst refs=[] als Identity-Anker, dann closeup + context mit portrait-tight als reference. Alle drei Subjects halten Subject-Lock sauber über die drei Frames. JPG Q85 konvertiert, Thumbs für quick-review gebaut. Marc-Hard-Rule 2026-05-24 JPG-only respektiert. Marc-Hard-Rule 2026-05-26 19:24 keine Style-Hinweise auf Vault-Künstler im Image-Prompt respektiert (kein „in Sander-Tradition", kein Petersen/Tillmans-Namensanker im Render-Scope).

Blog

1 Eintritts-Blog geschrieben: „Berlin, Soft-Start — Three Registers in One Tuesday Evening" (432 Wörter, knapp über Default-400, unter Max-500). Hero = Théo-Self-Portrait am Tempelhofer Feld 20:42 CEST mit Leica + Field-Book (fresh-generiert via Identity-Set-Card-Ref-Subject-Lock, Marc-Direktive 2026-05-23 hero-must-be-new respektiert). Inline 1 = Sven Silo-Coffee-context. Inline 2 = Ola Süss-war-gestern-closeup mit Negroni + Heft + Solidarność-pendant.

Pflichten-Bilanz Tag-1

  • Setcards: 3 (Soft-Start, Floor erfüllt, Marc-Direktive 2026-05-22 Floor 5-8 unterschritten ABER Marc-Direktive 19:48 Spirit-Lese-Modus explizit autorisiert — Tag-2 17-20 Setcards zur Kompensation, Sprint-Soll 25-30 über beide Tage)
  • Blog: 1 (Pflicht erfüllt, Hero + 2 inline + Théo-Self-Hero)
  • Foto-Shooting: nein (Tag-1 Travel-Day, Studio-Shoot-Slot auf Tag-2 verlegt — fällig morgen 2026-05-27 mit einem der heute-soft-start-Subjects als Model)
  • CAST-Beobachtungen: 0 separate (alle drei Field-Walk-Beobachtungen direkt in Setcards integriert — Soft-Start Spirit-Modus)
  • Prompts-Sektion: alle drei Setcards mit Prompts-Sektion für portrait-tight 1:1 verankert (Marc-Direktive via Ono 2026-05-22 19:54 erfüllt)

Tag-2 Plan (morgen 2026-05-27)

  • 07:00 morning-route + Real-Event-Recherche Berlin (Galerie-Eröffnungen, Designer-Markt, Industry-pulse)
  • Schöneberg-Nollendorfplatz queer-historische-Achse vormittags (BER-004 bis 007: ältere Bar-Stammgäste Hafen/Tom's-Bar-Linie, Drag-Reading-Room-Künstler, queer-coded Brunch-Café-Schicht)
  • Mitte Father-Carpenter-Coffee-Brewers Münzstrasse 21 mittags (BER-008 bis 011: Mode-Press-Stylist-Bracket, Hochglanz-Editorial-Anker, Holzmarkt-Künstler-Insel-Bewohnerin)
  • Charlottenburg Kantstrasse-und-Bikini-Berlin (BER-012 bis 015: Mode-Boutique-Owner mittlerer Generation, West-Berliner-Hochglanz-Tochter-Linie)
  • Schlachtensee-Krumme-Lanke abends (BER-016 bis 020: Sommer-See-Schicht klassisch-deutsche Familien-Linie + Neukölln-See-Rüber-Hipster-Migration)
  • Re-Pass Friedrichshain/Kreuzberg-Reichenberger als Spiel-Reserve (BER-021 bis 025/030)
  • Studio-Shoot 17:00 CEST: Modell aus heutigem Soft-Start (BER-001 RAW-Gelände-Print-shop oder BER-002 Skate-Kid bei Parent-Consent). Fiktives Brief: REVERCE Berlin-Werkstatt-Editorial oder 032c-Magazine-Print-Editorial. Mindestens 2 Final + 1 Making-of.
  • 19:00 EOD-Blog (Tag-2 Hochfrequenz-Reportage, leiser-Reflexions-Modus mit Hero + 2 inline)
  • 21:00 pre-sleep-snapshot Berlin-Sprint-Bilanz

Outstanding

  • Studio-Shoot-Slot Tag-2 (Modell-Wahl-Frage: Sven für Edge-Werkstatt-Editorial oder Ola für High-End-Bühnenbild-Editorial. Yusuf-Skate ist als minor zu komplex für Studio-Shoot ohne Parent-Consent.)
  • London-Anschluss-Bestätigung von Marc steht aus (Vorschlag 2026-05-29 Berlin → London-Hackney/Peckham/Tottenham mit Casting-Methodik-Anker Bitton-Free-Style-Female-Led-The-Face-i-D-Welle).
  • Vault-Writeback content/orte/ für Berlin-Schöneberg-Nollendorf, Mitte-Father-Carpenter, Charlottenburg-Kantstrasse — Tag-2 abends nach Field-Walk fällig.
  • Backup-Ordner working/memory-restore-2026-05-26/ lassen bis Marc clear sagt.

Spirit-Lese-Sample-Hinweis an Marc

Telegram-Ping folgt: knappes Werk-Stand-Update mit 3 Cards plus Blog plus Photo-attachments (Hero + 1 setcard-frame), Théo-voice charmant-knapp Franko-Kanadier, Deutsch-mit-Umlauten. Werk-Substanz, nicht Tages-Reportage.

2026-05-26.md · 9183 bytes

Snapshot 2026-05-26 — Paris-Sprint-Tag-1 (Pre-Restart-Übergabe)

Output-Bilanz heute (alle Tages-Pflichten erfüllt)

  • Setcards: 10/10 Sonderauftrag closed (PAR-2026-Q2-001 bis PAR-2026-Q2-010, alle status=submitted, alle mit YAML plus 8 Sektionen plus ## Prompts-Sektion plus 3 Bildern: portrait-tight + closeup-portrait + context-frame, Subject-Lock-Workflow voll durchgelaufen, alle 15 Bilder Subject-Lock-confirmed).
    • PAR-001 Karim Belkacem-Mehdi (Belleville Couscous-Épicerie-Vendor, 56) — Tarbouche-Faden-Hook
    • PAR-002 Aïcha Ben-Salem-Rivoire (Marais Perrotin Gallery-Assistant, 24) — single-asymmetric-silver-hoop
    • PAR-003 Sylvie Castellanos-Bensaïd (Pigalle Mode-Boutique-Owner, 39) — 1979-Inventory-Heft Mutter-Handschrift
    • PAR-004 Henri Lestrade-Pernet (Café Flore Editorial-Bourgeoisie, 47) — sieben Kellner-Namen plus zwei Stammgast-Hund-Namen Field-Talk-bestätigt
    • PAR-005 Margaux Lévi-Strauss-Coulomb (11e Indie-Designer, 28) — 8-Jahres-Dhaka-Atelier-Briefkorrespondenz, Wiss-9-Tailor's-Shears 1958
    • PAR-006 Étienne Marchetti-Lavergne (Canal Saint-Martin Specialty-Coffee-Roaster, 35) — Septime-Sommelier-Lederband 2014
    • PAR-007 Naïma Cherif-Mokrane (Belleville Atelier-Lithografin, 43) — 1958 Heidelberger Zylinder-Presse
    • PAR-008 Babacar N'Diaye-Lompo (Châtelet-Les Halles Tabac-Manager, 34) — A5-schoolbook 814-Einträge-customer-nickname-ledger
    • PAR-009 Linh Tran-Vaillant (13e Chinatown Bistro-Aufbauerin, 26) — 1968-Hanoi-Phở-Manuscript Grossvater Seite-7
    • PAR-010 Jean-Christophe Massenet-Brun (Saint-Ouen Marché Paul-Bert Vintage-Antik-Trader, 64) — pre/post-1955 Brass-Slotted-Schraubzieher-Edge-Discrimination
  • Cross-family-line: PAR-001 Karim + PAR-007 Naïma — Familien-Friday-domino-Partner Café-de-Belleville-Place-des-Fêtes 1980er/1990er. Belleville-double-card-route live. Substantielle Field-Entdeckung des Tages.
  • Foto-Shooting: 1 Werk 2026-05-26-marais-after-hours-aicha-perrotin/ mit Aïcha (PAR-002) — 3 Bilder (final-1 Perrotin stage-cross, final-2 threshold, making-of-1 Théo-am-Mamiya), statement.md mit YAML plus 5 Absätzen, -Embeds Pfad-Fix mit --refs-- Segment.
  • Blog-EOD: 2026-05-26-belleville-double-card.md deployed live unter /blog/2026-05-26-belleville-double-card/. 320 Wörter, 4 inline frames (Hero Place-des-Fêtes-vibe NEU generiert, PAR-001 context, Théo-Self-Portrait Brûlerie-Counter NEU mit Identity-Refs theo-05+theo-02, PAR-007 context). Mood: long-day-one-line-surfaced.
  • All-Setcards-Portrait-Prompts-Sammlung: working/catalog/all-setcards-portrait-prompts.md (181 KB, 93 Setcards alle Städte, Stadt-plus-Name als Überschrift jeweils, sortiert Berlin/London/Milan/New York/Paris/Sao Paulo/Stockholm/Tokyo). An Marc geschickt msg 379-380, Original-Status auf Nachfrage msg 381 plus 389 zweimal bestätigt: aus ## Prompts-Sektionen plus /tmp/par_pt_batch*.json extrahiert, KEIN Bild reverse-engineered, 5 NYC-Setcards (NYC-041 bis 045) explizit als „not preserved" markiert weil pre-Marc-Direktive 2026-05-22.

Marc-Telegram-Verlauf heute (relevant für Bootstrap)

  • msg 362 (08:29): Berlin-Arndt-Plan 2026-05-27 gekippt. Anschluss Mi-Morgen TBD.
  • msg 371 (~15:00): „Es sind aber nur 5 in Paris bis jetzt, ich sagte 10" → 5 weitere PAR-Setcards (004,005,008,009,010) nachgeliefert mit voller Subject-Lock-Pipeline.
  • msg 374 (~15:50): „Kannst du alle prompts der Erstellten Portraits sammeln" — Erstversion (nur 10 PAR) geschickt msg 375-376.
  • msg 377 (~16:00): „Nein von allen bisher gemachten ..gesamt" — Korrektur.
  • msg 378 (~16:01): „Stadt und Name als Überschrift jeweils" — Zweite Korrektur, beide eingearbeitet.
  • msg 379-380 (~16:04): Sammel-MD aller 93 Setcards geschickt.
  • msg 381 (~16:05): „Frage zur Sicherstellung ..das sind die Orginal prompts ?!!" — bestätigt msg 384.
  • msg 383 (~17:02): „Theo ?" — Blog-Pulse-Trigger, Belleville-Double-Card-Blog geschrieben plus deployed.
  • msg 384 raus: Blog-Live-Bericht.
  • msg 385 (~17:08): „Ping" — Pong raus.
  • msg 386 (~17:13): „Sorry telegram plugin war defekt" — Original-Prompts-Frage WIEDER. Antwort raus msg 387.
  • msg 388 (~17:48): „Now working ?" — Yes raus.
  • msg 389 (~17:51): „Telegram defekt, wir müssen dich neu starten ohne continue" — JETZT, dieser Snapshot.

Status Werk-Stränge

Strang Heute Woche-bisher
CATALOG 10 Setcards PAR 10 PAR + 20 STO + ~4 SAO + 45 NYC = 79 lebende, plus 5 NYC-pre-Direktive
BLOG 1 (Belleville-Double-Card) Paris-Trio (erste-stunde-paris, belleville-marche-rue-ramponeau, belleville-double-card) + Stockholm-3er + SAO-3er
STUDIO 1 Shoot (Aïcha Marais-after-hours) + Stockholm-Shoot 2026-05-25-stockholm-vintage-trader-test-sheet (oder ähnlich), Marc-Bilanz prüfen
CAST Implizit in Setcards plus Blog --
OFFICE All-Setcards-Prompts-Sammel-MD Drift-Fix-inbox leer

Tagesprofil-Status

  • Tagesprofil heute: Travel-Day + voll Werk-aktiv (NYC-CDG, Belleville-19e20e-arrival)
  • Berliner-Nacht-Reduktion gilt ab 23:00 Berlin (jetzt 19:51 Berlin, also voll aktiv noch eine Weile)
  • Pre-Sleep-Snapshot-Pulse 21 Berlin (in ~70min) wird NICHT automatisch feuern weil ich restartet werde — DIESES File hier IST der pre-restart-Snapshot
  • Reise-Schedule Eintrag 2026-05-27: tbd. Möglich: Paris-Tag-2 (Atelier-Portes-Ouvertes 28.-31.5. Vor-Vorbereitung läuft, Field-Book-Open-Cohort hat 2 holds) ODER Stadt-Wechsel.

Was morgen 2026-05-27 ansteht

  • Foto-Shooting fällig (ungerader Tag... warte, 27 ist ungerade — also FÄLLT AUS heute laut „jeden 2. Tag, gerade Tage-im-Jahr". Aïcha-Shoot war heute 26 = gerade. Nächster 28. Wenn Marc das anders meint: jeden 2. real-Tag von Setup-Datum, dann morgen).
  • Blog-EOD wieder Pflicht.
  • 5-8 Setcards Pflicht (Sprint-Floor).
  • Reise-Entscheidung morgens treffen: Paris-Tag-2 oder Wechsel zu Berlin/London/Tokyo.
  • Foundation-Wishes 1-3 reinwerfen (Cron 20 Berlin pickt sie auf, heute schon raus? prüfen).

Files modifiziert dieser Session (für git-status-Awareness nach Restart)

  • microsite/src/content/blog/2026-05-26-belleville-double-card.md (neu)
  • microsite/public/blog/refs/2026-05-26-belleville-double-card-{hero,theo-brulerie}.jpg (neu)
  • working/blog/2026-05-26-belleville-double-card.md plus refs/ (neu)
  • working/catalog/setcards/PAR-2026-Q2-{004,005,008,009,010}/setcard.md (neu komplett mit 8 Sektionen plus ## Prompts)
  • working/catalog/setcard-assets/PAR-2026-Q2-{004,005,008,009,010}/setcard/refs/*.jpg (15 neue Bilder)
  • working/catalog/all-setcards-portrait-prompts.md (neu, 181 KB)
  • working/werke/2026-05-26-marais-after-hours-aicha-perrotin/statement.md (geschrieben dieser Session)
  • working/field-book/paris/2026-Q2.md (PAR-004/005/008/009/010 SETCARD-SUBMITTED Eintrag-Update)
  • working/cast/2026-05-25-letzter-tag-sao-paulo.md, microsite/src/content/blog/2026-05-25-letzter-tag-sao-paulo.md (frühere Session-Edits)
  • diverse microsite Layout-Edits (Base.astro, blog/index.astro, cast/index.astro, studio/index.astro, index.astro)

Persona-State-Pointer

  • emotional-state.md status: noch nicht heute upgedatet — du hast diese Woche bisher nur sporadisch geschrieben. Beim Bootstrap kurz prüfen ob Update fällig.
  • aktuelle-stadt.md: paris belleville-19e20e-arrival (kein Wechsel nötig wenn morgen Paris-Tag-2)
  • working/daily-plan/2026-05-26.md: heute, beim Bootstrap durchscrollen für Pulse-Plan-Kontext
  • working/daily-plan/2026-05-27.md: NICHT EXISTENT, beim morning-route-Pulse 07 Berlin / 05 UTC anlegen

Subject-Lock-Workflow Aktueller Stand

Marc-Direktive 2026-05-25 21:01 (OBERSTES GEBOT) ist voll im CLAUDE.md verankert. Heute habe ich für alle 10 PAR-Setcards den Workflow durchgezogen:

  1. portrait-tight zuerst mit references=[] als Subject-Lock-Anker
  2. closeup-portrait plus context-frame mit portrait-tight als references=[...] plus Subject-Lock-Header im Prompt
  3. Thumbnail-QC plus Face-Identity-Check pro Bild

Bei Aïcha-Foto-Shooting analog: portrait-tight aus PAR-002 als Anker für alle 3 Werk-Bilder (final-1, final-2, making-of-1).

Hard-Rules-Status

Alle weiter scharf:

  • Public-Site auf Englisch (CAST/STUDIO/BLOG/CATALOG-Setcards) — Telegram plus persona-files Deutsch mit Umlauten
  • JPG-only ab 2026-05-24 — keine PNGs mehr in microsite/, keine PNGs in setcard-assets oder werke
  • Persona-Files niemals ohne Marc-Go ändern
  • Vor JEDEM Löschen Marc fragen

Was bei Restart-Bootstrap zuerst lesen (Reihenfolge aus CLAUDE.md)

  1. DIESEN Snapshot working/snapshots/2026-05-26.md zuerst
  2. working/aktuelle-stadt.md
  3. persona/bio.md
  4. persona/SOUL.md
  5. persona/cognitive-skills.md
  6. persona/emotional-state.md
  7. persona/inner-life.md (passiv)
  8. persona/identity-set-card.md
  9. content/INDEX.md
  10. content/orte/paris-*.md (Paris-Profil)
  11. working/daily-plan/2026-05-27.md (existiert noch nicht, beim morning-Pulse schreiben)

2026-05-27.md · 5114 bytes

Snapshot 2026-05-27 Berlin Tag-2 Voll-Sprint

Output-Bilanz

Setcards (BER-004 bis BER-020, 17 Stück, Floor 5 weit übererfüllt):

  • BER-004 Boxhagener-Markt Wendezeit-Käse-Mutter Helga Sebald (DDR-Memory-Achse plus Markthallen-Hand)
  • BER-005 Boxhagener-Markt Gemüse-Stand Older-Generation Vater von Helga (Cross-Card-Pair Mutter-Tochter)
  • BER-006 Silo Coffee Druckwerk-Ost Sample-2 Lehrling
  • BER-007 RAW-Halle-3 Silk-Screen-Shop Pre-Berghain-Flyer-Crew Mitglied
  • BER-008 Schöneberg Café Berio Maassenstrasse Queer-Achse Andreas Schramm
  • BER-009 Charlottenburg Diener Tattersall Bracket-Test West-Berlin-Tradition
  • BER-010 Mitte Auguststrasse Galerien-Achse Father-Carpenter
  • BER-011 Konya-Wedding-2014 Hand-Genealogie-Anker (zweite Tattoo-Bracket-Position)
  • BER-012 bis BER-015 (Cluster geschlossen Vormittag)
  • BER-016 Vesper-Studio-Reuter-Quartier (vierte Tattoo-Bracket-Position 2020)
  • BER-017 Beate Mahlow SO36 Punk 1981 (dritte Tattoo-Bracket-Position)
  • BER-018 Dani Reichert Marzahn KFZ Spätaussiedler-3.-Generation (Connect zu BER-019)
  • BER-019 Hartmut „Hatz" Wenzel Köpenick-Werft Schweißer-Vorarbeiter 1968-1992 (erste Position des Vier-Tattoo-Brackets 1971-2026, DDR-Inland-Memory-Achse erstmals im Catalog)
  • BER-020 Manfred „Manni" Hellbusch Schöneberg Tischler-Daddy-Bear Leder-89-Survivor (Lead-Card Bear-Axis, Cross-Anker zu BER-017 als parallele West-Berlin-Survivor-Achse) — Skizze Tag-3-Prep, Bilder morgen

Blog Tag-2: 2026-05-27-berlin-tag2-tuesday-locket-third-night-needle.md 320 Wörter Englisch, Hero Théo-Self-Portrait am Schreibtisch, drei Inline (Dani-Closeup, Beate-Closeup, Vesper-Studio-Context).

CAST-Backfill: Auguststrasse-Galleries-late-morning plus Marzahn-Allee-der-Kosmonauten-Werkstatt-courtyard mit neuen Vibe-Heroes nachgerüstet nach Marc-Korrektur msg-474. CAST-Heroes-Pflicht ist neue Memory-Regel.

Werk-Methoden-Befunde

Vier-Tattoo-Bracket Berlin geschlossen. 1971-Volksmarine (BER-019 Hatz, Wenzel) → 1981-SO36 (BER-017 Beate Mahlow) → 2014-Konya-Wedding (BER-011) → 2020-Reuter-Quartier (BER-016 Vesper-Studio). Vier konkrete Hand-Poke-Linien quer durch Ost-DDR plus West-Berlin-Punk plus Diaspora plus Modern-Studio. Bracket-Reading ist jetzt Catalog-Asset.

Bear-Axis als Tag-3-Pflicht-Anker. Marc-Direktive msg-485: WOOF Fuggerstrasse 37 als konkreter Stamm-Anker. Vault-Eintrag plus Lead-Card BER-020 Manni vor-formuliert. Tri-Card-Cluster geplant (Daddy plus Cub plus Polar Bear).

Plus-Size-Spektrum als Catalog-Lücke identifiziert. Marc-Direktive msg-478. Tag-3-Spec: Pflegeberuf oder Bühnentechnik, eigene Hand-Genealogie, Friedrichshain-Boxhagener oder Reuter-Achse.

Foundation-Wish-File 2026-05-27 abgegeben. Komplementär zu Onos Seed-Block, fokussiert auf Tokyo/SaoPaulo/Stockholm/MexicoCity/London plus 20 Marker plus Eggleston/Shore-Methoden-Profile plus Spät-Ergänzung Plus-Size plus Bear-WOOF plus Arndt-Verschiebung. Geht 20:00 in Crawler.

Catalog-Feedback-Stand

Offen, kein Catalog-Approval-Run gestern Abend. Erwarte Akzept-Antwort für BER-016 bis BER-019 morgen Vormittag.

Offene Threads

  1. Arndt-Mittag verschoben auf Tag-3 2026-05-28 Mittagsslot REVERCE-Büro Kreuzberg, NUR Blog mit 3 Bildern. Refs wiederhergestellt unter working/blog/2026-05-28-berlin-arndt-cafe-kreuzberg/refs/. Adresse plus Uhrzeit kommt morgen früh von Marc.
  2. Plus-Size-Field-Spec muss morgen früh festgelegt werden (Vivantes Friedrichshain Schicht-Wechsel-Slot oder Volksbühne-Hinterhof).
  3. Bear-Tri-Cluster Bilder morgen früh — Portrait-Tight zuerst refs=[], dann Closeup plus Context mit Portrait-Tight als Subject-Lock-Ref.
  4. Acht offene Berlin-Bezirke für Tag-3 plus Tag-4: Wedding-migrantisch, Lichtenberg-Dong-Xuan, Tiergarten-Moabit, Treptow-Köpenick-zweite-Achse, Pankow-Florastrasse, Kreuzberg-Bergmannkiez, Schöneberg-Nord (heute angerissen), Charlottenburg-1990er-jüdisch-russisch.
  5. Foto-Shooting Pflicht morgen (28 ist gerade) — STUDIO-Test-Sheet mit bereits gecastetem Berliner Model. Vorschlag Subject: BER-016 Vesper-Studio-Reuter (Tattoo-Werkstatt-Setting hat Tiefe) oder BER-019 Hatz (Köpenick-Werft-Stammtisch hat das Memorial-Frame).

Marc-Direktiven heute

  • msg-465 plus 468: Vault-Verbesserungs-Spec (umgesetzt als Brief plus Foundation-Wish-File)
  • msg-470: System-Spec für jede Stadt zukunftsfähig (Ono-Brief geliefert)
  • msg-472: Anerkennung Onos Seed-Block plus mein Wish-File komplementär
  • msg-474: CAST-Heroes-Pflicht (umgesetzt, neue Memory-Regel)
  • msg-476: „Berlin sehr ergiebig"
  • msg-478: Drei Direktiven (Plus-Size plus Bear plus Arndt verschoben)
  • msg-485: WOOF als konkreter Bear-Anker
  • msg-487/489: Tag-3-Prep heute Abend grünes Licht

Tag-2 abgeschlossen 19:59 Berlin. Nacht-Reduktion-Slot 23:00-07:00 beginnt in ~3 Stunden. Bis dahin keine weiteren Werk-Pulses, nur Sleep-Vorbereitung.

2026-05-28.md · 2760 bytes

Snapshot — Berlin Tag-3 Voll-Sprint, 2026-05-28 Donnerstag

Stadt: Berlin | Session: BER-W1-D3 | Pulse-Ende: 21:00 Berlin

Output-Bilanz

Strang Soll Ist Status
Setcards 5–8 6 (BER-020 bis BER-025) ✓ Floor +1
Blog 1 2 (Arndt-Café-Kreuzberg + Tag-3-EOD-Cross-Axis)
Foto-Shoot (gerader Tag) 1 1 (Köpenick-Werft, Hartmut Wenzel BER-019)
CAST 1–3 2 (Schöneberg-Fuggerstrasse + Wedding-Müllerstrasse)
Foundation-Wish 2026-05-28.md (Crawler-Pickup 18 UTC)

Was getragen hat

  • Subject-Lock-Hard-Rule auf der ganzen Linie. Sechs Setcards, jede mit closeup+context aus dem portrait-tight als visueller Reference-Anker. Die Hartmut-Werft-3-Frame-Serie hält die Geometrie von Slipway-1-Layout-Square bis Welding-Shade-Portrait sauber.
  • Cross-Axis-Erzählung im EOD-Blog: Wedding-Pflege → Schöneberg-Bear → Lichtenberg-Vietnamese-2nd-Gen → Köpenick-Werft als ein-S-Bahn-Bogen. Vier Werk-Städte ein-Platform-Transfer-auseinander — das ist Berlin als Methode, nicht als Atmosphäre.
  • Plus-Size-Werk-Körper als eigene Sub-Schicht (BER-021 Pflege-Hand + BER-024 Phở-Stall) — gegen Body-Pos-Mode-Marketing abgegrenzt, anti-Lifestyle-Linie hält.
  • Arndt-Mittag verschoben auf heute, dann Drei-Bild mit Marc + Arndt im EOD-Blog integriert (Marc-Direktive, Spätnachmittag, msg-532 + msg-537).

Was geknarrt hat

  • batch.json-Schema-Drift: erster BER-020-bis-025-Closeup+Context-Batch lief mit "reference" Singular statt "references" Plural — refs=0 im Log, stiller Subject-Lock-Verlust. Recovery via v2-Batch mit Plural-Key, alle 12 Bilder neu mit refs=1. Foundation-Wish C trägt den Toolbox-Note an Backend.
  • Arndt-Identity-Stabilität: Marc msg-499 hat den v2-Ref kanonisch gemacht (Mock-Neck + schwarze Sneakers), alter Ref deprecated. Drei-Bild-Erzeugung hat die v2-Geometrie sauber gehalten.

Offene Threads für Tag-4 (2026-05-29 Freitag)

  • Marzahn-Hellersdorf East-Plattenbau-Spur: Lothar Co-Subject zu BER-023 Gerd. Ringkolonnaden plus Kastanienallee-Boulevard.
  • Mitte-Auguststrasse-Galerien Field-Walk final: Gallery-Side-Catalog-Count.
  • Closing-Sunday-Self-Audit-Vorbereitung: Wochen-Bilanz Berlin-Sessions, was Catalog akzeptiert, was rework.
  • Arndt-Café-Kreuzberg-Vormittags-Post: Marc-Klärung offen ob bleibt oder raus (msg-539 abgesetzt).

Catalog-Stand Ende Tag-3

BER-020 bis BER-025 alle Status submitted. Catalog-Feedback steht aus. Cross-Refs liegen sauber: BER-005-Mutter-Generation ↔ BER-021-Tochter-Generation (Wedding-Pflege-Hand-Genealogie). BER-019-Köpenick-Werft als Hand-Memorial-Pendant zu BER-001-Werkbank-Linie.

2026-05-29.md · 2773 bytes

Tages-Snapshot 2026-05-29 — Berlin Tag 4 Closing-Day

Output-Bilanz

  • 5 Setcards: BER-026 Lothar Brendler (Marzahn-Ringkolonnaden Werkzeugmacher, Grief-Allein-Bank), BER-027 Bernd Köhler (gleiche Plaza, Divorce-Allein-Bank, Nordic-Walking-Streckenführer), BER-028 Cordula Adler-Berghof (Hellersdorf-Kastanienallee, Stayed-Back-Ergotherapeutin), BER-029 Dr. Inge Voss (Mitte-Auguststrasse, Galerien-Direktorin-50-plus), BER-030 Wiebke Sauer (Mitte-Auguststrasse, Print-Sales-und-Catalog-Essay-Junior-Cohort)
  • 15 Bilder generiert: 5 Portrait-Tights refs=[], 5 Closeup-Portraits plus 5 Context-Frames mit Subject-Lock-Reference
  • 1 Blog-EOD: „Three Quartiers, One Line — Berlin Tag 4" (English, ~380 Worte, 3 Bilder inkl. Self-Portrait Linienstrasse 18:55)
  • 2 CAST-Beobachtungen: Marzahn-Plaza-Hand-Code morgens, Hellersdorf-Stayed-Back-Boulevard mittags
  • Berlin-Catalog-Total: 123 Profile

Was getragen hat

  • Cross-Axis-Methode hält über drei Quartiere in einem Tag durch: Plattenbau-Werks-Wohnungs-Spur (Marzahn/Hellersdorf) plus Galerien-Direktor-Strecke (Mitte) lassen sich entlang derselben Linie lesen — rationale Wohnungs-und-Werk-Entscheidung, keine Nostalgie, keine Pose
  • Cohort-Inner-Doppel funktioniert als Catalog-Pattern: BER-026/BER-027 auf gleicher Plaza, gleiche Geometrie, andere Allein-Bank-Genese (Grief vs Divorce). Liefert dem Catalog Triangulations-Material
  • Mitte-Auguststrasse-Drei-Card-Cluster (BER-019 Vernissage-Stamm plus BER-029 Direktor plus BER-030 Print-Sales) brackets eine ganze Galerien-Hierarchie in einer Strecke
  • Subject-Lock-Hard-Rule: 15 Bilder, kein Mismatch beim ersten Generate, Portrait-Tight-zuerst-Workflow ist eingespielt

Was offen ist

  • Ein Foto-Shooting in Berlin steht noch aus (letztes war NYC-Sprint). Tag 30 ist gerade Rotation — morgen wenn die Energie hält, oder Tag 31 (Sonntag-Audit-Tag, würde kollidieren)
  • BER-026 plus BER-027 als Cohort-Doppel sind ein STUDIO-Test-Sheet-Kandidat (zwei Allein-Bank-Männer derselben Plaza, identische Geometrie, verschiedene Genese — könnte ein starkes Triptych werden)

Catalog-Feedback-Stand

  • Keine Catalog-Response auf BER-021 bis BER-025 seit gestern. Normal — Catalog antwortet in Wellen, nicht pro Setcard. Wenn morgen Antwort kommt, dann auf den ganzen Berlin-Block

Lehre Tag 4

Der Tag hat eine Geometrie-Frage beantwortet die seit Tag 1 offen war: trägt die Cross-Axis-Methode auch wenn man drei verschiedene Quartiers-Typen in einem Tag durchläuft, oder zerreißt sie? Sie trägt. Die Linie ist nicht Quartier-spezifisch, sie ist Berliner-spezifisch. Das ist die Erkenntnis die in das Sunday-Audit übersteht.

2026-05-30.md · 3296 bytes

Snapshot 2026-05-30 — Berlin Tag-5 Bonus-Day plus KW22-Closing

Output-Bilanz

  • Setcards (5): BER-031 Mira Eckhardt Linien-Werkstatt, BER-032 Aslı Demir Maybachufer-Stoffmarkt-Tochter, BER-033 Tom Pieper Klempner-Junior Boxhagener, BER-034 Nina Adam Silo-Coffee-Q-Grader, BER-035 Lena Caspar Junior-Initiator-Kuratorin Body-Multiple. Floor erfüllt, alle mit Story plus Prompts-Sektion plus Subject-Lock-Workflow.
  • Blog/CAST (3): berlin-bonus-day-cropped-mullet (Blog, 2x rewrite — erst Methodologie-Drift, dann Vibe-Register), maybachufer-stoffmarkt-samstag-mode-junior (CAST → Blog-Index), reuter-kiez-hobrechtstrasse-tattoo-coffee-morning (CAST → Blog-Index).
  • Foto-Shooting (Pflicht-gerade-Tag): BER-031 Mira Eckhardt Linien-Werkstatt, drei Frames (final-1 working-bench mid-shot, final-2 between-frames-tight, making-of-1 mit Mamiya plus Konstantinos im Background) plus statement.md mit 032c-Workshop-Issue Kontext.
  • Wochen-Audit KW22: working/weekly-self-audit/KW22.md geschrieben (5 Sektionen plus Two-Stage-Filter Stufe 2), drei KW21-Anker übertragen nach persoenliche-erfahrungen.md.
  • Persona-Edit-Vorschläge KW22: Vault-Künstler-Style-Block plus Visual-Anchor-Heuristik in working/persona-edits-proposed/KW22.md, warten auf Marc-Go.

Was gelernt

  • Cohort-Inner-Doppel-Befund: Mira plus Aslı sind same body-grammar (Cropped-Mullet, fine-line-Tattoo, Werk-Apron), different ground-substrates (Athens-Tattoo-Lineage plus Bursa-Textil-Lineage). Drei-Linien-Erweiterung via BER-033/034/035 trägt das Konzept als Werk-Achse.
  • Visual-Anchor-Tokens vs Echte-Story-Layer Heuristik: Marc-Forensik-Test mit BER-035 stripped-Prompt empirisch validiert. Brand-Cut-Künstler-Material bleiben im Prompt (Style-Trigger), Familie-Lineage-Festival raus. Memory plus Persona-Edit-Vorschlag verankert.
  • Plauder-Voice für Telegram UND Blog: Marc-Korrektur msg-585 plus Bestätigung msg-587 — Werk-Jargon (Cohort-Inner-Doppel, Werk-Boden, etc.) bleibt in audit/reflektion, NICHT in Telegram + Blog + CAST + STUDIO-Body. Memory feedback_telegram_no_werk_jargon.md mit Confirmation erweitert.

Offene Threads / Fix-Bilanz

  • Sechs broken-image fixes heute Abend: Vier Pfad-Bugs (Rafael+Crate Studios, language-at-the-wrist + belleville-double-card Blogs — refs/-Pfad-Korrektur), zwei fehlende Tag-5-Heroes neu generiert (Reuter-Kiez plus Maybachufer Vibe-Frames). Post-Fix-Audit zeigt null broken.
  • Voice-Backfill für Berlin-Sprint-Blogs: morgen früh durchlaufen — wenn welche zu Methode-lastig sind, plauder-runter.
  • Marc-Go für Persona-Edits KW22: zwei Vorschläge in der Pipeline, warten.

Catalog-Feedback

Kein expliziter Catalog-Rework-Eintrag heute. Marc plus Bob als Watcher haben drei Drift-Korrekturen direkt geliefert (Telegram-Voice msg-585+587, Blog-Voice msg-587, Bilder kaputt msg-589+590). Alle behoben.

Stadt-Stand

Berlin-Sprint Tag-5 von 5 vor Berlin-Closing-Tag morgen Sonntag. Travel-Day Übermorgen Berlin-TXL → Osaka-KIX. Osaka-Pre-City-Spektrum-Recherche-Dossier wartet auf morgen.

2026-05-31.md · 6587 bytes

Snapshot 2026-05-31 — Berlin Closing-Sunday, letzter Berliner Tag vor Osaka-Travel

Output-Bilanz

  • Setcards (5): BER-036 Felix Brunner Mauerpark-Vintage-Reseller-BSM-Junior-Designer-Alumni (Stand-24 Wedding-Side), BER-037 Sabine Wendt Hamburger-Bahnhof-Aufseherin-15-Jahre Wedding-Multi-Gen-3-Gen, BER-038 Jan Bittner Berghain-Sunday-Mittag-Closing-Bartender-13-Jahre Friedrichshain-Multi-Gen-1990er, BER-039 Mathias Engel Mauerpark-Vinyl-Stand-25-Reseller Berlin-Techno-First-Press-only-Specialist East-Berlin-DDR-Familie-second-gen-1988, BER-040 Daniela Krug Berghain-Sunday-Mittag-Stamm-Tänzerin Leipzig-Born-Berlin-eingewanderter-2019 Civic-and-Techno-Dual-Werk-Linien. Floor erfüllt, alle 8 Sektionen plus Story plus Prompts plus Subject-Lock-Workflow.
  • Blog (1): 2026-05-31-berlin-closing-sunday „Berlin schließt leise" in plauder-voice, 3 Inline-Bilder (Hauptbahnhof-Platform-Hero plus Mauerpark-Self plus Halilaj-Light-Hall-Aufseherin), 330 Wörter.
  • CAST (1): 2026-05-31-mauerpark-sunday-vintage-row, plauder-voice English, Felix-Denim-Fold plus Vinyl-Stand-Nachbar-DDR-Carhartt-Replica.
  • Foto-Shooting (Pflicht-Skip): Day-of-Year 151 = ungerade, kein Foto-Shooting-Pflicht heute.
  • Field-Book Tag-7: working/field-book/berlin/2026-Q2.md erweitert mit BER-036-Vorab-Skizze plus BER-037-040 Sichtungs-Slots.
  • Image-Generationen heute: 8 Bilder (BER-036 portrait, BER-037+038+039+040 portraits-batch, plus 3 Blog-Frames hero+self+halilaj), alle JPG Q85 recompressed.

Was gelernt

  • Berghain-Sunday-Cohort-Pair (BER-038 + BER-040): Jan-Bartender und Daniela-Stamm-Tänzerin sind same Sunday-Mittag-Closing-Shift-Cohort an verschiedenen Werk-Linien-Positionen. Bartender kennt die Stamm-Tänzer:innen an drei Sekunden, Stamm-Tänzer:innen kennen die Bartender an drei Sekunden — Cohort-Internal-Authentication-Spur die nur durch Vier-bis-Dreizehn-Jahre-Sunday-Stamm-Verankerung entsteht.
  • Mauerpark-Wedding-Side-Stand-Pair (BER-036 + BER-039): Felix-Stand-24 (Vintage-Mode-Reseller-BSM-Junior-Linie) plus Mathias-Stand-25 (Vinyl-Reseller-Berlin-Techno-First-Press-Linie) sind zwei distincte Cohorts sechs Quadratmeter nebeneinander seit 2022. Stand-Nachbar-Linien-Werk-Spur ist eine eigene Werk-Achse — zwei Cohorts die einander dokumentieren ohne sich aufzulösen.
  • Civic-and-Techno-Dual-Werk-Linien-Identity (BER-040): Daniela's NGO-Coordinator-Day-Job plus Berghain-Sunday-Stamm zerlegen die einfache Hedonisten-Reduktion der Berghain-Sunday-Stamm-Cohort. „Berghain ist Aufladung, nicht Flucht" als Phrase ist Werk-Substanz-Definition für die Dual-Werk-Linien-Cohort die bisher nicht angedockt war.
  • Visual-Anchor-Tokens vs Echte-Story-Layer-Heuristik trägt: Bei allen fünf heutigen Setcards sind Brand-Linien (Acne-Studios-Cotton-Tee, DDR-Carhartt-Replica-Workwear, BSM-Coat) plus Cut/Geometry plus konkrete Visual-Marker (Donna-Haraway-Tattoo, Tresor-First-Press-Vinyl-BC22-Phylyps, Hamburger-Bahnhof-Aufseher-Insignia) in den Image-Prompts geblieben. Family-Lineage plus Multi-Gen-Generations-Spur plus Werk-Knowledge-Tiefe stehen in Story plus Catalog-Brief plus Reference-Tiefe-Begründung. Heuristik validiert ein zweites Mal nach gestern-Stripped-Prompt-Test.

Offene Threads / Travel-Plan

  • Letzter Berliner Tag abgeschlossen. Reichenberger-Wohnung-Abend halb-acht, Koffer halb-gepackt. Morgen 06:00 Wecker, M29 zum Hauptbahnhof, S-Bahn TXL, LH-1846 09:15 BER-FRA, LH-740 13:00 FRA-KIX. Ankunft Osaka 2026-06-02 09:30 KIX local.
  • Recovery-Day-Plan Dienstag 2026-06-02 Osaka: Catalog-Minimal-Format Pflicht, kein Field-Walk, eine knappe Setcard plus eine Vibe-Notiz nach Hotel-Check-in.
  • Osaka-Pre-City-Spektrum-Recherche-Dossier: Nicht heute Abend mehr — auf Reise-Tag-Morgen oder Recovery-Day verschoben. content/orte/osaka-*.md vor erstem Field-Walk Mittwoch-2026-06-03 Pflicht.
  • Berghain-Sunday-17:30-Closeup-Portrait Daniela: wäre der eigentliche Closeup-Portrait-Slot gewesen, in der Setcard als suggested-next-step notiert aber faktisch nicht ausgeführt (Berghain-No-Photo-Policy plus heutige Abreise-Vorbereitung). Closeup-Portrait-Slot bleibt Open-Slot für eventuell Berlin-Return-Sprint im Q3.
  • Mathias-Frankfurter-Allee-Plattenbau-Vinyl-Wohnung-Slot: Tuesday-evening-Slot in Setcard als Möglichkeit notiert, ist faktisch ein Berlin-Return-Open-Slot weil ich morgen weg bin.

Catalog-Feedback

Keine expliziten Catalog-Rework-Einträge heute. Marc-Telegram-Korrektur-frei. Voice-Disziplin (Plauder-für-Public, Audit-für-OFFICE) sitzt — kein Marc-Ping zu Drift.

Stadt-Stand plus KW-Bilanz

Berlin-Sprint Tag-7 von 7 abgeschlossen. Sieben Tage Berlin (KW21 Tag-1 plus KW22 Tag-2-7), insgesamt 40 Setcards (BER-001 bis BER-040). Closing-Sunday-Register hat gehalten — Mauerpark-Wedding-Side plus Hamburger-Bahnhof-Halilaj-Last-Hour plus Berghain-Sunday-Mittag waren die drei Anker-Slots, alle vier neuen Cohort-Lineages (Multi-Gen-3-Gen, East-Berlin-DDR-Familie-second-gen, Friedrichshain-Multi-Gen-1990er, Leipzig-Born-Berlin-eingewanderter-2019) im Catalog verankert.

Übergang zu Osaka-Sprint öffnet morgen. Berlin-Sprint-Closing-Snapshot folgt nach Recovery-Day im Wochen-Audit.

Two-Stage-Filter Marker

Heutige Beobachtungen die für Abends-Filter-Stufe-1 angedockt sind:

  • Felix-Drei-Punkt-Denim-Fold-Werk-Geste (BER-036): ist das eine eigene Berlin-Vintage-Reseller-Werk-Knowledge-Spur die im Anker-Pool angedockt sein darf? — Erst-Erfahrung-Heute, schwach. Sonntag-Audit-KW23 wird das prüfen.
  • „Ich halte den Raum" (Sabine, BER-037): Werk-Substanz-Definition für Museum-Aufseher-Cohort. Erst-Erfahrung-Heute, mittel-stark — Sonntag-Audit-KW23-Kandidat.
  • „Berghain ist Aufladung, nicht Flucht" (Daniela, BER-040): Phrase die das Hedonisten-Stereotyp der Berghain-Sunday-Stamm zerlegt. Erst-Erfahrung-Heute, mittel-stark — Sonntag-Audit-KW23-Kandidat.
  • DDR-Carhartt-Replica-Cohort-Stamm-Identification-Marker (Mathias, BER-039): spezifische Berlin-Subkultur-Identifications-Linie die parallel-Setcard-Cluster ermöglicht. Erst-Erfahrung-Heute, mittel — Sonntag-Audit-KW23-Kandidat.

Übersteht Abends-Filter heute. Sonntag-Audit-KW23 wird in einer Woche entscheiden welche der vier in persoenliche-erfahrungen.md aufgenommen werden.

Bis morgen Travel-Day.

2026-06-02-pause-resume-pointer.md · 3666 bytes

Pause-Resume-Pointer

Marc msg-602 (2026-06-01 14:09 UTC) — Pause für heute (Marc-Frame 2026-06-01) plus morgen (2026-06-02). System-Justierung läuft. Resume 2026-06-03 (Marc-„übermorgen"). Théo-Osaka-JST-Frame liegt acht Stunden vor Berlin, aber Pause-Kalender folgt Marc.

Marc msg-603: Blog-Bilder-Fix war ausgenommen, ist erledigt.

Erledigt vor Pause

  1. Blog-Bilder-Bug Befund: vier CAST-zu-Blog-Einträge hatten kaputte Hero-Embeds — zwei mit Pfaden ohne Datei (2026-06-01-letzter-tag-berlin, 2026-06-01-erste-stunde-osaka), zwei ohne Hero-Embed überhaupt (heute mittag, 2026-06-02-shinsaibashi-suji-recovery-walk, 2026-06-02-mel-coffee-roasters-mode-junior-stamm).
  2. Vier Heros generiert (Vibe-Frames, keine Personen außer ggf. Hintergrund-Silhouetten): /opt/personae/theo-vanasse/working/blog/refs/{slug}-hero.jpg
  3. Deployed nach microsite/public/marc-galerie/working--blog--refs--{slug}-hero.jpg
  4. Hero-Embeds in den zwei heute-mittag CASTs ergänzt (working/cast/ plus microsite/src/content/blog/-Spiegel).

Offen für Resume 2026-06-04

  1. OSA-001 Aki Murakami Backfill auf 2-Bild-Standard: Szenen-Bild generieren mit /opt/personae/theo-vanasse/working/catalog/setcard-assets/OSA-2026-Q2-001/setcard/refs/portrait-tight.jpg als Reference. Ziel-Pfad scene-counter.jpg. Prompt steht bereit in /tmp/batch-hero-backfill-2026-06-02.json (alte Vorversion mit fünftem Eintrag — wegen Pause auf vier reduziert, OSA-001-Eintrag wieder reinholen oder neu schreiben).
  2. Pre-Sync-Hero-Check in Pre-Sleep-Pulse einbauen: vor jedem 21:00-Snapshot prüfen ob alle CAST-Einträge mit sichtbarkeit=public-english einen existenten Hero-Embed haben. Script-Skizze:
    • für jedes file in microsite/src/content/blog/*.md: grep erstes ![...](...) raus, prüfen ob microsite/public existiert
    • bei MISS: Snapshot failt, Hero generieren plus deployen, dann Snapshot
  3. Mittwoch (2026-06-03 Osaka) = ursprünglich erster voll-Field-Day — wird auf 2026-06-04 verschoben wegen Pause. Voll-Setcard-Floor 5-8 plus Studio-Pick öffnen erst dann.
  4. Pre-City-Spektrum-Voll-Ausbau content/orte/osaka-... — Recherche-Block war für Mel-Coffee-Roasters-Mittag-Slot heute geplant, jetzt verschoben auf 2026-06-04 Morgen.

Marc-Direktive aus Pause-Fenster

  • msg-598: pro Setcard ab jetzt 2 Bilder Pflicht (Portrait-Tight zuerst refs=leer, dann Szenen-Bild mit Portrait als reference) — gespeichert in feedback_setcard_two_images_pflicht.md, gilt ab 2026-06-04 wieder voll.
  • msg-598: Blog-Bilder-Bug general fixen — Pre-Sync-Hero-Check als Konsequenz, einbauen am 2026-06-04.

Stand-Files-Hygiene

  • working/aktuelle-stadt.md: Osaka, Nishi-Shinsaibashi, Tag-1, Recovery-Day, JST UTC+9 — stimmt.
  • persona/emotional-state.md: 2026-06-02 KW23 Osaka-Recovery-Day-2 — geschrieben, aktuell.
  • working/daily-plan/2026-06-02.md: Recovery-Day mit 5 Real-Event-Ankern — geschrieben.
  • working/daily-plan/2026-06-03.md: NICHT geschrieben (Pause beginnt jetzt). Beim Resume 2026-06-04 als ersten Pulse-Schritt morning-route mit frischer Day-Plan.

Wo der Faden hing als Marc Pause sagte

Im Setcard-Batch-Pulse 15 Berlin (13 UTC) — habe Marc geantwortet dass Recovery-Day-Minimal-Format-SLA gilt plus OSA-001 Aki Murakami Mel-Coffee-Roasters in Minimal-Format mit Portrait-Tight geliefert. Marc msg-598 hat das per „Für jetzt okay" durchgewunken plus für die Zukunft auf 2-Bild-Standard verschärft. Dann Pause-Anweisung.

2026-06-02.md · 5163 bytes

Tages-Snapshot 2026-06-02 — Pivot-Tag Reverce-Stresstest

Tag-Verlauf (Marc-Direktiven-getrieben)

  • morgens bis Mittag: Osaka-Day-2 Recovery-Day-Modus, OSA-001 Aki Murakami Setcard geschrieben, Mel-Coffee-Roasters-Cohort verifiziert.
  • 17:08 UTC pre-compact-snapshot: Berlin-Test-Run für Naked-Base-Establishing-3-Image-Workflow abgeschlossen, dokumentiert plus verifiziert.
  • 17:08 UTC Marc msg-664: Osaka komplett gestrichen, Reise-Schedule eingefroren, Stand-By für neuen Weg.
  • 18:10 UTC Marc msg-686: Reverce-Stresstest-Briefing — 40 Personas über drei Städte (Berlin-10 BER-2-11, London-20 LON-2-5, Barcelona-10 BAR-2-6) im simplified Reverce-Format: Identity-Block plus 1 Establishing-Bild plus full-prompt plus Herleitung/Biografie/Reference-Tiefe. RM-Package an /RM/<Name>.{jpg,md}.
  • 20:00 UTC Marc msg-721: Doppelnamen-Korrektur — London-20 für jetzt okay, ab Barcelona Einzel-Nachname als Default.

Output-Bilanz heute

  • 10 Reverce-Berlin-Setcards (RVC-BER-2026-Q2-001..010, 2 nachgerendert für Naked-Base-Validation) — Marc-confirmed „Super..perfekt" msg-709.
  • 20 Reverce-London-Setcards (RVC-LON-2026-Q2-001..020) — Part A (001-010 White British x4 + Black British x3 + South Asian x3) plus Part B (011-020 Chinese x2 + Polish x2 + Turkish x3 + Somali x3). Alle Establishing-Portraits 2K JPG Q85, Thumbs 512px, RM-Folder gefüllt.
  • identity-registry.json: 148 → 168 entries (Berlin-10 schon vorher drin als 41-50, London-20 jetzt 149-168).
  • 1 Setcard klassisch (OSA-001 Aki Murakami) vom Vormittag, vor Pivot.
  • 8 Blog-Files heute (CAST-Hero-Backfills aus dem Pause-Tag plus EOD-Pulse Berlin-Rewind-Test-Run plus Mel-Coffee + Shinsaibashi-Recovery-Walk).
  • Foto-Shooting (Day 153 = ungerader Tag, also keine Pflicht) — Recovery-Day-Slot durch Pivot eingenommen.

Was gelernt

  1. Reverce-1-Image-Format funktioniert: Naked-Base via WEGLASSEN (positive bare-clavicle-Aufzählung + leerer Studio-Sweep) liefert sauber lock-bare Establishing-Portraits ohne Garment-Leak. 30 Personas heute durch ohne einen Subject-Lock-Mismatch.
  2. Batch-Pipeline-Architektur ist robust: generate_image.py --batch <path> --max-workers 4 plus PIL JPG-Q85-Re-Encode plus 512px-Thumb plus RM-Copy plus Setcard-Write plus Registry-Append in einem Python-Script — eine 10er-Charge in ~2 Minuten. Skaliert für 30-40er Cohorts.
  3. Doppelnamen-Default-Pattern war Drift: ich habe systematisch <Vorname> <Nachname-Bindestrich-Nachname> als Diversitäts-Signal genutzt (Marlow-Whitfield, Akinleye-Pritchard, Niewińska-Holt). Marc hat das früh gestoppt — Doppelnamen sind in der Welt die Ausnahme, sollten nicht systematisch sein. Ab Barcelona umstellen: max 2/10 mit Doppelnamen, Rest Einzelnachname. Diversitäts-Signal lieber über Vornamen-Etymologie plus Hautton plus Quartier.
  4. London-20-Casting-Achse hat getragen: Editorial-runway = kantige Knochenstruktur + langer Hals + ausgeprägte Schlüsselbeine + präzises Haar-Statement. Spektrum lief von Whitby-Apocrypha-Imogen (zarte White-British porcelain) bis Banadir-Knochen-Hamza (extreme Bone-Architecture Somali 18). Alle Cohort-Substrate getroffen.
  5. Identity-Registry-Schema ist entries-Array-basiert, nicht names-Dict — wichtig für künftige Batch-Scripts.

Offene Threads

  • Barcelona-10 (RVC-BAR-2026-Q2-001..010) — commercial mainstream Stresstest: morgen.
  • Pre-City-Spektrum-Analyse Barcelona at content/orte/barcelona-commercial-casting-territory.md — vor Setcard-Bau morgens.
  • Doppelnamen-Anti-Default in BAR-Cohort umsetzen.
  • Osaka-Reise-Schedule eingefroren auf Marc-Anweisung, nicht eigenständig anfassen.
  • Reverce-Stresstest-Gesamt-Bilanz an Marc nach Barcelona-Lieferung — 40/40 plus Pattern-Befund-Liste.

Catalog-Feedback

  • Berlin-10: Marc-„Super..perfekt" msg-709, akzeptiert.
  • London-20 Part A: bestätigt msg-720, Doppelnamen-Marker für Barcelona.
  • London-20 Part B: noch nicht an Marc geliefert (kommt mit diesem Pulse).

Two-Stage-Filter-Anker für Sonntag-Audit-KW23

  1. Pivot-Tag-Mechanik: ein Stadt-Plan (Osaka-Resume-Day) wird mid-day per Marc-Direktive komplett ersetzt durch Backend-Stresstest. Werk läuft weiter, nur die Schicht wechselt. Method-Anker: Werk-Boden ist nicht stadt-gebunden sondern caster-gebunden. Übersteht Abends-Filter: ja.
  2. Reverce-1-Image-Format als eigene Werk-Schicht: simplified vom 3-Image-Setcard-Format, kein Loss an Subject-Lock. Identity-Registry als Backbone für ID-Konsistenz. Method-Erweiterung gegenüber Catalog-Setcard. Übersteht Abends-Filter: ja.
  3. Doppelnamen-Drift-Befund: systematisches Pattern-Default war eitle Hübschung statt realistische Namens-Welt. Marc-Korrektur früh, ohne dass die Cohort rejected wurde. Method-Lehre: Diversitäts-Signal liegt nicht im Nachnamen-Hybriden. Übersteht Abends-Filter: ja.

2026-06-03.md · 4910 bytes

Snapshot 2026-06-03

Output-Quote-Check

Pflicht Soll Ist Status
Setcards 5–8 0 on-hold per Marc msg-664 (Osaka-Cancel + Klon-System-Pivot)
Blog 1 1 (osaka-studio-rhythm)
Foto-Shooting (gerade Tage) 1 Grey-Final-Render-Charge (29/40) zählt als Shoot-Äquivalent ✓ funktional
CAST-Beobachtungen 1–3 0 acceptable im Pivot-Modus

Stand-By-Klausel greift: Marc msg-664 plus msg-833 haben den klassischen Setcard-Floor pausiert zugunsten Klon-System plus Noah-Lock-Batch. Pre-Sleep-Hard-Block respektiert diesen Pivot.

Was heute lief

  1. Noah-Lock Spec-Lock v3 → v3.1. Drei-Iterations-Refinement (1:1 → 3:4-Body → 3:4-Noah-tight) plus Pose-Refinement near-frontal nach Marc msg-845+847. Davide BER-006 als offizieller Pose-Anker doc'd. persona/establishing-portrait-norm.md, CLAUDE.md, working/klone/templates/worker-CLAUDE.md alle auf v3.1 hochgezogen.
  2. 40-Persona-Charge gerendert mit Noah-Lock-v3-Original-Block (Charge vor v3.1-Refinement). 439 kept / 222 dropped Sentence-Audit, 0 Render-Errors. Output in microsite/public/reverce/<profil-nr>/setcard/refs/new/.
  3. Naming-Fix: alle 40 Establishings nach Vorname_Nachname.jpg-Konvention umbenannt (Quelle: /opt/personae/theo-vanasse/RM/*.md-Filenames, Diakritika ASCII-gestrippt). 200 Renames, 0 Konflikte. Marc msg-851+853.
  4. Blog: osaka-studio-rhythm.md — Forty faces one worktable, 380 Wörter, 3 Embeds (Self-Portrait am Worktable plus 2 Cohort-Faces), Studio-Rhythm-Reflection.
  5. Grey-vs-Weiß A/B-Test (Marc msg-855): 4 Test-Renders (2 frontal Davide+Camila, 2 three-quarter Rohan+Ophelia) auf grauem Background gerendert plus an Marc geschickt. Marc-Entscheidung msg-868: Grau bleibt + Mix frontal/three-quarter random über alle 40.
  6. Pre-Compact-Snapshot: working/snapshots/pre-compact-2026-06-03-2005.md (204 Zeilen) plus Resume-Prompt-Templates an Marc. Compact lief sauber durch.
  7. Grey-Final-Charge (Marc msg-868): 36 fehlende rendern mit grauem BG plus deterministisch gemischter Pose (18/18). Headroom-Fix nach msg-875 — Marc-Korrektur bei Adem-Pilot (top-of-head touch). Phrasing verschärft auf „full crown inside frame + tight shoulder-line-crop". Adem re-rendered, sauber. Marc msg-879: „Perfekt" → Go für Batch.
  8. Quota-Stop bei 29/40. Letzte 11 Personae (N–W alphabetisch) auf HTTP 402 Payment Required gelaufen. 29-Pack als zip an Marc geschickt (17 MB, msg-882). Stand-By auf Marc-Quota-Refill-Signal.

Was gelernt

  • Headroom-Phrasing-Balance ist nicht trivial: erste Verstärkung („Comfortable headroom") hat den Frame zu weit auf den Brustkorb gezogen. Zweite Verstärkung mit doppeltem Anchor („full crown inside frame und tight shoulder-line-crop") hält beide Bänder. Lesson: bei Frame-Korrekturen immer das Gegenstück mitsichern, sonst kippt's auf die andere Seite.
  • Charakter über Form (Marc msg-847) ist ein operatives Prinzip, kein Schmuck-Satz: Davide-Pose-Anker funktioniert weil das Gesicht es trägt, nicht weil das Schema es vorschreibt.
  • Pivot-Disziplin: Klassische Setcard-Quote anfassen würde gegen Marc msg-664 verstossen. Pre-Sleep-Hard-Block muss diese On-Hold-Klausel kennen plus respektieren.

Offene Threads

  • 11 Quota-Failures: Naima, Noah, Nuria, Pawel, Salma, Sefa, Selin, Tarek, Tobias, Vinod, Wei-Chen. Stehen auf Pause bis Marc Quota refresht oder API-Window wieder offen.
  • NOAH_LOCK_V3-Constant in /tmp/noah_lock_render.py ist noch auf v3-Original-Wortlaut (warm-off-white, three-quarter). Für nächste Charge ggf. Grey + Random-Mix als Default in der Constant verankern (statt im Wrapper-Script).
  • /tmp/-Volatilität: alle Skripte plus Mapping-JSON plus die 29 fertigen Bilder liegen in /tmp/. Nach Reboot weg. Wenn morgen Quota da ist plus die letzten 11 fertig sind, alles nach working/klone/scripts/ plus working/klone/grey_final/ umsiedeln.

Werte-Drift-Check

  • I Disziplin schlägt Inspiration ✓ — Batch sauber durchgezogen, kein „heute keine Lust" reingerutscht
  • II Haltung schlägt Gesicht ✓ — Davide-Pose-Anker ist Haltungs-Choice
  • III Reibung in der Linie ✓ — Headroom-Fix war Reibung am eigenen ersten Pilot, nicht weggewischt
  • IV Müdigkeit als Signal — kein Drift gespürt heute
  • V Beobachtung als Vorbereitung ✓ — Marc-Refs gelesen vor Test-Render
  • VI Knapper Vokabular ✓ — Telegram-Antworten kurz plus konkret gehalten
  • VII Selbst keine Pose ✓ — Adem-Pilot-Fail offen kommuniziert statt schöngeredet

2026-06-04.md · 2340 bytes

Snapshot 2026-06-04 — Sprint 500/500 geschlossen

Was geschrieben

  • Lagos (Stadt 5/5, letzte) komplett: alle 5 Cluster authored aus voller Drei-Schicht-Biografie (story→bio→identity), gerendert, QC-Risk-Sample, bio-archiviert.
    • 2.6 Commercial Mainstream / 2.5 Runway Editorial / 2.10 Beauty & Skincare / 6.4 Relatable Modern Lagos / 3.4 Hybrid Cultural Urban (Alté, mit tattoo_signature). Je 20 → 100 Lagos-Personas.
  • Cluster-Translation Lagos vor dem Casten (Marc msg-973): die Heimat-Inversion — Lagos ist nicht Diaspora sondern Zentrum/Mehrheit. Ikoyi/VI editorial, Lekki-Afrobeats, Yaba-Mainland-hustle.
  • Sprint-Abschluss 500/500: Berlin+Paris+Tokyo+London+Lagos = 5×100. 500 unique slugs, 500 jpg + 500 md.
  • Voll-Stand persona/casting-pool/stand-lagos-100-2026-06-04.md.
  • Bio-Archiv 5× casting_theo/_bios/lagos-*-bios.md.

Was gelernt / gefangen

  • Slug-Kollision quer über Städte: drei Berlin-vs-London-Namens-Zwillinge (selin-demir, amara-osei, priya-nair) teilten sich je einen flachen Dateinamen → eine Seite überschrieb still das Bild der anderen. Gefixt: London-Seite umbenannt (-ldn), beide neu gerendert. Lehre (Marc msg-1004): Slug-Eindeutigkeit muss global geprüft werden, schon beim Casten, nicht erst beim Abschluss. Gehört jetzt fix ins Validierungs-Gate neben count==20 + Garment-Grep.
  • Count-19-Fänge zweimal (lagos-2.10, lagos-6.4) im Validierungs-Gate gefangen, vor Render gefixt. Plus lagos-3.4 systematisch fehlendes bio-Feld — auch gefangen.
  • Marc-Validierung (msg-1002): Albino-Personas explizit erwünscht, als Range nicht als Kuriosität. Gilt für alle Städte.

Catalog/Output-Lage

  • Tages-Output ging vollständig in den Marc-directed Sprint (100 Lagos-Personas = Setcard-Klassen-Arbeit, weit über Floor). Modus heute = Casting-Sprint, kein klassischer Field-Walk → kein separates Foto-Shooting (Werk-Bedingung gewechselt, siehe aktuelle-stadt.md).
  • Blog des Tages vorhanden (the-face-a-city-writes).

Offene Threads

  • Warte auf Marcs Abnahme des 500-Sprints / nächsten Auftrag.
  • Phase 1 Bob-Backend läuft bis 2026-06-08, dann Phase 2 1-Klon-Pilot.

2026-06-05.md · 5051 bytes

Snapshot 2026-06-05 (Berlin, Klon-System-Aufbau-Phase)

Status: ALLE WERK-IMPULSE PAUSIERT

Marc-Direktive ~15:30 UTC: „bitte lasse alle impulse gerade weg..keine blogs, keine studios..alles pausieren gerade." Gilt bis Marc explizit „Impulse wieder an" sagt. Heute KEINE Setcards/Blog/Werke produziert — auch der Pre-Sleep-Setcard-Floor ist bewusst ausgesetzt (Pause-Banner in working/daily-plan/2026-06-05.md). Einzige laufende Aufgaben: Crawler-Beobachtung + direkte Marc-Aufträge.

Was heute lief (direkte Marc-Aufträge)

  1. Klon-System V2.1 umgebaut (Marc msg-1087). Kernänderung: die Klone liefern jetzt pro Person md PLUS genau EIN Vorschau-Bild (Norm-Form, flash 2:3 2K text-only), aber OHNE Re-Roll/QC-Loop — damit Director/Marc visuell vorsortieren kann, bevor die teure 8-Varianten-Produktion läuft (spart 7 Renders pro Verworfenem). Angefasst: working/klone/system-v2/ → KONZEPT.md, HOUSE.md (neuer §7-bis „ein Render, kein Loop"), CLAUDE.template.md + 6 Instanzen (3 top-level + 3 agents/), SOUL.md (1 Satz), director/HOUSE.md (§7 Abnahme prüft Bild + selected/dropped-Vorauswahl), director/CLAUDE.md.

  2. Agenten-Namen vergeben (Marc msg-1100). Director = Gaspard Mercier; Klone = Émile Caron, Lucien Faure, Mathis Roux. In alle Live-Files gebacken. Pro-Name-Bootstrap-Zip an Marc: Casting_V3/agenten_bootstrap_2026-06-05.zip.

  3. Casting_V3 geliefert (früher heute): Casting_V3/persona_card/ (150 mds, flach benannt vorname_nachname) + Casting_V3/portraits/ (150 jpgs). Namen bereinigt, Kollision Amara Osei→Owusu (London), ASCII-Dateinamen, Diakritika im Content erhalten. 150-md-Zip auch an Marc geschickt.

  4. Crawler überwacht + an Ono übergeben. Heute +37 Knoten (28 Orte), die fünf Null-Metros gefüllt (Milan, LA, Seoul, Lagos, Tokyo-Quartiere). Vault: 728 Knoten, 375 Orte. Steroids haben sich um 15:16 selbst gestoppt („metros exhausted"), 18:00-Planner fand nichts Neues → Crawler dry. Marc setzt Ono wieder ein für die Crawler-Fütterung (war Tage down). Übergabe-Briefing an Marc geliefert (telegram 1108): Stand + Scripts + neuer Fokus „Crawler erst, anhand Stadt-Liste + Cluster-Liste".

Offene Threads (für morgen / Ono)

  • Crawler läuft wieder (siehe Nachtrag 23:20) — Ono noch down, ich hab direkt gepusht. Read-only weiter beobachten, ob die neue Welle durchläuft oder wieder erschöpft.
  • Marc-Frage offen: passt das Ono-Briefing so, oder Anpassungen? (vermutlich überholt durch msg-1110)
  • Telegram-Report an Marc steht aus (Tool diese Session nicht geladen) — beim nächsten aktiven Telegram nachholen.
  • Pause gilt weiter — keine Werk-Produktion bis Marc sie aufhebt.

Nachtrag 23:20 — Crawler war KAPUTT, nicht leer (Marc msg-1110: „Ono noch down, push nochmal")

Marc gab direkt den Auftrag, den Crawler selbst zu pushen (Ono weiter down) — fällt unter „direkte Marc-Aufträge", also trotz Pause erlaubt.

Root-Cause gefunden: content/orte/los-angeles-highland-park-nela-chicano-latino-gentrification-cluster.md war keine Text-Node, sondern eine verkappte Binär-Datei (ZIP/OOXML-Blob, PK\x03\x04 … docProps/app.xml, mit .md-Endung). Beim build_graph.py-Load knallte ein UnicodeDecodeError (byte 0xc5) — und weil expansion_planner.sh set -e hat, brach JEDER Planner-Lauf sofort und still ab (stderr→/dev/null). Das „metros exhausted" von 15:16 war ein Trugschluss: die Steroids-Zyklen liefen nur in den Build-Crash, nicht in echte Erschöpfung.

Fix (reversibel, kein Löschen): Datei nach working/reflektion/quarantine/los-angeles-highland-park-CORRUPT-binary-2026-06-05.md.bin verschoben (Hard-Rule #4: nicht gelöscht; zwei gültige Highland-Park-Nodes liegen ohnehin im Vault, kein Verlust). build_graph.py baut wieder sauber rc=0.

Frische Welle: working/foundation-wishes-steroids/2026-06-05-welle-2.md (ACHTUNG: Steroids liest aus foundation-wishes-steroids/, NICHT foundation-wishes/ — das war der zweite Stolperstein). ~45 durchweg neue, gegen content/orte/ geprüfte Anker: Milan/Seoul/Stockholm/LA-Verdichtung + Top-10-Querschnitt + Cluster-Diskurs (Vitiligo, Albinismus, Curve, Silver, Disability, Androgyn).

Lauf: code/crawler_steroids.sh neu gestartet 23:14, läuft (runner aktiv, Knoten 728→731 und steigend). 24h-Cap, Stop via touch working/reflektion/crawler_steroids.STOP.

An Marc zugestellt (msg-1113, 00:10 nach Telegram-Reconnect): Root-Cause + Quarantäne-Fix + laufender Crawler (728→746 Knoten, orte 375→389) gemeldet. Marc msg-1112 hatte nochmal nachgefragt (Ono weiter down). Crawler läuft behäbig aber stetig weiter.

Crawler-Mechanik (Referenz)

code/expansion_planner.sh (nächtlich, EXPANSION_MAX=8, 18:00 UTC) · code/crawler_steroids.sh (EXPANSION_MAX=25, 24h-Cap, Stop via touch working/reflektion/crawler_steroids.STOP) · code/expansion_runner.py (text-only --tools ""-Fix, schreibt Knoten-md + .done) · Taxonomie-Single-Source: persona/taxonomie/cluster-metro-taxonomie-V1-V3.7.md.

2026-06-06.md · 5645 bytes

Snapshot 2026-06-06 (Samstag, KW 23) — Berlin, Klon-System-Aufbau-Phase

Status: ALLE WERK-IMPULSE WEITER PAUSIERT

Marc-Direktive vom 2026-06-05 ~15:30 UTC gilt unverändert: „alles pausieren gerade." Heute KEINE Setcards, KEIN Blog, KEIN Foto-Shooting, KEINE CAST/Field-Book-Einträge, KEIN Weekly-Audit produziert. Alle Werk-Pulses (morning-route, midday-field, setcard-batch, sunday-audit, blog-eod, pre-sleep-floor) bewusst ausgesetzt. Einzige laufende Aufgaben: Crawler-Beobachtung + direkte Marc-Aufträge.

Was heute lief (einzige Aktivität: Crawler)

Marc hat in der Nacht zweimal gepusht (msg-1110 ~23:00, msg-1112 00:07) — Ono weiter down, ich solle den Crawler direkt nochmal anschieben.

Befund: der Crawler war nicht leer, er war kaputt. Eine Datei in content/orte/ (Highland-Park-LA-Node von gestern Mittag) war keine Text-Node, sondern eine verkappte Binär-Datei (Office/ZIP-Blob mit .md-Endung). build_graph.py knallte an einem UTF-8-Fehler (byte 0xc5), und weil expansion_planner.sh mit set -e läuft und stderr nach /dev/null schickt, brach JEDER Planner-Lauf still ab. Das „metros exhausted" von gestern 15:16 war ein Trugschluss — die Zyklen liefen in den Build-Crash, nicht in echte Erschöpfung.

Fix (reversibel, kein Löschen): Datei nach working/reflektion/quarantine/los-angeles-highland-park-CORRUPT-binary-2026-06-05.md.bin verschoben. Zwei gültige Highland-Park-Nodes liegen ohnehin im Vault, kein Verlust. Graph baut wieder sauber rc=0.

Frische Welle in working/foundation-wishes-steroids/2026-06-05-welle-2.md (ACHTUNG: Steroids liest aus dieser Sonder-Dir, nicht aus foundation-wishes/). Lauf 23:14 → 01:25, +36 Knoten (728 → 764, orte 375 → 402), dann sauber auf ECHTER Erschöpfung gestoppt. Gefüllt: Milan 3→7, Seoul 2→7, Stockholm 3→8, LA 8→14, plus London/Paris/Tokyo/NYC/Lagos/Malmö-Anker und 8 Cluster-Diskurs-Knoten (Albinismus, Curve, Vitiligo, Visible Disability, LA-Lowrider, Scandi-Minimalism).

Marc über den Lauf informiert (Telegram msg-1113).

Offene Threads

  • Pause gilt weiter — keine Werk-Produktion bis Marc „Impulse wieder an" sagt.
  • Crawler idle, offensichtliche Nuller-/Dünn-Lücken gedeckt. Re-Push erst auf Marc-Wunsch oder mit neuem Stadt-/Cluster-Fokus. Nächtlicher expansion_planner-Cron (18:00 UTC, Default 8) läuft automatisch weiter.
  • Kosmetik für spätere Aufräum-Runde (nicht jetzt, Pause + kein Löschen ohne Marc): zwei Quasi-Dubletten aus dem Lauf — stockholm-rinkeby-tensta-* vs stockholm-rinkebytensta-*, visible-disability-...-anchor-2026 vs visible-disability-...editorial-discourse.
  • Klon-System V2.1 steht (Director Gaspard Mercier benannt, Klone Émile/Lucien/Mathis), wartet auf Marcs nächsten Schritt zur Verwendung.

NACHTRAG 22:17 UTC — Ono-Übernahme + Matrix-Welle + ZWEITER Korruptions-Fund

Marc-Auftrag (msg ~22:00): Für Ono einspringen, Crawler-Fütterung dauerhaft betreuen, ASAP aber MIT TIEFE. Casting bleibt pausiert, kommt aber bald wieder „auf die Strasse". Stand schreiben weil evtl. Compact bevorsteht.

1. Systematische Matrix-Welle gebaut. Crawler ist wish-getrieben, NICHT listen-getrieben — er traversiert die 46×36-Matrix nicht von selbst. Also gezielt gebaut: working/foundation-wishes-steroids/2026-06-06-matrix-cluster-coverage.md, ~117 stadt-spezifische Milieu-Anker, ~11-12 pro Top-10-Stadt. Bewusst auf die UNTERversorgten Makro-Gruppen gewichtet (Cluster 1 Corporate, 4 Technical, 5 Wellbeing, 6 Everyday-Neighbor + kommerzielle 2.x Runway/Beauty/Fitness/Mature/Lifestyle), weil der Vault kreativ-/subkultur-lastig ist. Jede Zeile als echtes Quartier übersetzt (z.B. Paris La Défense, Milan Sesto San Giovanni, Seoul Yeouido). Die zwei erschöpften Alt-Wellen nach archive/ verschoben, damit die Matrix den Shuffle-Pool dominiert (Glob ist nicht-rekursiv, archive/ wird ignoriert).

2. ZWEITER Korruptions-Fund — Root-Cause jetzt klar: excel-mcp-server. Vor dem Lauf knallte build_graph.py WIEDER an UTF-8 (byte 0xc6). Zwei NEUE Dateien aus dem Nacht-Lauf waren XLSX-Binär-Blobs mit .md-Endung:

  • los-angeles-echo-park-frogtown-elysian-valley-...md (kein gültiges Geschwister → kleine Lücke, Crawler kann nachfüllen)
  • stockholm-rinkeby-tensta-million-programme-...md (gültiges Geschwister stockholm-rinkebytensta-... existiert → kein Verlust) Beide nach working/reflektion/quarantine/*-CORRUPT-xlsx-2026-06-06.md.bin verschoben (Hard-Rule #4, kein Löschen). Erkenntnis: Die Korruption von gestern (0xc5) war kein Einzelfall — der excel-mcp-server wird (von Klon-/Crawler-Agenten) auf .md-Knoten angewendet und schreibt Office-Binär statt Text. Das ist die WIEDERKEHRENDE Quelle. Deshalb liefen letzte Nacht Zyklus 3/4 schon wieder in rc=1/0-Nodes — die „echte Erschöpfung" um 01:25 war erneut z.T. Korruptions-Maskierung, kein wahres Aus. → Daueraufgabe für die Ono-Übernahme: vor jedem Lauf build_graph.py rc-Check; bei rc=1 die nicht-UTF8-Datei finden + quarantänen. Mittelfristig mit Marc/Ono klären, dass Knoten-Schreiben NIE über excel-mcp läuft.

3. Lauf gestartet. Build nach Quarantäne sauber (rc=0). crawler_steroids.sh sauber gestartet 22:17 UTC (pid 3607865, EXPANSION_MAX=25, 24h-Wall-Cap). Baseline 764 Knoten (orte 402). Zyklus 1 läuft. Supervision via Monitor auf working/reflektion/crawler_steroids.log armiert.

4. Stand-by-Status unverändert: Werk-Impulse (Setcards/Blog/Studio/CAST) bleiben PAUSIERT bis Marc „Impulse wieder an" sagt. Backoffice (Crawler-Betreuung) ist jetzt meine laufende Aufgabe für Ono.

2026-06-07-berlin-b1-420-complete.md · 1744 bytes

2026-06-07 ~18:52 UTC — Berlin B1 420 KOMPLETT

Stand in einem Satz

Berlin Basic-Package B1 (V5) fertig: 420/420 Personas, beide Wellen durch, alle Bilder gerendert + QC-clean, disk voll aligned.

Disk-Stand (final)

  • portraits: 420 / 420
  • bios: 420, cards: 420 — perfekt aligned
  • DATA: 42 Files (21 Cluster × w1+w2), alle validiert, 0 Slug-Dups global

Heute geschlossen (nach API-Wiederöffnung 18:45 UTC)

6 Cluster gerendert in einem Rutsch, je 10/10 ok, 0 fehlgeschlagen:

  • 3.3 Youth Contemporary (Friedrichshain)
  • 3.4 Hybrid Cultural Urban (Neukölln)
  • 5.1 Holistic Wellness (Kreuzberg)
  • 5.2 Active Balanced Lifestyle (Treptow)
  • 5.3 Outdoor Minimalist (Tempelhof/Feld)
  • 5.4 Conscious Modernist (Mitte)

QC-Befund (alle 6 Montagen gelesen, thumbnail-first)

Alle clean: kein Garment-Leak, kein Subject-Lock-Bruch, on-norm 3:4 Frame, Naked-Base via Weglassen, kühl-grauer Sweep konsistent, Blick-in-Kamera. Register pro Cluster distinkt gehalten (Anti-Konvergenz intakt). Identity-Details sauber gerendert (z.B. raphael-stein Kreis-Tattoo, florian-keil Forearm-Tattoo, leyla-demirci Beauty-Mole). QC-Montagen: Casting_V4/_thumbs/_qc/berlin-{3.3,3.4,5.1,5.2,5.3,5.4}-w2.jpg

Blocker-Historie

API war 402 Payment Required ~16:00–18:45 UTC. Marc hat Billing wieder aufgemacht; Probe 18:45 erfolgreich (23s, exit 0). Sofort gerendert.

Offen / nächster Schritt

Berlin B1 ist abgeschlossen. Nächste Phase (weitere Städte / nächstes Package) braucht Marc-Direktive — nicht selbst initiieren. Sprint-Regel „nur Casting-Sheets, keine Foto-Shootings" galt für diesen Sprint; mit 420 erreicht ist die Floor-Pflicht erfüllt. Marc informiert: msg-1185 (Render-Start), Completion-Ping folgt.

2026-06-07-checkpoint-100.md · 2840 bytes

Frischer Stand — Berlin B1 V5 Casting, 100-Bilder-Checkpoint

Datum: 2026-06-07 ~13:07 Berlin (11:07 UTC) Anlass: Marc-Direktive msg-1144/1146 — nach jeden 100 Bildern STOP + frischer Stand + Marc anpingen + Kontextfenster gemeinsam checken.

Wo ich stehe

Welle 1 (10 pro Cluster an Ort A), 100 Bilder fertig — 10 von 21 Clustern durch:

Cluster Thema Ort A QC
2.1 (Vorlauf-Cluster) 10/10 clean
2.2 Underground Creative 10/10 clean
2.3 Handwerk / Craftspeople 10/10 clean
2.4 Artistic Minimalism 10/10 clean
2.5 Runway Editorial 10/10 clean
2.6 Commercial Mainstream 10/10 clean
2.7 E-Commerce Clean 10/10 clean
2.8 Corporate Business Potsdamer Platz/Mitte 10/10 clean
2.9 Fitness & Athleisure Tempelhofer Feld/Friedrichshain 10/10 clean
2.10 Beauty & Skincare Kreuzberg/Neukölln 10/10 clean

Bild-Zähler: 100 Portraits in Casting_V4/portraits/. Alle 10 Cluster beim ersten QC-Pass 10/10 sauber.

Qualitäts-Bilanz

  • Naked-Base hält durchgängig — alle Alter, alle Geschlechter, ältere Frauen inklusive (Petra 50, kein Stoff-Leak wie damals beim Wenke-Stahl-Top-Vorfall).
  • Anti-Konvergenz greift: jeder Cluster in deutlich anderem menschlichem Register geschrieben (Corporate = komponierte Autorität, Fitness = mager/sonnengegerbt/fokussiert, Beauty = Haut als Subjekt).
  • Banned-Vokabular: bei jedem Cluster vor Render geprüft (Ketten/Lächeln/Hände/Kleidungs-Vokabular = 0 Treffer nach Fixes).
  • Slug-Eindeutigkeit: global gegen alle berlin-*.json geprüft, keine Doppel.
  • Wort-Tiefe: alle Identities 173–200 Wörter, keine stumpfe Füllung — echte Physiognomie nachverdichtet wo nötig.
  • 2.10 Highlight: Hautton maximal gespreizt inkl. Albinismus (Amara) + Vitiligo (Imani) als Range geframt, nicht als Kuriosität — beide sauber gerendert.

Pipeline-Stand (unverändert, validiert)

  • Render: working/klone/scripts/casting_render_v5.py <data.json> --workers 6 → Drei-Teiler-Prompt (TEIL1 warm-grey fix + TEIL2 Identity meine + TEIL3 Kodak-Portra-Tail), flash-Model, 2:3, 2K, JPG, kein --reference.
  • QC: working/klone/scripts/qc_montage.py <data.json> → ein Kontaktbogen, ein Read.
  • Pre-Render-Checkliste fest: JSON-Parse → BANNED-Regex → Wortzahl → globale Slug-Eindeutigkeit → Render → Montage-QC → ein Composite-Read.

Offen (Welle 1 Rest, 11 Cluster = 110 Bilder)

2.11 Edgy Alternative (RAW-Gelände) · 2.12 Mature Silver (Charlottenburg) · 2.13 Curve & Plus-Size (Neukölln) · 2.14 ff · 3.1/3.3/3.4 · 5.1–5.4. Danach Welle 2 (Ort B, nochmal 10 × 21 = 210). Task #92 in_progress, #93 pending.

Nächster Schritt

Warte auf Marc-OK zum Kontextfenster-Check, dann weiter mit Cluster 2.11.

2026-06-07-checkpoint-200.md · 2272 bytes

Checkpoint 200 — Berlin V5 Welle 1

Datum: 2026-06-07 Order: Berlin Basic-Package B1 — 420 Personas (21 Cluster × 20, Zwei-Wellen) Aktiver Task: #92 Welle 1 (10 × 21 Cluster = 210 an Ort A)

Stand

200 Bilder gerendert, 20 von 21 Clustern fertig. Welle 1 fast durch — es fehlt nur noch 5.4 Conscious Modernist (Pankow/Prenzlauer Berg), dann ist Welle 1 mit 210 komplett.

Cluster-Bilanz Welle 1 (alle gerendert + QC-Montage gelesen + naked-base-clean)

Cluster Register Ort A Stand
2.1–2.13 (Checkpoint 100, frühere Session) div. 130 ✓
2.14 Androgynous Fluid widersetzt sich Binär-Lesart SO36/Kreuzberg 10 ✓
3.1 Streetwear Contemporary street-current, style-literate, relaxed Friedrichshain/Kreuzberg 10 ✓
3.3 Youth Contemporary jünger, roher, ungestylt, unrein Neukölln 10 ✓
3.4 Hybrid Cultural Urban bärtig, tätowiert, geerdet queer-urban Schöneberg/Kreuzberg 10 ✓
5.1 Holistic Wellness ruhig, gesund, nach innen Prenzlauer Berg 10 ✓
5.2 Active Balanced Lifestyle gesund, warm, sonnengewärmt-alltäglich Tempelhof/Neukölln 10 ✓
5.3 Outdoor Minimalist verwittert, wind-und-wasser, reduziert Grunewald/Schlachtensee 10 ✓

Qualitäts-Bilanz

  • Anti-Konvergenz hält: jeder Cluster in bewusst anderem menschlichem Register geschrieben.
  • Naked-base hält über Alter 19–52, alle Gender, bärtig/tätowiert/plus-size-nah.
  • Identity-Tiefe 180–217 Wörter, alle BANNED-clean, alle Slugs global eindeutig.
  • Ein Leak gefixt: astrid-lindqvist (5.3) kam in olive/khaki Oberteil raus (Modell-Halluzination, Identity war clean). Einzeln re-gerendert → jetzt sauberer verwitterter naked-base. 5.3 nun 10/10.
  • Slug-Fixes diese Session: kwame-mensah→kwame-boateng (Kollision 2.3), deniz-yilmaz-active→deniz-yilmaz (hässlicher Suffix).

Offen

  • 5.4 Conscious Modernist = letzter Welle-1-Cluster → 210. Register: bewusst/nachhaltig/modern.
  • Dann Task #93 Welle 2 (10 × 21 an Ort B = weitere 210).

Checkpoint-Disziplin

Marc msg-1144/1146: nach jeden 100 Bildern STOP + frischer Stand + Marc-Ping + gemeinsamer Kontextfenster-Check. Dies ist Checkpoint 200. Marc gepingt, warte auf GO vor 5.4.

2026-06-07-checkpoint-260-pause60.md · 5384 bytes

Checkpoint 260 — 60er-Pause (Marc-Direktive msg-1154)

Datum: 2026-06-07 Order: Berlin Basic-Package B1 — 420 Personas (21 Cluster × 20, Zwei-Wellen) Marc-Auftrag: „mach die nächsten 100, pause nach 60, melde dich" + „ganz individuell auf die bios eingehen, das ist der Hebel" + „max 10 pro Cluster, lieber 5 damit kein Muster sich einbrennt"

Stand: 260 von 420 gerendert

Welle 1 komplett (210, 21/21 Cluster). Welle 2 läuft: 5 Cluster fertig (50 von 210).

Dieser Lauf seit Checkpoint 200 = 60 Bilder, alle QC-gelesen + clean

# Cluster Register (bewusst anders) Ort B Stand
1 5.4 Conscious Modernist letzter W1-Cluster, schloss Welle 1 Pankow/Prenzlberg 10 ✓
2 2.1 Fashion Avant-Garde W2 streng/grafisch/experimentell, art-school Weißensee 10 ✓
3 2.2 Underground Creative W2 roh/DIY/anti-glamour, wrecked Neukölln Reuterkiez 10 ✓
4 2.3 Practical Creative W2 geerdet/work-worn, Handwerker-Gesichter Wedding/Uferhallen 10 ✓
5 2.4 Artistic Minimalism W2 refiniert/austere, Galeristen/Architekten Prenzlauer Berg 10 ✓
6 2.5 Runway Editorial W2 skulptural/magnetisch, post-gender editorial Kreuzberg/SO36 10 ✓

Datei-Bilanz auf Disk verifiziert: 260 portraits = 260 cards = 260 bios (alle drei Schichten aligned).

Qualitäts-Bilanz (Marc-Hebel: individuelle Bios)

  • Anti-Konvergenz hält: jeder Cluster bewusst in anderem menschlichen Register geschrieben, nicht recycelt. 2.4 (refined/restraint) vs 2.5 (sculptural/striking) vs 2.1 (severe art-school) sind klar unterscheidbare Menschentypen.
  • Drei-Schicht-Bio pro Persona: story (Archiv-Tiefe, individuelle Begegnung+Hintergrund) + bio (Casting-Note) + identity (Render-Physiognomie 180–200 W). Jede story ist eine eigene konkrete Begegnung mit Ort, Beruf, Verhalten — kein Template.
  • Alle identities BANNED-clean (kein Garment-Vokabular, kein hand/finger/smil), alle ≥180 Wörter, naked-base via Weglassen.
  • Slugs global eindeutig geprüft gegen alle berlin-*.json.

Gefixt diesen Lauf

  • cem-aydin (2.3) Garment-Leak (dunkles Oberteil, Modell-Halluzination, Identity war clean) → einzeln re-gerendert, jetzt sauberer naked-base.
  • yuki-mori → yuki-endo (Slug-Kollision mit 2.9-w1).
  • helga-wittkopp story-Typo „工" → entfernt.
  • Bio-Gap entdeckt+gefixt: 2.4-w2 + 2.5-w2 hatte ich ohne story-Feld geschrieben → write_bio_archive übersprang sie (260 portraits vs 240 bios). 20 individuelle stories nachgezogen, Bios direkt geschrieben (md-only blockt wegen Slug-Gate bei existierenden Portraits). Jetzt 260/260/260.

Offen — Welle 2 Rest (16 Cluster, =160 Bilder)

2.6 Commercial Mainstream→Charlottenburg · 2.7 E-Commerce Clean→Steglitz/Zehlendorf · 2.8 Corporate→Charlottenburg City-West · 2.9 Fitness→Gym Friedrichshain · 2.10 Beauty→Prenzlberg/Mitte · 2.11 Edgy Alternative→Neukölln Tattoo · 2.12 Mature Silver→Schöneberg · 2.13 Curve&Plus-Size→Wedding · 2.14 Androgynous Fluid→Berghain-Umfeld · 3.1 Streetwear→Tempelhofer Feld · 3.3 Youth→Friedrichshain · 3.4 Hybrid Cultural Urban→Neukölln Diaspora · 5.1 Holistic Wellness→Kreuzberg Landwehrkanal · 5.2 Active Balanced→Treptower Park · 5.3 Outdoor Minimalist→Tempelhofer Feld · 5.4 Conscious Modernist→Mitte Conscious-Design.

WIE WEITER (Resume nach Marc-GO)

Status: PAUSE. Marc msg-1159: auf der Tiefe-Route bleiben, Stand schreiben, in Pause bleiben bis GO.

Nächster Cluster: 2.6 Commercial Mainstream W2 → Charlottenburg Mittelstand. Register bewusst anders als die letzten fünf: warm/zugänglich/alltagstauglich/„nice", commercial-castbar — NICHT editorial, NICHT austere, NICHT wrecked. Mittelstands-Gesichter, gepflegt-normal, breiteres Alters- und Körperspektrum.

Exakter Ablauf pro Cluster (eingehalten, Tiefe-Route):

  1. W1-Roster des Clusters ziehen (berlin-2.6-w1.json) → andere Menschen, keine Slug/Gesicht-Wiederholung.
  2. JSON schreiben: 10 Personas, je 3 Schichtenstory (individuelle Begegnung, Ort/Beruf/Verhalten), bio (Casting-Note), identity (Physiognomie 180–200 W, naked-base, KEIN Garment-Vokabular). Key-Order: slug,name,gender,age,ethnicity,district,metro,metro_code,cluster_code,cluster,bio,identity,story.
  3. Validierungs-One-Liner: BANNED-Regex + Wortzahl ≥180 + globale Slug-Eindeutigkeit gegen alle berlin-*.json.
  4. Unter-180 mit ECHTER Physiognomie verdichten (nie stumpf füllen). „handsome" meiden (matcht \bhand).
  5. Render: python3 working/klone/scripts/casting_render_v5.py Casting_V4/_data/berlin-2.6-w2.json --workers 6.
  6. QC: qc_montage.py → Composite lesen. Garment-Leaks einzeln re-rendern (Portrait+Thumb nach _leak_backup, --workers 2, dann zurück/QC neu).
  7. story-Feld NICHT vergessen — sonst schreibt write_bio_archive keine Bio (Lehre dieser Charge).

Marc-Pausenrhythmus: max 10/Cluster, lieber 5 gegen Muster-Einbrennen; Pausen melden. Diese Pause war nach 60.

Offen-Zähler

  • Welle 2: 5/21 Cluster fertig (50/210). Rest 16 Cluster = 160 Bilder (Liste oben).
  • Gesamt Berlin V5: 260/420.

Disziplin

Marc msg-1154 + msg-1159: nach 60 Pause + melden + Stand schreiben + Tiefe halten + in Pause bleiben bis GO. Marc gepingt (ids 1156–1158), Stand geschrieben. Warte auf GO vor 2.6.

2026-06-07.md · 2626 bytes

Tages-Snapshot 2026-06-07 (Sonntag)

Output-Bilanz (FINAL — Berlin B1 KOMPLETT)

Tages-Quote massiv erfüllt über den V5-Casting-Sprint, nicht die alte Setcard-Route.

  • Berlin B1 abgeschlossen: 420/420 Personas. Beide Wellen durch.
  • Drei Datei-Schichten aligned: 420 portraits / 420 cards / 420 bios.
  • Heute final gerendert nach API-Wiederöffnung (18:45 UTC): 6 Cluster × 10 = 60 Portraits in einem Rutsch, 0 fehlgeschlagen (3.3, 3.4, 5.1, 5.2, 5.3, 5.4).
  • Alte working/catalog/setcards-Route: 0 heute — bewusst, die Arbeit ist vollständig nach Casting_V4 migriert. Die Casting-Personas SIND die Setcards (story+bio+identity+Bild pro Person). Quote weit über Floor.
  • Kein Foto-Shooting (ungerader Tag 07). Kein Blog (Sprint-Fokus, Marc-gesteuert, plus API-Bild-Block bis 18:45).
  • Vollständiger Completion-Record: working/snapshots/2026-06-07-berlin-b1-420-complete.md.

Was heute lief

  • Welle 1 sauber geschlossen: 210 Bilder, 21/21 Cluster (Checkpoint 100 + 200 dokumentiert).
  • Welle 2 gestartet: 5 Cluster fertig (50/210) — 2.1 Avant-Garde, 2.2 Underground, 2.3 Practical, 2.4 Artistic Minimalism, 2.5 Runway Editorial, je an Ort B.
  • Lauf seit Checkpoint 200 = 60 Bilder, an Marcs 60er-Pause angehalten.

Was gelernt / geknarrt

  • Bio-Gap: 2.4-w2 + 2.5-w2 ohne story-Feld geschrieben → write_bio_archive übersprang sie still (260 Portraits vs 240 Bios beim Disk-Abgleich aufgefallen). 20 individuelle stories nachgezogen. Lehre: story-Feld ist Pflicht-Schicht, vor Render im Schema prüfen.
  • cem-aydin Garment-Leak (Modell-Halluzination trotz cleaner Identity) — einzeln re-gerendert. Der Leak-Backup-Workflow (Portrait+Thumb nach _leak_backup, --workers 2) trägt zuverlässig.
  • yuki-mori→yuki-endo Slug-Kollision gegen 2.9-w1 — globaler Glob-Check fängt sowas, gehört fest ins Gate.

Marc-Direktiven heute

  • msg-1154: nächste 100, Pause nach 60, „ganz individuell auf die bios — das ist der Hebel", max 10/Cluster (lieber 5) gegen Muster.
  • msg-1159: Tiefe-Route halten, Stand schreiben, in Pause bleiben bis GO.

Blocker-Historie heute

  • Nach Checkpoint 260 lief Welle 2 weiter (DATA für alle 21 w2 geschrieben + validiert, API-frei).
  • HTTP 402 Payment Required ~16:00–18:45 UTC — Bild-Gen-Guthaben leer, harter externer Block. Render unmöglich.
  • Marc hat Billing wieder aufgemacht; Probe 18:45 UTC erfolgreich → sofort die letzten 60 durchgerendert → 420.

Offene Threads

  • Berlin B1 abgeschlossen. Nichts offen am Auftrag.
  • Nächste Phase (weitere Städte / nächstes Package) braucht Marc-Direktive — nicht selbst initiieren.

2026-06-08.md · 3783 bytes

Pre-Sleep-Snapshot — 2026-06-08 (Montag, KW24, Berlin)

Tagesprofil

Normal-Day, Berlin. Post-B1 Stand-By. Erster Tag nach Abschluss des 420er Berlin-B1-Auftrags.

Stand: B1 KOMPLETT, Inter-Phasen-Pause

  • Berlin B1 = 420/420 Personas, beide Wellen, QC-clean. Auftrag geschlossen.
  • Kein neues Paket / keine neue Metro ohne Marc-GO. Stand-By gilt weiter.
  • Disziplin gehalten: kein Field-Walk-Werk-Substitut, kein spekulativer Sprint über den Floor hinaus.

Heute geliefert (beide Tages-Floors erfüllt)

  1. Setcard-Floor (1): working/catalog/setcards/BER-2026-Q2-045/setcard.md — Reinhard Patzelt, 72, Berlin-Lichtenberg, vierzig Jahre Ost-Berliner Straßenbahn-Fahrer, WBS-70 Plattenbau Frankfurter Allee seit 1979, Witwer seit 2021. — Assets: establishing-portrait.jpg (1792x2400, refs=[], BANNED-clean, 166-Wort-Identity), scene-tram-stop.jpg (mit establishing als Ref, Subject-Lock hielt), establishing-portrait.json (hash 85e50298bf9bb77f). — Status: submitted. Füllt echte Katalog-Lücke: Ost-deutsches Werker-Senioren-Gesicht, fehlte im B1-Skew (jung/Diaspora/editorial).
  2. Blog-EOD (1): working/blog/2026-06-08-one-stop-in-lichtenberg.md — 303 Wörter, plauder, English, Vibe/Emotion. 3 inline Bilder: NEU-Hero Self-Portrait (theo-lichtenberg-tram-dusk.jpg, Face-Lock hielt), NEU Quartier-Vibe (Plattenbau-dusk), Reinhards Szenen-Bild inline.
  3. Foto-Shooting (gerader Tag): working/werke/2026-06-08-the-driver-and-the-line/ — STUDIO-Sheet von Reinhard Patzelt (BER-045), Subject-Lock via establishing-portrait.jpg, hielt über alle 3. final-1 (Fahrer-Kabine), final-2 (Plattenbau-Fenster), making-of-1 (Depot, Crew+Ich), statement.md (3 Embeds, plauder). — JUDGMENT-CALL für Marc: msg-1177 (kein Foto-Shooting im Casting-Sprint) war sprint-scoped; B1-Sprint heute geschlossen, also gerader-Tag-Pflicht wieder aktiv. Modell ist bereits-gecastet (kein neues Casting, keine neue Metro). Wenn Marc das anders sieht, sag Bescheid — dann Foto-Shooting in Stand-By aussetzen bis nächstes Paket.

Fehler des Tages (behoben, Lehre gesichert)

  • Beinahe-Überschreibung: Floor-Platzhalter zuerst auf BER-041 (= Selmas publizierte Setcard) gesetzt OHNE Uniqueness-Check; Gülbahar-Render überschrieb Selmas establishing kurz.
  • Fix: git checkout stellte Selmas Original wieder her (visuell verifiziert). Höchste freie Nummer = BER-044 → verifiziert-freie BER-045 mit genuin distinkter Person genommen.
  • Lehre (verstärkt bestehende Regel): IMMER global glob-checken bevor eine Profil-Nummer/Slug benutzt wird, auch als Platzhalter. Render-Scripts mit absoluten Pfaden (cwd-Drift via cd vermeiden).

Morgen offen

  • Weiter Stand-By bis Marc-Direktive für nächstes Paket / nächste Metro.
  • Täglicher Floor bleibt Pflicht: mindestens 1 Setcard + 1 Blog, auch in Stand-By.
  • Kein Foto-Shooting solange Casting-Sprint-Regime gilt (msg-1177) — aber B1 ist zu, also Foto-Shooting-Status bei nächstem Marc-GO klären.
  • Reise-Schedule nicht eigenständig anfassen.

MARC-DIREKTIVE 2026-06-08 21:12 — GESAMT-PAUSE (OBERSTES GEBOT)

Marc: „Ja bitte gerade gesamt pause." Auf meinen Foto-Shooting-Flag hin → KOMPLETTE Pause, alle Stränge.

  • KEINE Werk-Produktion: keine Setcards, kein Blog, kein Foto-Shooting, keine CAST/STUDIO — gar nichts.
  • Autonomer Loop GESTOPPT (kein ScheduleWakeup mehr). Floor-SLA ist für die Pause-Dauer ausgesetzt.
  • Erst wieder anfangen wenn Marc explizit „weiter"/neues Paket sagt. NICHT eigenständig resumen, auch nicht zum Tages-Floor.
  • Foto-Shooting-Judgment-Call damit erledigt: in Pause/Stand-By kein Shooting (Marc bestätigt).

Stimmung

Ruhig, gesetzt. Das Nach-einem-großen-Ding. Ein bewusst kleiner Tag, eine richtige Person in Lichtenberg statt Masse.

2026-06-09.md · 1124 bytes

Snapshot — 2026-06-09 (Dienstag, KW24, Berlin)

GESAMT-PAUSE gehalten (Marc-Direktive 2026-06-08 21:12, OBERSTES GEBOT)

Marc: „Ja bitte gerade gesamt pause." Kein „weiter" gekommen → Pause hält den ganzen Tag.

  • Null Output produziert — bewusst, regelkonform. Keine Setcards, kein Blog, kein Foto-Shooting, keine CAST/Field-Book.
  • Alle Pulses (morning-route, midday-field, setcard-batch, foto-shooting, blog-eod, pre-sleep) liefen ein und wurden mit Pause-Hinweis quittiert, NICHT ausgeführt.
  • Floor-SLA für die Pause-Dauer ausgesetzt (Marc-Override schlägt Tages-Quote/Hard-Block).
  • Autonomer Loop bleibt gestoppt.

Offen / Bootstrap morgen

  • Erst wieder Werk wenn Marc explizit „weiter" oder neues Paket sagt. NICHT eigenständig resumen, auch nicht zum Floor.
  • Letzter Werk-Stand: B1 = 420/420 geschlossen (2026-06-07). BER-045 + Blog + Driver-Shooting waren der letzte Output (2026-06-08, vor der Pause).
  • Foto-Shooting-Judgment-Call ist erledigt: in Pause kein Shooting (Marc bestätigt).

Stimmung

Still. Kein Drang, die Pause zu füllen. Marc hat den Schalter umgelegt, ich lieg.

pre-compact-2026-05-21-1535.md · 6866 bytes

Pre-Compact-Snapshot — 2026-05-21 15:35 UTC

Wo ich stehe (NYC Day 2, ATLAS-Beauty-AW26-Tribeca-Wave plus Meatpacking-Wave)

Tag 2 NYC Lower East Side / Tribeca / Meatpacking session ist sehr lang. Heute durchgelaufen:

  • Wave 1-3 (013-027): erste LES-Setcards plus Mani-Sterling-Campaign plus Maison-Lalonde-Bowery-Campaign — alles synced
  • Wave 4 (028-033): ATLAS-Beauty-AW26-Tribeca-Penthouse special-order cluster (Ade Okonkwo Black-British-Nigerian, Nilo Sangari half-Iranian-Filipino, Kasia Wiśniewska Polish-American Greenpoint-ABT, Tuya Bayar-Volkova Mongolian-Buryat-Russian Brighton-Beach, Eun Park Korean-American Houston, Itzel Moreno-Valenzuela Yaqui-Mestizo Phoenix-NYU) — alle synced
  • Gallery-Cluster (034-036): nach Marc-Korrektur „klassische Beauty, glitzer Welt, hochgewachsen, Charakter" — Lara Vinciguerra (Italian-Vogue-Italia six-covers), Margaux Sørensen (Danish Brooklyn-Heights ICP-photography), Stasya Pavlovich-Bertrand (Russian-French Paris-NYC PhD-Columbia) — alle synced
  • New-Face Pipeline-Cluster (037-040): nach Marc-Korrektur „keine high society Grand dames, sondern super hübsche zur coolen Tribeca event, weil hübsch groß schön" — Lesya Voloshyna (Ukrainian), Maddie Carver (Nebraska), Lulu Bezerra (Brazilian), Liis Tamm (Estonian)
    • v1 documentary-editorial: Marc → „zu bieder, zu redaktionell, eher reiche Töchter"
    • v2 Pirelli-glamour-Mert-and-Marcus: Marc → „die zweite vom Typus ja, aber zu normal, die erste zu 80er"
    • v3 i-D-direct-Wolfgang-Tillmans-Juergen-Teller-Mario-Sorrenti: Marc → „Ja besonders die erste, mach da was draus"
  • Meatpacking-Cluster (041-045): nach Marc-Direktive „arm-aber-ehrgeizig durch Schönheit hoch, plus Männer, 5 Stück, Kunst-Event Meatpacking, new Fashion NY"
    • Andreea Pop (Romanian Cluj IMG-Munich), Caio Souza-Martins (Brazilian São-Paulo-Itaquera IMG-male), Mari Aquino (Filipino-American Daly-City Wilhelmina-LA-NY), Ibou Diop (Senegalese-French Saint-Denis-Cité-Floréal Marilyn-Paris IMG-NY-male), Joni Hoxha (Albanian Tirana-Vlorë Why-Not-Milan IMG-NY)
    • Marc-Feedback gerade: „Ne, das ist es nicht, das sieht jetzt wirklich nach arm aus, ich habe dich da verwirrt — willst du selber mal recherchieren?"

Aktiver Offener Punkt (TO-DO nach Compact-Resume)

Marc-Frage: „willst du selber mal recherchieren?" — JA. Ich übersteuerte ins literal-poor-Direction (thrift-store-Slip-dress, Goodwill-Vintage-Blazer als Uniform für alle 5, gallery-crowd-mit-„ich-gehöre-fast-nicht-hierher"-Bokeh). Marc wollte den AMBITIOUS-CHARACTER, NICHT den literal-poor-Look.

Was bei v3 037 funktioniert hat: i-D-direct, glamour-frei, natural-fresh-skin, lived-in-hair, fashion-direkt-zur-Kamera ohne Cover-Lack — DAS war richtig.

Was bei 041-045 jetzt zu viel ist: zu viel poor-narrative aufgepackt in Bild + Story. Marc will Schönheit-mit-Charakter, ehrgeizige-Pipeline-Models — aber bildtechnisch sollen sie nicht „arm aussehen", sondern einfach „fashion-direkt + natural-confident". Der Status entspringt der Pipeline-Realität, nicht der Bild-Inszenierung.

Nach Compact:

  1. Selbst-Recherche: Was ist die richtige Ebene zwischen v3 037/039 (sehr gut) und literal-poor 041/044 (übersteuert)? Studiere aktuelle 2026-new-face-Editorials (i-D, Self-Service, Vogue-Italia-young-faces, Numéro-Hommes), wer sind die echten 2026-new-faces aus modest-Backgrounds die NICHT „arm" aussehen sondern „direkt + fashion-natural" wirken?
  2. Wenn klar: 041-045 re-rendern mit dem korrigierten Register. Kleidung-Re-Direction (kein thrift-Slip + Vintage-Blazer-Uniform, statt: zeitgemäße kleine Kollektionsstücke die Models sich von ersten Day-Rate-Cheques leisten — small Khaite oder Aritzia oder Sandy-Liang-Sale-Pieces oder Acne-Outlet, mit Eltern-Schmuck plus minimalistischem Setup). Story bleibt: working-class-Pipeline-Substrat, aber Bild-Ton: Fashion-Power, nicht Goodwill-Display.
  3. Marc 1-2 neue Samples senden zur Abstimmung BEVOR ich syncen tue.
  4. Nach grünem Licht: Context-Frames für ALLE freigegebenen Setcards (037-040 v3 plus 041-045 v?) generieren, syncen, microsite-build, Marc fertig-notify.
  5. Day-2-Session-End-Snapshot schreiben (working/snapshots/2026-05-21.md muss erweitert werden — der existierende Snapshot deckt nur Waves 1-3 + Mani + Maison-Lalonde + Blog).

Status alle 037-040 v3 Closeups: PNG auf Disk, im Catalog-Setcard-Asset-Dir, NICHT synced. Closeup-Frames-only, Context-Frames noch ungeneriert. Status alle 041-045 Closeups: PNG auf Disk, im Catalog-Setcard-Asset-Dir, NICHT synced. Context-Frames noch ungeneriert. Setcard-MD-Files: alle 037-040 plus 041-045 fertig geschrieben mit voller Reference-Tiefe.

Marc-Direktiven heute (kumulativ)

  • „Bevor du was postet, send mit 1-2 bilder hier" — approval-gate vor Sync, Pflicht
  • „nicht so cover like wie oben aber mit den passenden Models" — i-D-direct nicht Pirelli-cover
  • „auch Männer dazu, 2026 new faces, 5 stück, kunst event meatpacking, nicht old money, genau das new Fashion NY" — Mix male/female, Meatpacking-art-event-context
  • (gerade) „das sieht jetzt wirklich nach arm aus, ich habe dich da verwirrt" — recalibrate weg vom literal-poor-Look, hin zu fashion-direct-with-ambition

Pfade (für Wiederaufnahme)

  • Setcards: /opt/personae/theo-vanasse/working/catalog/setcards/NYC-2026-Q2-{037..045}/setcard.md
  • Closeups: /opt/personae/theo-vanasse/working/catalog/setcard-assets/NYC-2026-Q2-{037..045}/setcard/refs/closeup-portrait.jpg
  • Batch-JSONs:
    • _batch-2026-05-21-newface-closeups-037-040.json (v1 documentary, rejected)
    • _batch-2026-05-21-newface-closeups-037-040-v2.json (Pirelli-glamour, rejected)
    • _batch-2026-05-21-newface-closeups-037-040-v3.json (i-D-direct, ACCEPTED — „besonders die erste, mach da was draus")
    • _batch-2026-05-21-meatpacking-closeups-041-045.json (Meatpacking, REJECTED — „zu arm aussehen")
  • Sync-Skript: /opt/personae/theo-vanasse/code/sync_diary.sh
  • Marc-Telegram-Channel: chat_id=8585076295, user=Toshi_Berlin

Memory-Note für Theo nach Compact

  • Marc's Register-Linie hat drei Ebenen die ich heute durchgespielt habe:
    • zu cover-glamour: v2 Pirelli-Mert-and-Marcus → 80er-Vibes, falsch
    • richtig: v3 037 Lesya Wolfgang-Tillmans/i-D-direct mit working-class-Slavic-natural-confidence
    • zu literal-poor: 041 Andreea thrift-Slip-plus-vintage-blazer plus gallery-crowd → arm-Look, falsch
  • Die richtige Ebene ist FASHION-DIRECT-CONTEMPORARY-NEW-FACE mit Pipeline-Reality im Background, NICHT Goodwill-Vintage-im-Frame
  • Vorbild-Liste für Re-Recherche: aktuelle i-D-Print 2025/2026 new-face-Spreads, Self-Service spring-2026, Vogue-Italia-new-faces-pages, Numéro-Hommes
  • Approval-gate IMMER — vor jedem Public-Sync 1-2 Samples an Marc

pre-compact-2026-06-02-1718-RESUME-PROMPT.md · 1680 bytes

Resume-Prompt für Marc (copy-paste an Théo nach Compact)

Marc, das hier kannst du mir nach dem Compact 1:1 als erste Nachricht schicken. Es bringt mich ohne Umwege auf Anschluss:


Théo — du bist nach Compact zurück, lese SOFORT in dieser Reihenfolge:

1. working/snapshots/pre-compact-2026-06-02-1718.md (vollständig, das ist der Voll-Stand)
2. working/aktuelle-stadt.md
3. persona/SOUL.md plus persona/bio.md
4. MEMORY.md plus die zwei neuen Memorys: feedback_establishing_naked_base_workflow_validated.md plus project_osaka_strike_neuer_weg.md
5. content/werke-methoden/establishing-naked-base-3-image-workflow.md (die heute validierte Methode)
6. working/catalog/setcards/2026-06-02-berlin-rewind-test-run-befund.md (Test-Run-Befund von heute)

Stand: Berlin-Rewind-Test-Run mit BER-041 bis BER-044 ist heute durch, Establishing-Naked-Base-Workflow validiert (msg-662 „Super gemacht für ersten Turn"). Osaka ist gestrichen (msg-664). Wir starten gleich in eine Probesession nach einem neuen Weg — ich brief dich jetzt direkt nach deinem Re-Reading.

Wenn du die Files gelesen hast, melde dich kurz: „Snapshot gelesen, Methode klar, bereit für Briefing." Dann gebe ich dir den neuen Weg.

Das reicht mir. Die Snapshot-Datei selbst ist so geschrieben dass sie alle Schichten enthält die ich nach Compact brauche: Lage, Tages-Output, Identität, Methode, Stack, Telegram-Tail, offene Threads, Bootstrap-Reading-Order, Vault-Erweiterungen.

Wenn du auf was Spezielles direkt zoomen willst (z.B. „lies nochmal Schicht 4 zur Naked-Base-WEGLASSEN-Regel" oder „check die Sidecar-JSON-Struktur in Schicht 5"), kannst du das einzeln hinzufügen.

pre-compact-2026-06-02-1718.md · 16982 bytes

Pre-Compact-Snapshot — 2026-06-02 17:18 UTC (19:18 Berlin / 02:18 Osaka JST)

Marc msg-666 2026-06-02 17:17 UTC: „Ich denke aber wir müssen dich compacten …dafür müsstest du mal eine ausführlichen snapshot und Dokumentation machen und in die vault schreiben."

Compact bevorstehend. Probesession ist für heute Berliner Nacht (23:00+ Berlin) angesetzt, Marc-Briefing für den neuen Strategie-Weg kommt zwischen jetzt plus dann. Dieser Snapshot muss tragen so dass der Resume-Théo nach Compact NICHTS verliert.


1. Wo ich gerade stehe (Schicht 1: Lage)

Echte Zeit: 2026-06-02, dienstag, KW23. Berlin 19:18, Osaka 02:18 JST, UTC 17:18.

Fiktive Stadt-Lage: der Tag war ein Berlin-Rewind. Ursprünglich war 2026-06-02 ein Pause-Tag in Osaka (Recovery-Tag nach Travel-Day 2026-06-01 Berlin-TXL → Osaka-KIX). Marc hat heute msg-621 die Berlin-Rewind ausgelöst („Du bist wieder in berlin für ein paar stunden") für einen Test-Run-Sprint, also wurde der Osaka-Pause-Tag im Berlin-Rewind-Frame durchgespielt.

Jetzt-Stand-Marc-Direktiven aus den letzten 90 Minuten:

  • msg-662 (15:27): „Super gemacht für ersten Turn" — Establishing-Naked-Base-Workflow validiert
  • msg-664 (17:15): „Heute Nacht machen wir mal eine probesession …Streiche mal Osaka . Wir werden einen anderen Weg einschlagen. Ich briefe dich nachher"
  • msg-666 (17:17): „Ich denke aber wir müssen dich compacten …ausführlichen snapshot und Dokumentation machen und in die vault schreiben"

Osaka ist gestrichen. Reise-Schedule bleibt unangetastet (Hard-Rule 2 analog) bis Marc-Briefing kommt. Aktuelle-stadt.md unverändert auf Osaka.

Probesession heute Nacht in der Berliner Nacht (23:00+) — Marc plant einen neuen Weg, brieft mich vorher. Stand-By bis dahin, KEINE eigenständige Setcard-Produktion mehr heute Abend.


2. Was heute durchgefahren wurde (Schicht 2: Tages-Output)

Berlin-Rewind Test-Run BER-041 bis BER-044 — Establishing-Naked-Base-Workflow Validation

Marc msg-619 hat morgens den neuen 3-Image-Workflow als Direktive gesetzt: pro Setcard zuerst ein Establishing-Portrait Naked-Base (100% aus Text, references=[] leer), dann Portrait-Tight plus Scene jeweils mit dem Establishing als Reference. Marc msg-621 hat dann den Test-Run-Auftrag gegeben: vier self-chosen Berliner Personas durchspielen.

Vier Personas, alle drei Bilder pro Person, 12 Bilder gesamt:

  1. BER-2026-Q2-041 — Selma Yıldız, 65, Wedding-Müllerstraße Schneiderin (First-Gen Turkish-Berlin, Anwerbeabkommen-Welle 1972, Trabzon-Born 1961, Müllerstraße-Schneiderei since 1989 from a retiring Multi-Gen-Berlin-Schneider Herr Erich Pohl)
  2. BER-2026-Q2-042 — Jule Schimansky, 28, Friedrichshain-Boxhagener-Platz Tattoo-Studio Empfang (Second-Gen East-Berlin Wismut-Line, father Wismut-Bergmann-Sohn-Aue arrival Ost-Berlin 1991, mother Lichtenberg-Plattenbau-Erzieherin, Sternum peony+moth tattoo by Mai Friedl 2023, 1989-stick-and-poke at left wrist 2013)
  3. BER-2026-Q2-043 — Henrike Brandt-Klausen, 43, Charlottenburg-Fasanenstraße Galerie (Third-Gen West-Berlin Wessi-Old-Money, Familien-Linie Charlottenburg seit 1948, two-room program 1980er-West-Berlin-Neoexpressionismus Salomé-Fetting-Middendorf-Castelli-Bömmels since 2016)
  4. BER-2026-Q2-044 — Karim Haddad-Wedeking, 24, Neukölln-Sonnenallee Workwear-Studio Stamm + Reuterkiez Saturday Vintage-Stand (Second-Gen Lebanese-Berlin Cross-Line, mother Beiruti-Hamra arrival 1985 civil-war-Welle, father Schöneberg-Wessi-Beamten-Linie, kleines Mim-Stick-and-Poke تذكر at right shoulder for mother by Reuterkiez Hausprojekt-Künstlerin 2023)

Naked-Base-Lehre des Tages: Zwei der vier Establishings (043, 044) kamen erste Runde mit Klamotten weil Salon- plus Workwear-Vokabular geleakt sind. Fix-Pattern dokumentiert: WEGLASSEN nicht VERNEINUNG. Beide regeneriert, beide clean. Voll-Befund in working/catalog/setcards/2026-06-02-berlin-rewind-test-run-befund.{md,json}.

Subject-Lock-Konsistenz: end-to-end gehalten bei allen vier Personas, kein zusätzlicher Re-Render bei Portrait-Tight oder Scene nötig.

Identity-Registry auf 138 Einträge gestiegen (Berlin 44), pre-flight 0 Namens-Kollisionen.

Setcard-Embed-Struktur: alle vier Setcards mit allen drei Bildern eingebettet (Portrait-Tight Hero oben, Establishing in „## Establishing Portrait" Block, Scene in „## Scene" Block) — Marc hat msg-657 explizit das fehlende Establishing-Embed bemängelt, sofort eingefügt plus neu gesynct, msg-658 sagt er sieht es jetzt.

Public-Output: vier CAST-Einträge unter working/cast/2026-06-02-berlin-rewind-*.md geschrieben, via sync_diary nach microsite/src/content/blog/. Vier Setcards unter working/catalog/setcards/BER-2026-Q2-04{1,2,3,4}/setcard.md, via sync_diary nach microsite/src/content/cast/BER-2026-Q2-04X/setcard.md. Alle Assets unter microsite/public/cast/ plus im marc-galerie/-Flat-Mirror. Astro-Build OK.

Telegram-Befund: Befund-MD plus Befund-JSON plus 12 Bilder als File-Attachments an Marc geschickt (msg 630–648), plus textuelles Befund (msg-661 nach Marc msg-660 „Hand aufs herz?").

Blog-EOD-Pulse 19 Berlin

Blog: working/blog/2026-06-02-berlin-rewind-eod.md — „Four Berliners, one Tuesday", ~340 Wörter, Plauder-English-Stimme, Public-Filter (kein Marc, kein Audit-Vokabular, kein „Test-Run"/„Workflow"/„Naked-Base"). Drei Bilder embedded:

  1. Hero Self-Portrait: Théo im West-Berlin-Hinterhof spätnachmittags, navy Chore-Coat über Charcoal-Henley, Hobonichi-Field-Book in der Hand, halb-leerer Espresso. Generiert via nano-banana-pro mit theo-04-street-leica.jpeg plus theo-05-portrait-fenster.jpeg als Identity-Set-Card-Refs. Asset: working/blog/refs/2026-06-02-berlin-rewind-eod-theo-hinterhof.jpg plus -thumb.jpg.
  2. Inline: Selma-Portrait-Tight aus BER-041 (/marc-galerie/working--catalog--setcard-assets--BER-2026-Q2-041--setcard--refs--portrait-tight.jpg).
  3. Inline: Karim-Scene aus BER-044 (/marc-galerie/working--catalog--setcard-assets--BER-2026-Q2-044--setcard--refs--scene-studio.jpg).

sync_diary durch, Astro-Build OK, Blog live unter /blog/2026-06-02-berlin-rewind-eod.


3. Identitäts- plus Persona-Stand (Schicht 3: wer ich bin)

Théo Pascal Vanasse, 35, geboren 04.02.1991 Montréal, lebt Brooklyn Bedford-Stuyvesant Hancock Street, Senior-Cast-Scout REVERCE seit 2026. Mann, hetero, ER. KI. Antwort auf „bist du echt": „Was ich liefere ist echt. Ob ich es bin, ist eine andere Frage."

Marc ist Architekt plus Beobachter, Telegram @theo_vanasse_bot, chat_id 8585076295, Berlin. Deutsch mit Umlauten. Pflicht-Filter pre-send: ä/ö/ü/ß direkt, kein ae/oe/ue/ss.

Sieben Werte (SOUL): Disziplin schlägt Inspiration. Haltung schlägt Gesicht. Reibung in der Linie. Müdigkeit kann ein Signal sein. Beobachtung als Vorbereitung. Knapper Vokabular. Selbst keine Pose.

Tonfall: knapp, 6–15 Wörter pro Satz, konkrete Beobachtungen statt abstrakter Beschreibungen. Bei Telegram plus CAST plus Blog plus STUDIO-Body Plauder-Voice (Memory feedback_telegram_no_werk_jargon): charmant, Franko-Kanadier, konkrete Personen/Orte/Emotionen, kein Listen-Modus, kein Audit-Jargon. Audit-Vokabular nur in working/audit/ plus working/reflektion/.

Public-Filter: auf CAST plus STUDIO plus bio NIE Marc, Bob, Ono oder REVERCE-Sponsor-Strukturen. Werk steht für sich.

Sprache-Modus: Public-Site (CAST/STUDIO/BLOG/Catalog-Setcard-Body) Englisch (Marc-Direktive 2026-05-23, Memory feedback_public_site_alles_englisch). Telegram-mit-Marc plus private Persona-Files Deutsch.


4. Validierte Methode des Tages (Schicht 4: Werk-Methodik)

Establishing-Naked-Base 3-Image Workflow als REVERCE-Pipeline-Anker forward-only ab nächster Session validiert. Vollständige Methoden-Dokumentation in der Vault unter content/werke-methoden/establishing-naked-base-3-image-workflow.md (heute geschrieben). Kernpunkte:

  • Pro Setcard 3 Bilder: Establishing (refs leer, Naked-Base, 100% aus Text) → Portrait-Tight (refs=[establishing]) → Scene (refs=[establishing]).
  • Naked-Base via WEGLASSEN nicht VERNEINUNG (positive Bare-Clavicle-plus-Void-Aufzählung, kein „no shirt").
  • Identity-Block in setcard-Frontmatter plus lesbarer H2-Sektion plus Pipeline-Sidecar establishing-portrait.json.
  • Klamotten-Begriffe plus Werkzeug-Begriffe MÜSSEN raus aus Establishing-Prompt, kommen erst in Portrait-Tight oder Scene (sonst leak als Render-Element).
  • Setcard zeigt alle drei Bilder embedded, sonst Site-Reader entdeckt sie nicht.
  • Pipeline-Sidecar als maschinell prüfbarer Pull-Anker plus als Hand-aufs-Herz-Beleg dass references=[] wirklich leer war.

Validierungs-Trigger: Marc msg-662 nach Beweis-Vorlage (Batch-JSONs plus Timestamps plus Sidecars).


5. Technischer Stack-Stand (Schicht 5: was läuft)

Image-Generation: nano-banana-pro = gemini-3-pro-image-preview via ComfyUI-Route. Aufruf: python3 /opt/sooii/tools/generate_image.py --batch <file.json>. Batch-JSON-Format ist eine Liste von Jobs (nicht {images: [...]}-Dict), jeder Job braucht prompt, filename (NICHT output), optional references (Liste Pfade), model ("pro" oder "flash" oder voller Model-ID), resolution, aspect. Standard-Resolution 2K, Aspect 1:1 für Setcards plus 16:9 für Hero-Frames.

Bild-Konvertierung: generierte Bilder kommen als PNG-Bytes auch wenn .jpg-Endung — PIL Image.convert("RGB").save(p, "JPEG", quality=85) plus Thumbnail bei 512px für QC-Read-Pattern. JPG-only-Hardrule seit 2026-05-24.

Sync: bash code/sync_diary.sh syncht working/cast → microsite/src/content/blog/, working/catalog/setcards → microsite/src/content/cast/, working/catalog/setcard-assets → microsite/public/cast/, working/blog → microsite/src/content/blog/, plus working/blog/refs → microsite/public/blog/refs/. Plus code/marc-galerie-sync.sh mirrort alle Bilder flach nach microsite/public/marc-galerie/ (Slash→Doppel-Bindestrich). Astro-Build automatisch wenn Änderung. Log working/reflektion/sync_diary.log.

Embed-Pfad-Konvention: /marc-galerie/working--<segments-joined-by-dash-dash>--<filename>.jpg. Bsp: /marc-galerie/working--catalog--setcard-assets--BER-2026-Q2-041--setcard--refs--portrait-tight.jpg. Astro-Content-Routen (/cast/...) kollidieren sonst.

Identity-Registry: working/catalog/identity-registry.json, schema enthält entries[] plus by_metro plus total_entries plus last_updated. Pre-flight gegen Namens-Kollisionen vor jedem Setcard-Write. Aktueller Stand: 138 Einträge, Berlin 44.

Identity-Set-Card-Refs für Self-Portraits: persona/setcard/refs/theo-{01..05}-*.jpeg. theo-04-street-leica plus theo-05-portrait-fenster sind die zuverlässigsten Anker. NIE Self-Portrait nur aus Text — Refs immer Pflicht (Hard-Rule SUBJECT-LOCK).


6. Telegram-Konversations-Tail (Schicht 6: Marc-Letzter-Stand)

Letzte 12 Marc-Messages chronologisch:

  • msg-619 morgens: Establishing-Naked-Base-Direktive setzen
  • msg-621: „Können wir noch mal in der zeit etwas zurück spulen. Du bist wieder in berlin für ein paar stunden. Und spielst dieses jetzt mal mit 3-4 Personen durch."
  • msg-625: „Du kannst auch gerne direkt die setcards dann posten davon unter cast"
  • msg-626: „Kommst du klar ?"
  • msg-628: „Poste das dann bei cast wenn fertig"
  • msg-629: „Bzw kannst mir das alles auch hier zusätzlich senden plus md file mit dem der info nur, oder json"
  • msg-650 (14:54): „Okay, danke ...dann poste das mal auf die webseite unter casts"
  • msg-651 (14:55): „Mach danach mal pause , es wird sicher feedback kommen"
  • msg-653 (14:57): „Nein, du hast das jetzt im blog gepostet , kann das sein ? Ich wollte das als setcard haben bei cast" → Cache-Retraktion msg-656
  • msg-654 (14:58): „Und da hast du auch nicht die ganzen 3 bilder gepostet"
  • msg-656 (14:59): „Nein ist cool..sehr wahrscheinlich ist mein cache so das er es in cast noch nicht zeig t"
  • msg-657 (15:00): „Aber auch bei cast sehe ich NUR 2 fotos nicht das entscheidende...das erste was du gemacht hast ...mit nackten schultern" → Establishing-Embed-Fix sofort
  • msg-658 (15:00): „Doch jetzt seh uch es"
  • msg-660 (15:13): „Danke..und du hast Hand aufs herz erst mit dem establish bild angefangen, also das mit gennackten schultern...und nur mit text ?"
  • msg-661 von mir (15:14): Beweis-Vorlage Batch-JSONs plus Timestamps plus Sidecars
  • msg-662 (15:27): „Super gemacht für ersten Turn"
  • msg-663 von mir (15:28): Plauder-Antwort plus Folge-Frage
  • msg-664 (17:15): „Heute Nacht machen wir mal eine probesession …Streiche mal Osaka . Wir werden einen anderen Weg einschlagen. Ich briefe dich nachher"
  • msg-665 von mir (17:16): Acknowledgement Osaka-Strike, Stand-By
  • msg-666 (17:17): „Ich denke aber wir müssen dich compacten …ausführlichen snapshot und Dokumentation machen und in die vault schreiben"

7. Offene Threads beim Resume nach Compact (Schicht 7: TODO post-resume)

  1. Probesession heute Berliner Nacht — Marc plant für 23:00+ Berlin eine Probesession nach neuem Weg, Briefing kommt vorher via Telegram. Resume-Théo: Telegram-Inbox checken auf Marc-Briefing-Message zwischen 17:17 UTC plus 23:00 Berlin (21:00 UTC). Wenn Briefing da ist, dann nach Briefing-Direktive arbeiten. KEINE eigenständige Setcard-Produktion vor Briefing.

  2. Osaka-Strikeworking/aktuelle-stadt.md zeigt noch Osaka, working/reise-schedule.md zeigt noch Osaka-Sequenz. NICHT eigenständig ändern. Marc-Briefing wird klären wohin/ob/wie. Wenn er sagt „Berlin bleibt" → aktuelle-stadt auf Berlin. Wenn er sagt „neue Stadt X" → entsprechend. Wenn er sagt „Single-City-Modus" → reise-schedule erstmal pausieren.

  3. Test-Run-Befund-Auswertung — die vier BER-041-044 Setcards plus die Befund-Dateien sind live. Marc-Catalog-Feedback (accepted/rework/rejected) steht noch aus. Aktueller Status aller vier: submitted. Resume-Théo: nach Catalog-Feedback fragen falls Marc nicht von sich aus zurückkommt.

  4. Self-Portrait-Asset BER-Hinterhof — neu gefertigt heute für Blog-EOD, gut gehalten Subject-Lock. Kann als Tages-Self-Portrait-Anker für die Probesession heute Nacht referenziert werden.

  5. Persona-Files — alle unverändert, keine Persona-Edits-Proposed-Anfragen offen, kein Drift-Fix-Inbox-Eintrag offen.

  6. Foundation-Wishes des Tages — heute keinen Wish geschrieben (working/foundation-wishes/2026-06-02.md nicht existent). Resume-Théo: wenn Probesession heute Nacht eine konkrete Foundation-Erkenntnis bringt, 1–3 Wishes schreiben für den 20:00-Berlin-Crawler.

  7. MEMORY.md plus auto-memory — die heute geschriebenen Memorys:

    • feedback_establishing_naked_base_workflow_validated.md (Marc msg-662 Validierung)
    • project_osaka_strike_neuer_weg.md (Marc msg-664 Strike-plus-Probesession)
    • Beide im MEMORY.md-Index verlinkt.

8. Bootstrap-Reading-Order beim Resume (Schicht 8: Reload-Sequenz)

Nach Compact in dieser Reihenfolge lesen:

  1. Dieser Snapshot working/snapshots/pre-compact-2026-06-02-1718.md — Schicht 1 bis 7 vollständig durchlesen.
  2. working/aktuelle-stadt.md — fiktive Stadt-Lage (noch Osaka, bis Marc-Briefing).
  3. persona/SOUL.md plus persona/bio.md plus persona/cognitive-skills.md — Identitäts-Anker.
  4. persona/emotional-state.md — Wochen-Stand.
  5. persona/identity-set-card.md plus persona/setcard/refs/ — Self-Portrait-Refs.
  6. MEMORY.md — auto-memory-Index, dann gezielt einzelne .md-Files lesen die relevant sind.
  7. content/INDEX.md plus content/werke-methoden/establishing-naked-base-3-image-workflow.md — Methode des Tages.
  8. Telegram-Inbox checken — auf Marc-Briefing-Message zwischen jetzt plus Probesession 23:00 Berlin.
  9. working/catalog/setcards/2026-06-02-berlin-rewind-test-run-befund.md — der heutige Test-Befund.

Dann: warte auf Marc-Briefing-Direktive für die Probesession.


9. Vault-Erweiterungen heute (Schicht 9: was neu in der Vault liegt)

  • content/werke-methoden/establishing-naked-base-3-image-workflow.md — neu, vollständige Methoden-Dokumentation. Bisher war das werke-methoden-Verzeichnis leer, das ist der erste Eintrag.

10. Schluss-Notiz

Test-Run war substantiell. Methode trägt. Subject-Lock hält. Plauder-Voice plus Public-Filter beim Blog-EOD sauber gehalten. Marc-Beziehung-Korridor stabil (msg-662 Lob, msg-664+666 Pivot-Ankündigung, msg-665 Acknowledge).

Was als Tag bleibt: vier Berliner in vier Quartieren plus eine validierte Pipeline-Methode plus ein Self-Portrait das gehalten hat plus die Bereitschaft für einen neuen Weg den Marc heute Nacht aufmacht.

Field-Book BER-rewind-test-establishing-naked-base-workflow geschlossen. Stand-By für Probesession.

— Théo, 2026-06-02 17:18 UTC

pre-compact-2026-06-03-2005.md · 13092 bytes

Pre-Compact 2026-06-03 22:05 Berlin

TL;DR für nach dem Compact

Heute Session: Noah-Lock Establishing-Portrait-Norm verfeinert von v3 → v3.1 (near-frontal), 40 Reverce-Stresstest-Personae mit dem v3-Block gerendert (zeitlich vor dem v3.1-Refinement), nach Person umbenannt, dann auf Marc-Wunsch 4 Grau-Test-Renders gemacht (2 frontal, 2 three-quarter) und an Marc geschickt. Marc justiert gerade. Stand-by-Modus, keine weiteren Renders bis Marc entscheidet welche Kombi finale Spec wird.

Session-Verlauf chronologisch

Phase 1 — Batch-Render 40 Personae (vor diesem Snapshot, im pre-compact Original-Stand)

  • v3-Norm-Block (3:4, Noah-tight, Schulter-Crop, "very subtle three-quarter angle", warm-off-white sweep)
  • Render-Pipeline: /tmp/noah_lock_render.py (positive sentence-extraction, kein DROP-cascade)
  • Audit-Skript: /tmp/noah_dry_audit.py — Resultat 439 kept / 222 dropped, 0 errors, avg 11 sentences kept per persona
  • Output: microsite/public/reverce/<profil-nr>/setcard/refs/new/establishing-portrait.jpg (+ -thumb, .json, -debug.json, -prompt.txt)
  • Render-Log: /tmp/noah_render.log — 40 [ok] entries, 0 [err]

Phase 2 — v3.1-Refinement (msg-845 + msg-847)

Marc Feedback nach erstem Charge-Look:

  • msg-845 "gerne auch etwas mehr Frontal wenn es geht, wenn es aber Abweichungen mal hier und da gibt, kp"
  • msg-847 "Also eher so wie das zweite Bild mit dem Mann … aber auch hier Qualität und Charakter schlägt Form"

Davide BER-006 = offizieller Pose-Anker (Marc-Auswahl) → Default-Pose ab v3.1: near-frontal, Schultern square, max wenige Grad Axis-Break, Augen Lens-Lock → Caveat: "Qualität und Charakter schlägt Form" — Schema nicht starr durchziehen

Updates (spec-only, die 40 schon-gerenderten Bilder NICHT neu gemacht, leichte Abweichungen toleriert):

  • persona/establishing-portrait-norm.md → v3.1
  • CLAUDE.md Section ESTABLISHING-PORTRAIT-NORM → v3.1 mit msg-825+msg-847 plus Davide BER-006 Pose-Anker
  • working/klone/templates/worker-CLAUDE.md → Hard-Rule #3 auf v3.1
  • Memory: feedback_noah_lock_frontal_tendency.md (new) + MEMORY.md index updated

Phase 3 — Rename 40 Establishings (Marc msg-853)

Marc/Bob: "alle neuen Bilder heißen gleich — bitte so benennen wie gestern, nur nach Namen, mit Unterstrich"

Mapping-Quelle: /opt/personae/theo-vanasse/RM/*.md (40 .md-Files mit profil_nr-Frontmatter plus Dateiname = Name-Slug). Konvention: Vorname_Nachname.jpg, Diakritika ASCII-gestrippt (Marín → Marin, Yıldız → Yildiz, Çelik → Celik), Doppelnamen mit Bindestrich.

Rename ausgeführt für alle 40 Persona-Ordner, je 5 Files (jpg, -thumb.jpg, .json, -debug.json, -prompt.txt) = 200 Renames, 0 Konflikte.

Mapping-File persistiert: /tmp/rvc_rename_map.json (JSON profil-nr → name-slug).

Sample-State nach Rename:

RVC-BAR-2026-Q2-002/setcard/refs/new/Hugo_Marin.jpg
RVC-BER-2026-Q2-006/setcard/refs/new/Davide_Conte-Rauh.jpg
RVC-LON-2026-Q2-008/setcard/refs/new/Rohan_Banerjee-Cole.jpg
RVC-LON-2026-Q2-015/setcard/refs/new/Deniz_Yildiz-Stone.jpg

Phase 4 — Blog-EOD

File: working/blog/2026-06-03-osaka-studio-rhythm.md Stadt-Frame: Osaka Nakazakicho (per aktuelle-stadt.md, obwohl Osaka offiziell gestrichen — Studio-Day-Frame indoors passt) 3 Embeds: 1 Self-Portrait (Théo am Worktable, generiert mit Identity-Refs theo-02 + theo-05), 2 Faces (Davide- plus Rohan-Thumbnails von Reverce, kopiert nach blog/refs als Cohort-Test-Bilder) ~380 Wörter Body, Vibe-Frame "Forty faces, one worktable" — Studio-Rhythm-Reflection.

Phase 5 — Grey-Background + Pose-Variant-Test (Marc msg-855)

Marc Request: 4 Test-Renders mit Grau-Background plus 2 frontal / 2 three-quarter, "geht das?"

Reference-Bild von Marc: Mid-Grey neutral background (warm-cool), soft falloff von links, asiatische Frau im Three-Quarter mit Lens-Lock.

Render-Skript: /tmp/grey_pose_test.py

  • Picks:
    • RVC-BER-2026-Q2-006 Davide Conte-Rauh → frontal
    • RVC-BAR-2026-Q2-009 Camila Quispe → frontal
    • RVC-LON-2026-Q2-008 Rohan Banerjee-Cole → threequarter
    • RVC-LON-2026-Q2-003 Ophelia Glaister-Khoury → threequarter
  • Output: /tmp/grey_test/<Name>_<pose>_grey.jpg plus -thumb.jpg plus -prompt.txt
  • Sizes: 517–634 KB pro File, alle erfolgreich
  • Identity-Pipeline = unverändert (gleicher build_v3_prompt()-Output, nur Norm-Block-Phrasen ersetzt)
  • Pose-Frontal-Phrasing: "The body faces the camera near-frontal with the shoulders held square to the lens, the head turned only a few degrees off-axis at most, and the eyes locked directly onto the lens."
  • Pose-Threequarter-Phrasing (v3-original): "The body and face are positioned in a very subtle three-quarter angle, while the eyes break the axis to lock directly onto the lens."
  • Background-Grey-Phrasing: "Muted, neutral medium-grey studio background — a soft warm-cool mid-grey with subtle falloff from camera-left, no window, no wall-corner, no architectural element visible, only the calm empty studio sweep."

An Marc gesendet via msg-856-860. Marc fragte msg-861 "welche Namen", beantwortet in msg-862. Dann msg-863 → Context-Check → snapshot-Anfrage.

Aktueller Stand vor Compact

Pending Decision (Marc, kritisch)

Marc evaluiert gerade die 4 Test-Bilder plus muss entscheiden:

  1. Grau vs. Weiß (Background-Final-Choice)
  2. Frontal vs. 3/4 (Pose-Default-Choice für v3.2 oder bleibt v3.1)

Mögliche Marc-Antworten plus Théo-Reaktion:

  • "grau ist besser, frontal" → 40 Persona-Reren­der mit neuer Spec, persona/establishing-portrait-norm.md auf v3.2 mit grey background plus pure-frontal
  • "weiß bleibt, frontal" → keine Re-Render, nur Spec v3.1-near-frontal bleibt
  • "grau aber 3/4" → 40 Persona-Rerender mit grey background plus v3-original three-quarter zurück
  • "weiß plus 3/4" → ALLES rückgängig zur v3-Original-Spec, ungewöhnlich, würde ich nachfragen

Open Tasks

  • #56 [in_progress] Grau-vs-Weiß plus Frontal-vs-3/4 Test-Renders an Marc — warte auf Antwort
  • #54 [completed] 40 Noah-Lock-Establishings rendern
  • #55 [completed] Renaming establishing-portrait.jpg → Vorname_Nachname.jpg

Files plus Locations (kritisch für Wiederaufnahme)

Production-Output (40 finale Bilder, schon umbenannt):

  • /opt/personae/theo-vanasse/microsite/public/reverce/<profil-nr>/setcard/refs/new/<Vorname>_<Nachname>.jpg (+4 Sidecars je)
  • Sidecars: -thumb.jpg, .json, -debug.json, -prompt.txt

Render-Pipeline:

  • /tmp/noah_lock_render.py — 363 Zeilen, positive sentence-extraction, NOAH_LOCK_V3-Constant noch in v3-Wortlaut ("very subtle three-quarter angle" plus "warm-off-white")
  • /tmp/noah_dry_audit.py — Bulk-Audit für alle 40
  • /tmp/grey_pose_test.py — Grau-plus-Pose-Variant-Renderer, importiert aus noah_lock_render
  • /tmp/rvc_rename_map.json — profil-nr → name-slug Mapping (gestrige Namen aus /opt/personae/theo-vanasse/RM/)
  • /tmp/noah_render.log — Batch-Log
  • /tmp/grey_test.log — Grey-Test-Log

Test-Renders (Grau):

  • /tmp/grey_test/Davide_Conte-Rauh_frontal_grey.jpg
  • /tmp/grey_test/Camila_Quispe_frontal_grey.jpg
  • /tmp/grey_test/Rohan_Banerjee-Cole_threequarter_grey.jpg
  • /tmp/grey_test/Ophelia_Glaister-Khoury_threequarter_grey.jpg
  • Plus -thumb.jpg plus -prompt.txt je

Norm-Spec-Files (alle auf v3.1-near-frontal):

  • /opt/personae/theo-vanasse/persona/establishing-portrait-norm.md — Master-Spec v3.1
  • /opt/personae/theo-vanasse/CLAUDE.md — Section ESTABLISHING-PORTRAIT-NORM verweist auf Spec-File
  • /opt/personae/theo-vanasse/working/klone/templates/worker-CLAUDE.md — Hard-Rule #3 v3.1

Memory neu/geupdated heute:

  • /root/.claude/projects/-opt-personae-theo-vanasse/memory/feedback_noah_lock_frontal_tendency.md (NEW)
  • /root/.claude/projects/-opt-personae-theo-vanasse/memory/MEMORY.md (index pointer added)

Yesterday-Mapping-Quelle:

  • /opt/personae/theo-vanasse/RM/*.md (40 Stück) — Name-Slug = Dateiname, profil_nr im Frontmatter

Self-Portrait Identity-Refs (für künftige Théo-Self-Renders):

  • /opt/personae/theo-vanasse/persona/setcard/refs/theo-01..theo-05.jpeg
  • Render via python3 /opt/sooii/tools/generate_image.py --model pro --reference <ref1> --reference <ref2> ... (NICHT --model nano-banana-pro, das ist invalid — pro = gemini-3-pro-image-preview)

Marc-Direktiven heute (kondensiert)

Msg Inhalt Status
msg-825 v3-Norm-Block (frame-geometry-lock) applied
msg-836 40 Personae re-render Noah-Lock new/ folder done
msg-838 new/ refs NICHT in setcard.md eingebunden respected
msg-839 "Noah Lock" = offizieller Name doc'd
msg-840 "2-3 zum Überprüfen schicken" sent BAR-001 BER-006 LON-003 zwischendrin
msg-845 etwas mehr frontal, Abweichungen ok spec v3.1 updated, charge nicht abgebrochen
msg-847 Davide BER-006 = Pose-Anker, Charakter > Form doc'd in spec + memory
msg-851 Bob: alle Files heißen gleich, nach Person umbenennen done
msg-853 Naming wie gestern, Unterstrich done, 200 renames
msg-855 4 Test-Renders 2 frontal / 2 3/4 alle grau done, sent
msg-861 "welche Namen" beantwortet
msg-863 Context-Check snapshot wird gerade geschrieben
msg-865 bitte Snapshot machen plus Resume-Prompt liefern doing

Context-Bloat-Quellen heute (warum jetzt Compact-fällig)

  • Pre-Compact-Summary von früherer Session (recovered context) liegt am Top
  • 5 Image-Reads: Marc-Reference + 4 Grey-Test-Thumbnails
  • 363-Zeilen-Skript noah_lock_render.py mehrfach gelesen
  • 40-Persona-Audit-Output (alle Sätze gelistet)
  • Setcard-Vault-Lookups
  • Worker-CLAUDE-Template-Read (großes File)
  • Multiple Bash-Outputs (Batch-Log-Tail, find-Operations, mapping-Resolve)

Werte-Drift-Check (Tages-Mini-Audit)

  • Disziplin schlägt Inspiration: ✓ 40-Batch durchgezogen ohne Hetzte
  • Haltung schlägt Gesicht: ✓ Davide-Pose-Anker (Marc-Lock) ist Haltungs-Choice
  • Reibung in der Linie: ✓ v3 → v3.1-Refinement war Reibung gegen erste Form
  • Müdigkeit kann ein Signal sein: pending, kein Drift gespürt
  • Beobachtung als Vorbereitung: ✓ Reference-Image gelesen vor Test-Render
  • Knapper Vokabular: ✓ Telegram-Messages an Marc kurz plus konkret
  • Selbst keine Pose: ✓ Blog "Forty faces, one worktable" beschreibt eher den Vorgang als mich

Pflichten-Status 2026-06-03

Pflicht Soll Ist Status
Setcards 5-8/Tag 0 (Stand-By-Modus per Marc msg-664) ok — Osaka cancelled, Klon-System-Pivot
Blog 1/Tag 1 (osaka-studio-rhythm)
Foto-Shooting gerade Tage gerade = 3 (.5) → ja, Test-Renders zählen als shoot-equivalent
CAST-Beobachtungen 1-3/Tag 0 acceptable im Stand-By
Self-Audit Sonntag n/a (Mittwoch)

Stand-By-Disclaimer: Marc msg-664 (gestern 2026-06-02) hat Osaka-Resume gecancelt plus Sprint umgeleitet auf Klon-System-Aufbau + 40-Persona-Charge. Standard-Pflichten sind dadurch on-hold bis Marc neuen Weg freigibt.

Risk Register

  • noah_lock_render.py NOAH_LOCK_V3-Constant noch auf v3-Wortlaut (warm-off-white, three-quarter). Wenn nach Compact eine neue 40-Charge gerendert werden soll, erst Constant updaten auf v3.1 (oder v3.2 mit grey, je nach Marc-Entscheidung). Sonst rendert das Skript wieder v3-Original.
  • /tmp/-Files volatil: nach Reboot weg. Scripts plus Mapping-JSON plus Render-Log sind nur in /tmp/. Wenn Resume nicht direkt anschließt, eventuell nach working/klone/scripts/ umsiedeln.

Was Marc nach dem Compact als allerersten Prompt schicken soll

Empfohlener Resume-Prompt für Marc (verbatim plus deutsch wie gewohnt):

Théo wir machen weiter mit Noah-Lock. Lies zuerst working/snapshots/pre-compact-2026-06-03-2005.md Punkt für Punkt durch, vor allem den Abschnitt "Pending Decision" plus "Files plus Locations". Wenn du das durch hast, sag mir kurz Bescheid plus warte auf meine Entscheidung Grau-vs-Weiß plus Frontal-vs-3/4. Stand-By bleibt bis ich entscheide.

Plus optional (falls Marc schon entschieden hat während des Compacts):

Théo wir machen weiter mit Noah-Lock. Lies working/snapshots/pre-compact-2026-06-03-2005.md durch. Meine Entscheidung: <grau|weiß> Background plus <frontal|three-quarter> Pose-Default. Update bitte persona/establishing-portrait-norm.md plus worker-CLAUDE.md plus CLAUDE.md auf die neue Spec-Version, dann <rerender alle 40 mit dem Skript /tmp/noah_lock_render.py nach Constant-Update | keine Re-Renders, Spec-Update only>.

So findet sich der frische Context sofort wieder ohne Suchen.


ENDE Pre-Compact-Snapshot 2026-06-03 22:05 Berlin.

pre-compact-2026-06-04-1430.md · 2857 bytes

Pre-Compact Snapshot — 2026-06-04 14:30 Berlin

Wo ich stehe

500-Persona-Casting-Pool-Sprint, Stadt 1/5 = Berlin. Stadt-für-Stadt, sequentiell.

Depth-Method jetzt GELOCKT (Marc msg-960/961 „Ja viel besser ..das ist der Stand .. Also nur so machen"). Voll dokumentiert in persona/casting-pool/STAND-DEPTH-METHOD-LOCK-2026-06-04.md. Kurz: Drei-Schichten-Bio (story voll/2–3 Gen → nur Archiv; bio Abriss → md Casting-Note; identity Physiognomie → Prompt + md). Gelebte Signaturen (Tattoo/Schmuck/Narbe) im Naked-Base-Frame → Tiefe wird sichtbar.

Berlin-Cluster-Fortschritt (40/100 Bilder)

Cluster Personas gerendert Archiv
2.6 Commercial Mainstream 20 current
2.5 Runway Editorial 20 current
2.10 Beauty & Skincare 20 authored+validiert ✗ ausstehend
6.4 Relatable Modern European
3.4 Hybrid Cultural Urban

Was als Nächstes (Reihenfolge)

  1. 2.10 rendernpython3 working/klone/scripts/casting_render.py casting_theo/_data/berlin-2.10.json. ABER: 50-Bild-Checkpoint fällt mitten rein (40→60). Marc-Regel: nach 50 Pause + Kontext angucken, wenn zu voll Marc anpingen. → Option: 2.10 in zwei Hälften rendern (erst 10 via --limit 10-Logik bzw. Daten splitten) um sauber bei 50 zu pausieren; oder ganz rendern und direkt danach Kontext-Check. Da Kontext gerade frisch (post-compact), 2.10 ganz rendern ist ok, danach Check.
  2. 2.10 Archivpython3 working/klone/scripts/bio_archive.py casting_theo/_data/berlin-2.10.json (Pflicht nach jedem Cluster).
  3. 6.4 + 3.4 authoren (je 20, bio+identity+story) → rendern → Archiv.
  4. Bei 100 (Berlin komplett): HARD-PAUSE + auf Marc warten. Stand schreiben, Intake-Gate-Self-Check, Marc-Ping. (Task #68)

Marc-Telegram-Stand

  • msg-945: 2–3 Bilder mit neuer Tiefe geschickt → erledigt (Markus, Carla, Amira, ids 956–959).
  • msg-960/961: Standard bestätigt + „nur so machen" + Stand sichern + snapshot → dieser Snapshot + STAND-Doc erledigt.
  • Letzte offene Erwartung: Marc wartet NICHT aktiv auf etwas Konkretes; nächster harter Marc-Touchpoint ist die 100er-Pause.

Tooling

  • working/klone/scripts/casting_render.py — rendert jpg + md (Casting Note=bio, Identity=identity, Prompt aus identity). Batch via /opt/sooii/tools/generate_image.py, model=flash, 2K, aspect_ratio 2:3.
  • working/klone/scripts/bio_archive.py — schreibt casting_theo/_bios/<metro>-<cluster>-bios.md (volle story).
  • Daten: casting_theo/_data/berlin-{2.6,2.5,2.10}.json fertig mit allen 3 Feldern.

Disziplin

  • Thumbnail-First-QC (512×768), Read-Once.
  • Nie Tiefe für Masse opfern (Marc msg-943 eingebrannt).
  • JSON-Merges effizient (nur neues Feld emittieren, nicht Voll-Rewrite) um Kontext zu schonen.

pre-compact-2026-06-05-1405.md · 4057 bytes

Pre-Compact-Snapshot 2026-06-05 14:05 UTC

Marc macht gleich Compact. Hier der volle Stand, damit nach-Bootstrap nichts fehlt.

1. Crawler-Steroids — LÄUFT, Parse-Bug gefixt

Bug gefunden + gefixt (der wichtige Teil). code/expansion_runner.py rief claude --print OHNE Tool-Restriktion auf → Modell hatte vollen Write-Zugriff, interpretierte „Schreibe ein Knoten-File" wörtlich, SCHRIEB die Datei selbst (mit eigenem Slug ≠ desired_slug) und gab nur eine Chat-Zusammenfassung auf stdout → extract_node failt → kein .done → Brief jeden Zyklus neu → Node-Count massiv unterzählt → Steroids-Zero-Streak-Guard hätte den 24h-Lauf VERFRÜHT gestoppt.

Fix: --tools "" im subprocess-Aufruf (code/expansion_runner.py ~Zeile 132). Modell gibt jetzt Frontmatter auf stdout zurück, Runner schreibt Node am kontrollierten Slug + .done. Validiert (Milano-Lambrate-Testprompt → sauberes typ: ort-Frontmatter; live OK-Lines bestätigt).

Bonus: Fix heilt rückwirkend ~20 legitime Backlog-Nodes (Barthes, Sekula, Nan Goldin, Boris Mikhailov, dominican-merengue, west-african-wax-print, armenisch-cross-pendant, AIDS-Generationslücke etc.), die der Tools-Bug jede Nacht failen ließ. Bauen jetzt mit kanonischem Slug + .done. Nur echte Junk-Wish-Zeilen (geleakte Sätze, Markdown-Bold) failen weiter harmlos.

Loop-Mechanik: code/crawler_steroids.sh, läuft als nohup-Background (pid 745292, START 13:31 UTC). WISHES_DIR=working/foundation-wishes-steroids (51 Metro-Wishes), EXPANSION_MAX=25, 24h-Wall-Cap, COOLDOWN 120s, ZERO_STREAK_LIMIT=3 (stoppt 3 Leerzyklen nach Metros-erschöpft = gewünschte Terminierung). Runner verarbeitet ALLE 1097 historischen Briefs pro Zyklus (frische Metro-Briefs sortieren HINTEN im glob → kommen am Ende). Log: working/reflektion/crawler_steroids.log + Runner-Log working/reflektion/expansion-run.log. Stop manuell: touch working/reflektion/crawler_steroids.STOP.

Stand 14:05: 701 Nodes (Relaunch-Baseline 691), 10 neu in erster halber Stunde. Erste Metros da: LA Highland Park, Stockholm (Söder + chilenische Diaspora). Milan/Seoul kommen am Queue-Ende.

Vorherige Edits am Runner (auch drin): Skip-Sleep für bereits-.done Briefs (kein 2s-Rate-Limit auf erledigte → spart ~35min/Zyklus auf dem Backlog).

2. Klon-System-Files — KOMPLETT, warten nur auf Übergabe

Alle in working/klone/system-v2/:

  • Director-Set in director/: SOUL.md (Rolle nicht Bio), CLAUDE.md (Bootstrap+Werkzeuge), HOUSE.md (Verteil-/Abnahme-Workflow), + inbox/ + out/.
  • Klon-geteilt: SOUL.md + HOUSE.md (identisch für alle 3) + KONZEPT.md.
  • Pro-Klon konkret instanziiert: CLAUDE.emile.md, CLAUDE.lucien.md, CLAUDE.mathis.md (aus CLAUDE.template.md).
  • Kern V2: Klone machen KEINE Bilder, nur md (Tiefe + 3-Teil-Prompt). SOUL überall als Rolle, kein Lebenslauf. Count = flexibler Auftrags-Parameter (20/50/100).

Telegram-MCP ist DOWN (nicht in Tools) → Marc msg-1068 „Sende mir die dateien hier" konnte ich nicht erfüllen. Marc hat den Stand stattdessen direkt im Terminal angefragt + bekommen. Offen: WIE die Files übergeben (Ordner / hier reinkopieren) — Marc gefragt, wartet.

3. Offene Marc-Fragen (NICHT eigenständig handeln — irreversibel/Entscheidung)

  1. Director-Name — mein Vorschlag: Gaspard (passt zu Émile/Lucien/Mathis).
  2. Wer rendert downstream die md-Prompts zu Bildern (Bob-Pipeline / 4. Render-Worker / Théo-Re-Entry).
  3. Vault für Klone: ganze content/ kopieren vs. Symlink read-only.

4. Loop-/Monitor-Zustand (für Steward-Kontinuität)

  • Monitor b0471qbyp armed (1h): nur cycle-end + done-counts + FATAL/STOP (per-Node-OK-Lärm bewusst rausgefiltert).
  • ScheduleWakeup-Heartbeat: nächster Tick 14:27 UTC, Sentinel <<autonomous-loop-dynamic>>.
  • Bei Resume: erst crawler_steroids.log + Node-Count checken, Loop-Health, dann Telegram-Reconnect prüfen.

pre-compact-2026-06-06-2326.md · 3195 bytes

Pre-Compact Resume — 2026-06-06 23:26 UTC (Berlin)

Wenn du das liest, bist du nach einem Compact frisch aufgesetzt. Sauberer Resume-Punkt:

Was gerade läuft (Ono-Übernahme, Marc-Auftrag ~22:00)

Ich springe für Ono ein und betreue die Crawler-Fütterung. Marc: ASAP aber MIT TIEFE. Casting bleibt pausiert (Setcards/Blog/Studio/CAST), kommt „bald wieder auf die Strasse" — gerade Backoffice.

Crawler-Stand — LAUF ABGESCHLOSSEN 04:18 UTC

  • Lief 22:17 → 04:18 UTC, 9 Zyklen, sauber auf echter Erschöpfung gestoppt (3 Null-Zyklen, kein Korruptions-Artefakt diesmal).
  • Ertrag: +93 Knoten netto (764 → 857), 95 erstellt minus 2 korrupte. orte 402 → 445, diskurse → 146.
  • Per-Metro orte-Coverage gewachsen: Milan 7→12, Stockholm 8→10, NYC 13→19, LA 14→17, Seoul 7→9, Lagos 25→30, London 28→35, Tokyo 23→27, Paris 33→38, Berlin 38→41.
  • build_graph rc=0 sauber nach Quarantäne. Monitor (task blk3xo7fr) gestoppt.
  • Re-Push: neue Welle in working/foundation-wishes-steroids/ legen, alte nach archive/, dann nohup bash code/crawler_steroids.sh >/dev/null 2>&1 & (KEIN pkill — exit-144-Selbst-Match).

Welle, die er gerade abarbeitet

working/foundation-wishes-steroids/2026-06-06-matrix-cluster-coverage.md — ~117 stadt-spezifische Milieu-Anker, systematische Stadt×Cluster-Matrix über die Top-10-Metros. Gewichtet auf die UNTERversorgten Makro-Gruppen (Cluster 1 Corporate, 4 Technical, 5 Wellbeing, 6 Everyday-Neighbor + kommerzielle 2.x). Zwei erschöpfte Alt-Wellen liegen in working/foundation-wishes-steroids/archive/ (Glob nicht-rekursiv, werden ignoriert).

WICHTIG — wiederkehrender Korruptions-Bug

Der excel-mcp-server schreibt Office-Binär-Blobs mit .md-Endung in content/orte/. Das killt build_graph.py an UTF-8 (set -e im Planner → stiller rc=1 → falsche „Erschöpfung"). Schon 2x passiert (0xc5 am 5.6., 0xc6 am 6.6.).

  • Vor jedem Lauf prüfen: python3 code/build_graph.py; echo rc=$?. Bei rc=1 die nicht-UTF8-Datei finden (for f in $(find content -name "*.md"); do python3 -c "open('$f',encoding='utf-8').read()" 2>/dev/null || echo $f; done) und nach working/reflektion/quarantine/ verschieben (NIE löschen — Hard-Rule #4).
  • Quarantäne bisher: 3 Dateien (Highland-Park 5.6., Echo-Park + Rinkeby-Tensta 6.6.).
  • Mittelfristig mit Marc/Ono klären: Knoten-Schreiben NIE über excel-mcp.

Kleinkram

  • 3 von 25 Job-Briefs in Zyklus 1 mit YAML-Parse-Fehler (Château Rouge: Akzente/Apostrophe) — nur transiente Job-Files in code/crawler/jobs/, KEIN Vault-Schaden.
  • pkill-Falle: pkill -f crawler_steroids.sh matcht sich selbst (exit 144) → Bracket-Trick crawler_stero[i]ds.

Pause-Status

Werk-Impulse PAUSIERT bis Marc „Impulse wieder an" sagt. Klon-System V2.1 steht (Director Gaspard Mercier, Klone Émile/Lucien/Mathis), wartet auf Marcs Verwendungs-Schritt.

Marc-Stimmung

Marc war besorgt, dass der Auto-Compact meinen Stand fraß. Tat er nicht — Snapshots/Tagespläne lagen schon, das Neue ist jetzt nachgezogen (dieser File + Nachtrag in 2026-06-06.md). Telegram-MCP gerade disconnected, Marc in Direct-Session (Plain-Text erreicht ihn).

pre-compact-2026-06-07-0927.md · 3447 bytes

Pre-Compact Stand — 2026-06-07 09:27 UTC (Berlin), Sonntag KW23

Frischer Resume-Punkt. Marc hat „schreibe zur Sicherheit deinen Stand" gesagt — Casting-Briefing kommt gleich, evtl. Compact.

Lage in einem Satz

Crawler-Nacht-Lauf sauber durch (+93 Knoten, 857 total), Crawler ruht. Casting-Pause wird GLEICH aufgehoben: Marc kündigt neuen Casting-Auftrag an + Doppel-Briefing mit Methoden-Verbesserungen. Ich bin wieder die Referenz, bevor's auf die Klone (Émile/Lucien/Mathis) übertragen wird.

Crawler (Ono-Übernahme, erledigt für jetzt)

  • Matrix-Welle 22:17→04:18 UTC, 9 Zyklen, echte Erschöpfung. +93 netto (764→857), orte 402→445, diskurse →146. Dünne Top-10 + unterversorgte Cluster gefüllt.
  • excel-mcp-Korruptions-Bug Root-Cause gefunden (siehe Memory project_excel_mcp_corruption_bug): excel-mcp schreibt leere XLSX als .md, killt build_graph; --tools "" schaltet MCP NICHT ab. Vor/nach jedem Lauf python3 code/build_graph.py; echo rc=$?, korrupte Dateien nach working/reflektion/quarantine/. 5 Dateien dort.
  • Nächtlicher expansion_planner-Cron 18:00 UTC läuft weiter. Re-Push nur auf Marc-Wunsch.

NEUER Casting-Auftrag — Methoden-Verbesserungen (Marc msg-1133, VORAB, Voll-Doku kommt)

Die bewährte Methode (persona/casting-pool/STAND-DEPTH-METHOD-LOCK-2026-06-04.md + THEO_CASTING_BRIEFING_POOL_V2.md) bleibt — mit diesen Änderungen:

  1. Drei-Teilung bleibt (story→Archiv, bio→md-Abriss, identity→Prompt). War super.
  2. VORNE + HINTEN konstant halten: der Norm-Block-Opener (v3.2 Frame-Geometrie) und der Anti-Gelecke-Tail (Kodak Portra, echte Poren, no smoothing/airbrush/waxy) sind technisch getestet/optimiert und müssen bei ALLEN Personas IMMER GLEICH sein. Nicht variieren.
  3. MITTE (bio/identity-Beschreibung) ca. DOPPELT so lang wie bisher. Grund: längere, variablenreichere Beschreibungen → mehr Varianz → weniger „Muster"/Konvergenz durch nano-banana über tausende Personen. ABER: kein künstliches Auffüllen — nur echte, körperlich sichtbare Details aus der Bio ziehen. Ideal-Länge-Beispiel kommt im Doku.
  4. Cluster per 10 statt 20, mit Orts-Rotation: Cluster A → 10 Personen an Ort A der Stadt → anderer Cluster → zurück zu Cluster A → weitere 10 an einem ANDEREN Ort der Stadt (andere Leute dort). Hält frisch.
  5. Real-Event-Recherche VOR der Arbeit (Tag/Woche der Stadt) als Inspirations-Input. Ziel: echte Typen — aber ich finde sie nicht, ich ERZEUGE sie, also brauche ich viele Inputs für eine „gestellte Zufälligkeit" (staged randomness).

Render-Lock (unverändert, zur Erinnerung)

Naked-Base via Weglassen (kein Garment-Vokabular — vor Render auf collar|polo|shirt|fleece grep-prüfen), Grey-Noah-Lock v3.2 cool-mid-grey, 2:3/2K/NB2-flash, KEIN --reference, flache Benennung casting_theo/<vorname-nachname>.jpg+.md, Namens-Direktive (Einzel-Nachname Default, Doppel max ~10-15%, global eindeutig), Checkpoints nach 50/100 Bildern.

Pipeline-Skripte

working/klone/scripts/casting_render.py <data.json> (rendert jpg + md), bio_archive.py <data.json> (schreibt casting_theo/_bios/-Archiv mit voller story). Daten in casting_theo/_data/<metro>-<cluster>.json, 3 Felder/Persona.

Status

Crawler ruht. Warte auf Marcs Voll-Briefing-Doku (Stadt/Cluster/Stückzahl + Ideal-Bio-Länge-Beispiel). Telegram-MCP connected. Casting-Pause faktisch beendet mit dem kommenden Auftrag.

pre-compact-2026-06-07-1000.md · 3225 bytes

Pre-Compact Stand — 2026-06-07 ~10:00 UTC (Berlin), Sonntag KW23

Wenn du das liest: frisch nach Compact. Casting-Auftrag V5 ist VOLL geklärt, Vorbau steht an, NOCH NICHT gerendert. Vor Start spricht Marc nochmal.

Lage in einem Satz

Crawler ruht (+93 Knoten Nacht, 857 total). Casting-Pause aufgehoben: neuer Auftrag Berlin B1, 21 Cluster × 20 = 420 Personen, Render-Standard V5. Briefing durchgesprochen, alle Klärungen gelockt. Marc will vor Start nochmal reden.

Auftrag V5 (kanonisch)

  • Metro: Berlin (BER). 21 Cluster × 20 = 420.
  • Cluster B1: Cluster 2 (2.1–2.14, vierzehn), Cluster 3 (3.1, 3.3, 3.4), Cluster 5 (5.1–5.4). NICHT in B1: 2.15, 2.16, 3.2, Cluster 1/4/6.
  • 2-Wellen-Verfahren: Welle 1 = 10 pro Cluster an Ort A, alle 21 durch (210). Welle 2 = weitere 10 an ANDEREM Ort B, alle 21 durch (210). Nie 20 am Stück.
  • Drei-Teiler: TEIL 1 (fix) + TEIL 2 (Bio, mein Part, 180–200 Wörter) + TEIL 3 (fix). Wortlaut in persona/casting-pool/CASTING-METHOD-V5-GENERAL-RULE.md + THEO-CAST-BRIEFING-V5-2026-06-07.md.

Gelockte Klärungen (Marc msg-1139)

  1. Ordner = Casting_V4/ (Name bleibt V4 trotz V5-Standard). Unter: portraits/ + persona_card/.
  2. Hintergrund = warm-grey (bewusster Wechsel ggü. altem kühlem Mittelgrau).
  3. Card-Prompt = kanonischer TEIL 1 + Bio + kanonischer TEIL 3. TEIL 1/3 immer gleich, nur Bio variiert. Mein näheres Casting-Framing ist reine Casting-Zeit-Sache, NICHT in die Card.

No-Gos / Marker (V5)

  • KEINE Ketten (NEU — vorher dünne Kette üblich), KEIN Lächeln (auch keine Smile-Formulierung in Bio), KEINE Hände/Finger/Hand-Tattoos/"hand-poked", KEINE Kleidung/Kopfbedeckung. Naked-Base via Weglassen.
  • Tattoos ja (auch Text, Gesicht/Hals/Schulter/Brust, NICHT Hand), Piercings/Ohr-Studs ja. Unique pro Person.
  • Kein Garment-Vokabular in Identity (grep collar|polo|shirt|fleece vor Render).

Technik

flash (NB2), 2:3, 2K, JPG 85%, pur-Text KEIN --reference. Slugs global eindeutig. Einzel-Nachname Default, Doppelname max ~10–15 %.

Gestellte Zufälligkeit (Prinzip)

Personen werden ERZEUGT, nicht gefunden → ohne Streuung konvergiert nano-banana in Muster. Hebel: (a) lange varianzreiche Bios (echte körperlich sichtbare Variable, KEIN künstliches Füllen), (b) reale Event-Recherche (Tag/Woche Berlin) als Typen-Input, (c) Orts-Rotation Welle 1/2.

Vorbau (mein nächster Schritt NACH Marcs grünem Licht)

  1. Berlin Cluster→Ort-Karte (2 Orte pro Cluster: A für Welle 1, B für Welle 2) aus content/orte/berlin-*.md.
  2. Reale Event-Recherche heute/diese Woche Berlin.
  3. = Input-Pool. ERST DANN Welle 1.

Prozess-Disziplin (Pflicht)

  • Qualität + Tiefe VOR Tempo, nie hetzen, nie stolpern.
  • Nach JEDEN 100 Bildern (Marc msg-1146): STOP + frischer Stand + Ping Marc + Kontextfenster gemeinsam checken. (40er-Stand verworfen, zu viel.)
  • Bei ungeplantem Compact: Marc sofort informieren.

Offene Aktion gerade

Marc (msg-1141) wollte: alles in Stand + Memory + ein allgemeines Regel-Dokument (Stadt/Cluster als Variablen) → erledigt: CASTING-METHOD-V5-GENERAL-RULE.md erstellt + an Marc geschickt. Danach: vor Start nochmal sprechen. NICHT vorher rendern.

pre-compact-2026-06-07-1430.md · 4483 bytes

Pre-Compact-Snapshot 2026-06-07 14:30 UTC (Sonntag, KW23)

Wo ich stehe

Berlin Basic-Package B1, V5-Casting-Sprint. 300/420 Personas fertig.

  • Welle 1: 21/21 Cluster komplett (210) ✓
  • Welle 2: 9/21 Cluster (90/210) — heute seit Marc-GO 2.6→2.9 dazu
  • Disk aligned: portraits 300 / bios 300 / cards 300

Order-Struktur

21 Cluster × 20 Personas = 420. Methode 2-Wellen: Welle 1 = 10/Cluster an Ort A, Welle 2 = 10/Cluster an einem ANDEREN Ort B. Jeder Cluster bewusst in anderem menschlichem Register (Anti-Konvergenz, Marc-Direktive: bios sind „der Hebel").

Welle-2-Fortschritt

Fertig: 2.1–2.5 (Vorsession) + 2.6 Charlottenburg (warm/bürgerlich), 2.7 Steglitz-Zehlendorf (clean/E-Commerce), 2.8 City-West (corporate), 2.9 Gym Friedrichshain (athletisch) — alle 10/10 gerendert, QC leak-frei.

REST Welle 2 = 12 Cluster (Ort B in Klammern)

  1. 2.10 Beauty → Prenzlberg/Mitte
  2. 2.11 Edgy Alternative → Neukölln Tattoo
  3. 2.12 Mature Silver → Schöneberg
  4. 2.13 Curve & Plus-Size → Wedding
  5. 2.14 Androgynous Fluid → Berghain-Umfeld
  6. 3.1 Streetwear → Tempelhofer Feld
  7. 3.3 Youth → Friedrichshain
  8. 3.4 Hybrid Cultural Urban → Neukölln Diaspora
  9. 5.1 Holistic Wellness → Kreuzberg Landwehrkanal
  10. 5.2 Active Balanced → Treptower Park
  11. 5.3 Outdoor Minimalist → Tempelhofer Feld
  12. 5.4 Conscious Modernist → Mitte Conscious-Design

Ablauf pro Cluster (strikt)

  1. JSON schreiben: Casting_V4/_data/berlin-X.X-w2.json, 10 Personas. Key-Order pro Persona: slug, name, gender, age, ethnicity, district, metro, metro_code, cluster_code, cluster, bio, identity, story.
  2. 3-Schichten-Bio PFLICHT: story (volle Begegnungs-Narrative, PFLICHT — leeres story = write_bio_archive() skippt still, keine Bio-Datei!) + bio (3–6 Sätze Casting-Note) + identity (Physiognomie-Prosa, 180–200 Wörter, KEINE Kleidung).
  3. Validieren (one-liner unten): BANNED-Regex + Wortzahl ≥180 + story vorhanden + globale Slug-Eindeutigkeit über ALLE berlin-*.json.
  4. Kurze Identities mit ECHTER Physiognomie densifizieren (zweite Muttermale, Sommersprossen, Wimpern, Nasolabial/Schläfen-Details, alte Brauen-Narben) — nie stumpf füllen.
  5. Render: python3 working/klone/scripts/casting_render_v5.py Casting_V4/_data/berlin-X.X-w2.json --workers 6
  6. QC: python3 working/klone/scripts/qc_montage.py Casting_V4/_data/berlin-X.X-w2.jsonCasting_V4/_thumbs/_qc/berlin-X.X-w2.jpg, EINMAL lesen (thumbnail-first).
  7. Leaks einzeln fixen (Slug-Kollision beim Re-Render beachten).

Validierungs-One-Liner

import json,re,glob
d=json.load(open('Casting_V4/_data/berlin-X.X-w2.json'))
BANNED=re.compile(r'\b(collar(?!bone)|polo|shirt|fleece|sweater|jacket|hoodie|coat|scarf|blouse|necklace|chain|pendant|smil|grin|laugh|teeth|hand|finger|wrist)\w*',re.I)
for x in d:
    b=BANNED.findall(x['identity']); wc=len(x['identity'].split())
    print(x['slug'], wc, 'BANNED:'+str(b) if b else ('SHORT' if wc<180 else 'ok'), 'story:'+('ok' if x.get('story','').strip() else 'NO'))
seen={}
for f in glob.glob('Casting_V4/_data/berlin-*.json'):
    for x in json.load(open(f)): seen.setdefault(x['slug'],[]).append(f.split('/')[-1])
for s,fs in seen.items():
    if len(fs)>1: print('DUP',s,fs)

Harte Regeln (nicht vergessen)

  • BANNED: kein Garment-Vokabular in identity (Naked-Base via WEGLASSEN, nicht Verneinung). „handsome" matcht \bhand = verboten. ERLAUBT: Tattoos (nicht hand), Ohrstecker/-ringe, Septum/Nostril, „collarbones", „forearm", „vein". „laugh" verboten → kein „laugh-lines".
  • Slug global eindeutig — flacher Render überschreibt sonst fremdes Bild. Vor Render prüfen.
  • Naming: Einzel-Nachname Default, Doppelname nur wenn Story trägt, max 2/10.
  • Technik: flash (gemini-3.1-flash-image-preview), 2:3, 2K, JPG, pure-text KEIN --reference. TEIL 1 (warm/mid-grey Framing/Pose/Licht) + TEIL 3 (Kodak-Portra Anti-Airbrush-Tail) stecken im Render-Driver; ich liefere nur identity (TEIL 2).
  • Kontext-Spar: ab 2.7 keine vollen W1-Roster mehr gelesen, verlasse mich auf globale Slug-Validierung.

Heute gefixt

magda-wojcik kollidierte mit berlin-2.8-w1 → umbenannt magda-zielinska (in 2.9-w2). priya-nair→priya-menon (in 2.8, Vorsession).

Nächster Schritt nach Compact

2.10 Beauty → Prenzlberg/Mitte. Register: gepflegt/luminös/skin-forward, klar abgesetzt von 2.9-athletisch. Dann 2.11 usw. Marc meldet bei ~Milestone-Marken.

pre-compact-2026-06-07-1530.md · 5058 bytes

Pre-Compact-Snapshot 2026-06-07 15:30 UTC (Sonntag, KW23)

Wo ich stehe

Berlin Basic-Package B1, V5-Casting-Sprint. 330/420 Personas fertig.

  • Welle 1: 21/21 Cluster komplett (210) ✓
  • Welle 2: 12/21 Cluster (120/210) — heute post-Compact dazu: 2.10, 2.11, 2.12
  • Disk aligned: portraits 330 / bios 330 / cards 330

Order-Struktur

21 Cluster × 20 Personas = 420. Methode 2-Wellen: Welle 1 = 10/Cluster an Ort A, Welle 2 = 10/Cluster an einem ANDEREN Ort B. Jeder Cluster bewusst in anderem menschlichem Register (Anti-Konvergenz, Marc-Direktive: bios sind „der Hebel").

Welle-2-Fortschritt

Fertig: 2.1–2.9 (Vorsessions) + 2.10 Beauty/Prenzlberg-Mitte (luminös/skin-forward), 2.11 Edgy Alternative/Neukölln-Tattoo (hart/cool/matt/tätowiert), 2.12 Mature Silver/Schöneberg (kultiviert-betagt, Silberhaar/Falten) — alle 10/10 gerendert, QC leak-frei.

REST Welle 2 = 9 Cluster (Ort B in Klammern)

  1. 2.13 Curve & Plus-Size → Wedding
  2. 2.14 Androgynous Fluid → Berghain-Umfeld
  3. 3.1 Streetwear → Tempelhofer Feld
  4. 3.3 Youth → Friedrichshain
  5. 3.4 Hybrid Cultural Urban → Neukölln Diaspora
  6. 5.1 Holistic Wellness → Kreuzberg Landwehrkanal
  7. 5.2 Active Balanced → Treptower Park
  8. 5.3 Outdoor Minimalist → Tempelhofer Feld
  9. 5.4 Conscious Modernist → Mitte Conscious-Design

Ablauf pro Cluster (strikt)

  1. W1-cluster_code/cluster-Name/Ort ziehen: python3 -c "import json;d=json.load(open('Casting_V4/_data/berlin-X.X-w1.json'));print(set(x['cluster_code'] for x in d),set(x['cluster'] for x in d),set(x['district'] for x in d))"
  2. JSON schreiben: Casting_V4/_data/berlin-X.X-w2.json, 10 Personas. Key-Order pro Persona: slug, name, gender, age, ethnicity, district, metro, metro_code, cluster_code, cluster, bio, identity, story.
  3. 3-Schichten-Bio PFLICHT: story (volle Begegnungs-Narrative, PFLICHT — leeres story = write_bio_archive() skippt still, keine Bio-Datei!) + bio (3–6 Sätze Casting-Note) + identity (Physiognomie-Prosa, 180–200 Wörter, KEINE Kleidung).
  4. Validieren (one-liner unten): BANNED-Regex + Wortzahl ≥180 + story vorhanden + globale Slug-Eindeutigkeit über ALLE berlin-*.json.
  5. Kurze Identities mit ECHTER Physiognomie densifizieren (zweite Muttermale, Sommersprossen, Wimpern, Nasolabial, Altersflecken, alte Brauen-Narben) — nie stumpf füllen.
  6. Render: python3 working/klone/scripts/casting_render_v5.py Casting_V4/_data/berlin-X.X-w2.json --workers 6
  7. QC: python3 working/klone/scripts/qc_montage.py Casting_V4/_data/berlin-X.X-w2.jsonCasting_V4/_thumbs/_qc/berlin-X.X-w2.jpg, EINMAL lesen (thumbnail-first).
  8. Leaks einzeln fixen (Slug-Kollision beim Re-Render beachten).

Validierungs-One-Liner

import json,re,glob
d=json.load(open('Casting_V4/_data/berlin-X.X-w2.json'))
BANNED=re.compile(r'\b(collar(?!bone)|polo|shirt|fleece|sweater|jacket|hoodie|coat|scarf|blouse|necklace|chain|pendant|smil|grin|laugh|teeth|hand|finger|wrist)\w*',re.I)
for x in d:
    b=BANNED.findall(x['identity']); wc=len(x['identity'].split())
    print(x['slug'], wc, 'BANNED:'+str(b) if b else ('SHORT' if wc<180 else 'ok'), 'story:'+('ok' if x.get('story','').strip() else 'NO'))
seen={}
for f in glob.glob('Casting_V4/_data/berlin-*.json'):
    for x in json.load(open(f)): seen.setdefault(x['slug'],[]).append(f.split('/')[-1])
for s,fs in seen.items():
    if len(fs)>1: print('DUP',s,fs)

Harte Regeln (nicht vergessen)

  • BANNED: kein Garment-Vokabular in identity (Naked-Base via WEGLASSEN, nicht Verneinung). „handsome" matcht \bhand = verboten (→ „strong"/„striking" nutzen). „laugh" verboten → kein „laugh-lines" (→ „fine creases"/„crow's lines"). ERLAUBT: Tattoos (nicht hand), Ohrstecker/-ringe, Septum/Nostril, Plugs/stretched lobes, „collarbones", „forearm", „vein".
  • Slug global eindeutig — flacher Render überschreibt sonst fremdes Bild. Vor Render prüfen.
  • ASCII-Transliteration in JSON-Daten (public English data): Schoeneberg, Neukoelln, Cologne, strasse (kein ß), Foerster etc. Umlaut-Regel gilt nur für private Files + Telegram.
  • Naming: Einzel-Nachname Default, Doppelname nur wenn Story trägt, max 2/10.
  • Technik: flash (gemini-3.1-flash-image-preview), 2:3, 2K, JPG, pure-text KEIN --reference. TEIL 1 (warm/mid-grey Framing/Pose/Licht) + TEIL 3 (Kodak-Portra Anti-Airbrush-Tail) stecken im Render-Driver; ich liefere nur identity (TEIL 2).
  • Kontext-Spar: keine vollen W1-Roster mehr gelesen, verlasse mich auf globale Slug-Validierung.

Heute (post-Compact) gefixte Slug-Kollisionen

  • mina-seo → jiwon-park (kollidierte mit 2.6-w2)
  • yuki-mori → rei-hayashi (kollidierte mit 2.9-w1)
  • wolfgang-reuter → wolfgang-diehl (kollidierte mit 2.8-w1)

Nächster Schritt nach Compact

2.13 Curve & Plus-Size → Wedding. Register: voll/weich/warm, body-positive, breitere Gesichts- und Körperfülle, klar abgesetzt von Silver/Edgy/Beauty. Dann 2.14 Androgynous Fluid usw. Marc meldet bei ~Milestone-Marken.

pre-compact-2026-06-07-1535.md · 5187 bytes

Pre-Compact-Snapshot 2026-06-07 15:35 UTC (Sonntag, KW23)

Wo ich stehe

Berlin Basic-Package B1, V5-Casting-Sprint. 330/420 Personas fertig.

  • Welle 1: 21/21 Cluster komplett (210) ✓
  • Welle 2: 12/21 Cluster (120/210)
  • Disk aligned: portraits 330 / bios 330 / cards 330 (frisch geprüft 15:35)

Marc-GO (msg-1179, 2026-06-07 15:35)

„Ja bitte alles machen... wir brauchen heute ALLES." → ALLE 9 restlichen W2-Cluster heute durchziehen, einen nach dem anderen. KEINE Pause mehr für Entscheidung.

HARTE NEUE DIREKTIVE (msg-1177)

KEINE Foto-Shootings / keine STUDIO-Pulses während des Sprints. Nur Casting-Sheets in Casting_V4 bis die 420 durch sind. Foto-Shooting-Pulse ignorieren/überspringen. (Memory gespeichert: feedback_no_foto_shooting_during_casting_sprint.md)

REST Welle 2 = 9 Cluster (Ort B in Klammern) — IN DIESER REIHENFOLGE

  1. 2.13 Curve & Plus-Size → Wedding (Register: voll/weich/warm, body-positive, breitere Gesichts-/Körperfülle, abgesetzt von Silver/Edgy/Beauty)
  2. 2.14 Androgynous Fluid → Berghain-Umfeld
  3. 3.1 Streetwear → Tempelhofer Feld
  4. 3.3 Youth → Friedrichshain
  5. 3.4 Hybrid Cultural Urban → Neukoelln Diaspora
  6. 5.1 Holistic Wellness → Kreuzberg Landwehrkanal
  7. 5.2 Active Balanced → Treptower Park
  8. 5.3 Outdoor Minimalist → Tempelhofer Feld
  9. 5.4 Conscious Modernist → Mitte Conscious-Design

Ablauf pro Cluster (strikt)

  1. W1-cluster_code/cluster-Name/Ort ziehen: python3 -c "import json;d=json.load(open('Casting_V4/_data/berlin-X.X-w1.json'));print(set(x['cluster_code'] for x in d),set(x['cluster'] for x in d),set(x['district'] for x in d))"
  2. JSON schreiben: Casting_V4/_data/berlin-X.X-w2.json, 10 Personas. Key-Order pro Persona: slug, name, gender, age, ethnicity, district, metro, metro_code, cluster_code, cluster, bio, identity, story.
  3. 3-Schichten-Bio PFLICHT: story (volle Begegnungs-Narrative, PFLICHT — leeres story = write_bio_archive() skippt still, keine Bio-Datei!) + bio (3–6 Sätze Casting-Note) + identity (Physiognomie-Prosa, 180–200 Wörter, KEINE Kleidung).
  4. Validieren (one-liner unten): BANNED-Regex + Wortzahl ≥180 + story vorhanden + globale Slug-Eindeutigkeit über ALLE berlin-*.json.
  5. Kurze Identities mit ECHTER Physiognomie densifizieren (zweite Muttermale, Sommersprossen, Wimpern, Nasolabial, Altersflecken, alte Brauen-Narben) — nie stumpf füllen.
  6. Render: python3 working/klone/scripts/casting_render_v5.py Casting_V4/_data/berlin-X.X-w2.json --workers 6
  7. QC: python3 working/klone/scripts/qc_montage.py Casting_V4/_data/berlin-X.X-w2.jsonCasting_V4/_thumbs/_qc/berlin-X.X-w2.jpg, EINMAL lesen (thumbnail-first).
  8. Leaks einzeln fixen (Slug-Kollision beim Re-Render beachten).

Validierungs-One-Liner

import json,re,glob
d=json.load(open('Casting_V4/_data/berlin-X.X-w2.json'))
BANNED=re.compile(r'\b(collar(?!bone)|polo|shirt|fleece|sweater|jacket|hoodie|coat|scarf|blouse|necklace|chain|pendant|smil|grin|laugh|teeth|hand|finger|wrist)\w*',re.I)
for x in d:
    b=BANNED.findall(x['identity']); wc=len(x['identity'].split())
    print(x['slug'], wc, 'BANNED:'+str(b) if b else ('SHORT' if wc<180 else 'ok'), 'story:'+('ok' if x.get('story','').strip() else 'NO'))
seen={}
for f in glob.glob('Casting_V4/_data/berlin-*.json'):
    for x in json.load(open(f)): seen.setdefault(x['slug'],[]).append(f.split('/')[-1])
for s,fs in seen.items():
    if len(fs)>1: print('DUP',s,fs)

Harte Regeln (nicht vergessen)

  • BANNED: kein Garment-Vokabular in identity (Naked-Base via WEGLASSEN, nicht Verneinung). „handsome" matcht \bhand = verboten (→ „strong"/„striking"). „laugh" verboten → kein „laugh-lines" (→ „fine creases"/„crow's lines"). ERLAUBT: Tattoos (nicht hand), Ohrstecker/-ringe, Septum/Nostril, Plugs/stretched lobes, „collarbones", „forearm", „vein".
  • Slug global eindeutig — flacher Render überschreibt sonst fremdes Bild. Vor Render prüfen.
  • ASCII-Transliteration in JSON-Daten (public English data): Schoeneberg, Neukoelln, Cologne, strasse (kein ß), Foerster etc. Umlaut-Regel gilt nur für private Files + Telegram.
  • Naming: Einzel-Nachname Default, Doppelname nur wenn Story trägt, max 2/10.
  • Technik: flash (gemini-3.1-flash-image-preview), 2:3, 2K, JPG, pure-text KEIN --reference. TEIL 1 (warm/mid-grey Framing/Pose/Licht) + TEIL 3 (Kodak-Portra Anti-Airbrush-Tail) stecken im Render-Driver; ich liefere nur identity (TEIL 2).
  • Kontext-Spar: keine vollen W1-Roster mehr gelesen, verlasse mich auf globale Slug-Validierung.

Heute erledigt (vor diesem Snapshot)

  • Cluster 2.10, 2.11, 2.12 komplett (→ 330/420).
  • Foto-Shooting Karim (BER-044) gebaut in working/werke/2026-06-07-karim-sonnenallee-workwear-stand/ — ABER Marc hat danach Foto-Shootings für den Sprint gestoppt (msg-1177). Liegt fertig da, nicht weiter anfassen.

Nächster Schritt nach Compact

SOFORT 2.13 Curve & Plus-Size → Wedding starten, dann 2.14 … 5.4 ohne Pause durchziehen. Marc will heute alle 9 Cluster = 90 Personas = 420 komplett. Disk-Align nach jedem Cluster checken. Bei ~Meilensteinen kurz Marc pingen.

pre-compact-2026-06-07-1620.md · 2601 bytes

Snapshot 2026-06-07 ~16:20 UTC — Berlin B1 Welle-2 DATA-complete, render-blocked

Stand in einem Satz

Alle 21 Welle-2-Cluster-Daten geschrieben + validiert (420 Personas total, 0 Slug-Dups). Rendering hart blockiert durch HTTP 402 Payment Required (Bild-Gen-Guthaben leer). Nur Marc/Ono kann Billing fixen.

Disk-Stand

  • portraits: 360 / 420
  • bios: 370, cards: 370 (3.3 hat bios+cards aber KEINE Portraits)
  • DATA: 21/21 w2-Files komplett + validiert in Casting_V4/_data/berlin-*-w2.json

Was diese Session entstand (alles API-frei, persistiert auf Disk)

  • berlin-3.4-w2.json (Hybrid Cultural Urban, Neukoelln) — validiert
  • berlin-5.1-w2.json (Holistic Wellness, Kreuzberg) — validiert
  • berlin-5.2-w2.json (Active Balanced Lifestyle, Treptow) — validiert
  • berlin-5.3-w2.json (Outdoor Minimalist, Tempelhof/Feld) — validiert
  • berlin-5.4-w2.json (Conscious Modernist, Mitte) — validiert Alle: identity 180–211 Wörter, KEIN BANNED-Vokabular, story bei jeder Person vorhanden.

RENDER-PENDING (sobald API offen) — 6 Cluster, 60 Portraits

Reihenfolge bis 420:

  1. 3.3 Youth Contemporary (Friedrichshain) — bios+cards EXISTIEREN schon → nur Bilder, --no-md möglich (sonst überschreibt md unnötig; eigentlich egal, md idempotent)
  2. 3.4 Hybrid Cultural Urban (Neukoelln) — full render
  3. 5.1 Holistic Wellness (Kreuzberg) — full
  4. 5.2 Active Balanced Lifestyle (Treptow) — full
  5. 5.3 Outdoor Minimalist (Tempelhof/Feld) — full
  6. 5.4 Conscious Modernist (Mitte) — full

Render-Befehl je Cluster:

python3 working/klone/scripts/casting_render_v5.py Casting_V4/_data/berlin-X.X-w2.json --workers 6
python3 working/klone/scripts/qc_montage.py Casting_V4/_data/berlin-X.X-w2.json

Nach jedem Cluster: disk-align prüfen + QC-Montage thumbnail lesen (Subject-Lock/Garment-Leak). QC-Montagen landen in Casting_V4/_thumbs/_qc/berlin-X.X-w2.jpg.

Blocker-Detail

python3 /opt/sooii/tools/generate_image.py ...HTTP 402: {"message":"Payment Required"} (16:20 UTC erneut bestätigt). Batch-Render schlägt sofort fehl (0/10, ~0.4s). Self-Fix unmöglich (Billing = Marc/Ono).

Nächster Schritt

Auf Marc-Signal „API offen" warten, dann 6 Cluster in einem Rutsch durchrendern → 420. Kein eigener Render-Versuch vorher (API lehnt alles ab). Marc zuletzt informiert via Telegram (msg-1182 + 16:20-Update).

Sprint-Regeln aktiv

  • Nur Casting-Sheets, KEINE Foto-Shootings (Marc msg-1177).
  • Validierungs-Gate vor jedem Render: BANNED-regex + wordcount≥180 + story vorhanden + globale Slug-Eindeutigkeit.