Eine Zieldatei unter einem ignorierten Pfad (tests/.work/) stand nie in
git status und galt als unverändert gegenüber HEAD, ohne Byte-Vergleich.
Jetzt fragt das Werkzeug git check-ignore und vergleicht sie gegen die Kopie.
Treiber mit acht neuen Fällen (sechs auf der alten Fassung rot), fünf Mutanten
getötet; Paket R1 Welle 2: 12 Fehlalarme vorher, 0 Befunde danach.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Anlass: Plankritik Paket R1 im Edge-Stack, Befunde 1 und 5. Die Überschrift
"Stelle 30 — `host/logrotate/edge-traefik`" setzte kein Ziel; der Block
"Die ganze Datei ist neu" überschrieb tests/systemd/test-units.sh mit Exit 0.
- ordne() in plan_materialisiere.py, von plan_bloecke.py importiert: Ziel ist
der letzte PFAD-Treffer, ohne ihn der letzte Token, der unter ## Zieldateien
steht (absolut relativ zu --projekt bzw. zum Ordner vor docs/plans).
- Überschrift ohne Ziel, die nach einer Datei aussieht (relativer Pfad mit /,
Datei in Kopie/Projekt, Dateiname eines Eintrags): jeder schreibende Block
danach ist Befund, Exit 2, nichts geschrieben.
- plan_ziel_treiber.py: 33 Fälle; Ursprung 22 rot, jetzt 33 grün;
21 eingebaute Fehler gefangen.
- Vorher/nachher über 2 223 Plandateien: Abweichung nur R1 task-01 und
Trading Task 90, beide jetzt ins richtige Ziel.
- LIESMICH und planer.md nachgezogen.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Pascals Entscheidung E8 vom 2026-10-15: Die Ordner haben im öffentlichen
Repo nichts zu suchen. abendkontrolle*.py nennt SSH-Benutzer und private
IP des Docker-Hosts. Die Positivliste nimmt beide Ordner jetzt aus, die
Dateien bleiben auf der Platte; der Verlauf der Trading-Werkzeuge liegt
in einem eigenen lokalen Repo im selben Ordner.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
taeglich_push.py ruft nach dem Vault-Push werkzeuge_spiegel.py auf:
committeter Stand von .vault-tools/ und .claude/ ohne Trading-Werkzeuge
und watermarks-remover, README aus werkzeuge-README.md. Fallkatalog
14 von 14, drei Mutanten erkannt. veroeffentlichung.md und Stamm
nachgezogen; Gitea seit heute anonym lesbar.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Beleg aus dem Paket FP der Trading Plattform: 129 Ersetzungen in sechs Dateien ohne Bruch. Das
Werkzeug ersetzungen_einsetzen.py liegt jetzt unter .vault-tools/plan-kopie/ (byte-gleich aus der
B4-Uebergabe), Gebrauch in LIESMICH.md, Schritt 9.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_0126RDfXiECscXipzf67uypJ
Beleg: Trading Plattform, Quorum 6 am 2026-10-13. Die Zusammenfassung stand oben, die letzten
80 Zeilen zeigten nur Vault-Treiber und Registry-Gegenprobe; alle drei Stimmen meldeten die
pytest-Summe als nicht pruefbar.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_0126RDfXiECscXipzf67uypJ
Ein absoluter Pfad in einer Ueberschrift schlug unter Windows die Kopie (kopie / "D:/..."),
und das Skript ersetzte die echte Datei mit Exit 0. Gemessen an einer Probe-Datei im Scratchpad,
entdeckt beim Planen von Paket E9 der Trading Plattform (Tasks 725 und 726 aendern Vault-Werkzeuge).
Neu: in_kopie() an allen drei Schreibstellen. Regressionsnachweis: drei Ausbruchsfaelle je Befund
und Exit 2, Dateien draussen unveraendert; Gegenprobe mit E9 723 und 724 byte-gleich.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_0126RDfXiECscXipzf67uypJ
mutanten_lauf_kopie.sh faehrt lo im eigenen Netz-Namensraum hoch (unshare --keep-caps, ip, setpriv,
exec in python3) und prueft das vorher fail-closed (ip, setpriv, python3, lo-Probe mit
Faehigkeitspruefung). Anlass: Im Paket RB3 der Trading Plattform scheiterten Tests mit Server auf
127.0.0.1 im Namensraum an Errno 101 (lo aus).
Neuer Treiber mutanten_lauf_kopie_treiber.py mit W1 bis W13; Regressionsnachweis gegen HEAD (W1, W2,
W4, W5, W9 rot) und neun kaputte Varianten v1 bis v9, je an ihren Faellen rot. Lauf mit echten Daten:
alle 73 RB3-Mutanten durch das neue Skript 73/73 OK, T1 und T12 jetzt im Namensraum. Ein pruefer
las Skript und Treiber (kein blockierender Befund; der wichtige zu fehlenden Faellen fuer die
Fehlerzweige ist mit Nachbesserung 1 behoben, W10 bis W13).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01JU1LsUp4FdmPq8mvC368G3
Anlass: Plankritik 2 von C1 (After Install), fremde pyproject.toml im Windows-Temp.
Gegenprobe an sechs mutanten.toml im Vault: gleiche Ergebnisse, C1 unter Windows-Temp jetzt 69 OK statt 101 FEHLT.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
quorum.js: klartext() schreibt Wikilinks, Einbettungen und Tags aus Freitext als Klartext
(Fund aus dem ersten echten Lauf); der Grund eines freien Urteils nennt blockierende Befunde
ohne Beleg. faelle_workflows.mjs 248 Faelle gruen, mutanten_workflows.py 145 Mutanten,
0 ueberlebt. codeworkflow.md: Regel zum Befund ohne Beleg und Ablageort beim Kundendokument
praezisiert, Vermerk 'noch nicht abgenommen' entfernt. LIESMICH.md fuer .vault-tools/quorum/.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
waisen-ausnahmen.txt: Skills, Plugins, Testfixtures, Programmausgaben und Vorlagen
zaehlen nicht als Waisen. Waisen-Uebersicht: Abschluss mit Belegen je Fertig-heisst-Punkt.
Quorum: Task 06 entschaerft Freitext im Bericht (Fund aus dem ersten echten Lauf).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- .vault-tools/frontmatter-migration/migriere.py
- AI/Regelwerk/frontmatter.md
Erzeugt vom PostToolUse-Hook .vault-tools/auto-push/auto_push.py.
Co-Authored-By: Claude Opus 5 <[email protected]>
Jedes Zeichen der Kategorie Cc ausser LF und jedes der Kategorie Cf in
.claude/workflows/**/*.js, gelesen als Bytes. Anlass: plankritik.js mit
CRLF scheiterte am Workflow-Werkzeug. Der Hook nach dem Bearbeiten loest
auch bei Workflows aus. Regressionslauf 28/28 angeschlagen, 6/6 stumm;
Hook-Treiber 58/58; Vorfall in exakter Form gemeldet (U+000D).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Punkte 1 und 2 aus dem Paket Arbeitsweise (Pascals Freigabe 2026-09-26)
in codeworkflow.md; Plan fuer Punkt 4 unter .vault-tools/regelwerk-check.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- abendkontrolle.py: --quelle und --quelle-ibkr (Vorgabe wsl wie bisher, dockerhost liest das Ergebnis des Hosts ueber SSH), fahre_dockerhost
- abendkontrolle_wsl.py: --ibkr-python fuer ibkr_pruefen.py im Container
- abendkontrolle_einrichten.ps1: -Quelle und -QuelleIbkr, 23:15 sobald ein Teil vom Host kommt
- neue Angriffstreiber abendkontrolle_dockerhost_angriffe.py und abendkontrolle_ibkr_python_angriffe.py
- Abdichtung gegen echte WSL- und SSH-Wege in den Treibern, auch in abendkontrolle_angriffe.py und rueckweg_aapl_angriffe.py (nach dem ntfy-Vorfall eines Mutanten am 2026-09-26)
- LIESMICH: Abschnitt Paket DH
- .claude/workflows/plankritik.js: LF statt CRLF (das CR war die Ursache von "script contains control characters"), meta gekuerzt, Einzelheiten im Kommentar
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- AI/Regelwerk/veroeffentlichung.md
Erzeugt vom PostToolUse-Hook .vault-tools/auto-push/auto_push.py.
Co-Authored-By: Claude Opus 5 <[email protected]>
- .vault-tools/auto-push/taeglich_push.py
Erzeugt vom PostToolUse-Hook .vault-tools/auto-push/auto_push.py.
Co-Authored-By: Claude Opus 5 <[email protected]>
- .vault-tools/plan-kopie/LIESMICH.md
- AI/Regelwerk/veroeffentlichung.md
Erzeugt vom PostToolUse-Hook .vault-tools/auto-push/auto_push.py.
Co-Authored-By: Claude Opus 5 <[email protected]>
- .vault-tools/plan-kopie/LIESMICH.md
- AI/Regelwerk/veroeffentlichung.md
Erzeugt vom PostToolUse-Hook .vault-tools/auto-push/auto_push.py.
Co-Authored-By: Claude Opus 5 <[email protected]>
- .vault-tools/plan-kopie/LIESMICH.md
Erzeugt vom PostToolUse-Hook .vault-tools/auto-push/auto_push.py.
Co-Authored-By: Claude Opus 5 <[email protected]>
Der Vault-Root pusht ab jetzt nach jeder Änderung an CLAUDE.md,
AI/Regelwerk/, .claude/agents/, .claude/skills/, .claude/settings.json
oder .vault-tools/ selbsttätig nach Gitea.
- .vault-tools/auto-push/auto_push.py: PostToolUse-Hook, committet und
pusht. Fehlendes Token, fehlendes Remote und gescheiterter Push sind
Befunde und gehen in den Kontext, nicht ins Schweigen.
- .vault-tools/auto-push/askpass.py: reicht GITEA_TOKEN an git weiter,
damit es weder in .git/config noch in einer Kommandozeile steht.
- .vault-tools/auto-push/faelle_auto_push.py: 28 Fälle gegen ein echtes
Wegwerf-Repo mit echtem Remote, alle bestanden. Der Lauf hat zwei
Fehler gefunden, die jetzt behoben sind: die Pfadauflösung scheiterte
an Windows-Kurznamen, und die Laufzeitsperre landete im Repo.
- AI/Regelwerk/veroeffentlichung.md und ein Abschnitt im Stamm halten
die Regel fest.
Co-Authored-By: Claude Opus 5 <[email protected]>
Erster Stand des öffentlichen Ausschnitts aus dem Vault. Die .gitignore
arbeitet als Positivliste: ausgeschlossen ist alles, eingeschlossen nur,
was ausdrücklich wieder aufgenommen wird. Notizen, Projekte, Finanzen,
das Sitzungsgedächtnis und settings.local.json bleiben damit außen vor.
Der Kundenname in AI/Regelwerk/seo.md ist durch eine neutrale
Bezeichnung ersetzt; die Regeln selbst sind unverändert.
Co-Authored-By: Claude Opus 5 <[email protected]>