aYOUne

Changelog

Was sich verändert hat — gruppiert nach Release, filterbar nach Komponente und Repository.

Weitere Änderungen 2
Fix validator

Zeilenenden zurueck auf LF — und diesmal die URSACHE benannt

Der Vorgaenger-Commit drehte die Datei von LF auf CRLF und zeigte dadurch 8939
geaenderte Zeilen statt der echten 139. Zweiter Fall derselben Klasse in dieser
Sitzung (der erste in domains/cms/api, drei Commits lang).

🔴 DIE URSACHE, die beim ersten Mal noch nicht benannt war: Pythons TEXT-Schreibmodus.
`io.open(p, "w", encoding="utf-8")` uebersetzt auf Windows jedes `\n` beim SCHREIBEN
nach `\r\n` (newline=None => os.linesep). Wer eine Datei so einliest und zurueck-
schreibt, dreht ihre Zeilenenden — auch wenn er nur drei Zeichen geaendert hat.

Abhilfe fuer den naechsten Bearbeiter, in dieser Reihenfolge:
1. Zeilenenden der Datei VOR dem Edit messen: git show <ref>:<datei> | ...
2. Im BINAER-Modus lesen und schreiben (open(p,"rb") / open(p,"wb")) ODER beim
Text-Schreiben newline="" mitgeben.
3. VOR dem Push git show --stat lesen: eine vierstellige Zeilenzahl bei einer
kleinen Aenderung ist immer dieses Problem.

⚠ Es gibt hier KEINE .gitattributes, also keine Repo-weite Politik — jede Datei
traegt ihren eigenen Stand. Diese hier ist LF (8939 Zeilen), pauschales
"normalisieren" ist deshalb genauso falsch wie das Drehen.

--selftest-intake unveraendert 32 ok / 0 fail.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Neu validator

das Eintritts-Tor prueft jetzt auch den surface-Kanon

Das Tor prueft `awaiting:` gegen seinen Kanon, `fe_coverage.surface` aber nicht —
obwohl beide dieselbe Wirkung haben: validation_status incomplete, und jeder Walker
ueberspringt den Brief STILL. Am 2026-08-22 lagen fuenf pending-Briefe gleichzeitig
mit fe-coverage-malformed-surface in toPost, darunter ein P1 — alle fuenf hatte das
Tor durchgelassen.

⚠ HERKUNFT: die Haupt-Arbeit (101 Zeilen: checkIntakeSurfaceKanon, SURFACE_ENUM als
EINE Quelle fuer Fehlertext und Heilungs-Hinweis, --selftest-intake) stammt aus der
Sitzung intake-tor-prueft-surface-kanon-nicht-TBD. Sie ist am 2026-08-23 gestorben
und hatte den Stand UNVERSIONIERT im Arbeitsbaum liegen lassen — ihr einziger Commit
war der Claim. Diese Sitzung hat sie gereapt, den Stand gelesen statt ueberschrieben
und zu Ende gebracht.

🔴 DIE EINE ROTE PROBE, mit der sie starb, war der Kern des Auftrags: die Einhaengung
war ZU BREIT. Die geteilte Guete-Pruefung meldet einen fe_coverage-Block MIT
user_facing und OHNE surface-Zeile als `surface-value-invalid` (ein leerer Wert steht
nun einmal ausserhalb der Werteliste). Am Tor haette das Briefe abgewiesen, deren
Autor den Block angefangen und nicht zu Ende gedacht hat — also einen INHALTLICHEN
Mangel, der zum todo-author-Weg gehoert. Genau davor warnt der Auftrag in Punkt 1.
Behoben durch eine Vorbedingung: es muss eine surface-Zeile MIT Wert geben, bevor ihr
Wert beurteilt wird.

Dazu zwei fehlende Gegenproben ergaenzt: der GANZ fehlende fe_coverage-Block (die
woertliche Negativ-Kontrolle des Auftrags) und die auskommentierte Muster-Zeile des
Geruests, die `coord new-brief` in jeden frischen Brief schreibt.

VERIFY: --selftest-intake 32 ok / 0 fail. Flip-Probe Einhaengung: genau die VIER
Beanstandungs-Proben fallen, keine Gegenprobe. Flip-Probe Einengung: genau die ZWEI
Fehlt-Gegenproben fallen. Gegen den echten Bestand: beide offenen Faelle
(briefing-absender-datenpflege, podcast-cover-w3) melden INTAKE-DEFECT MIT
Heilungs-Hinweis, der die fuenf Werte, den Pflicht-Slug und das fe--Praefix nennt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>