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]>
21 KiB
type, title, status, summary, tags, created, updated
| type | title | status | summary | tags | created | updated | ||
|---|---|---|---|---|---|---|---|---|
| plan | Waisen im Graphen: Hub-Regel, Zähler im Sitzungsstart, Bestandslauf | done | waisen.py zählt verwaiste Notizen so, wie Obsidian den Graphen baut, der Sitzungsstart meldet die Zahl, Regeltexte und Planer verlinken künftig den Hub, und ein einmaliger Bestandslauf hängt den Bestand an, nur anhängend und mit Probelauf. |
|
2026-09-29 | 2026-10-05 |
Waisen im Graphen
Anforderung: Spec Inbox/2026-09-29-spec-vernetzung.md (Pascals Entscheidungen vom 2026-09-29). Die Spec liegt nicht im veröffentlichten Umfang, dieser Plan schon. Deshalb stehen hier keine Kunden-, Domain- oder Projektnamen.
Ziel
Heute hat laut Spec fast die Hälfte der Notizen im Graphen keine Kante, vor allem Plandateien, Codedoku und SEO-Einzelbefunde. Nach diesem Plan zählt .vault-tools/linkcheck/waisen.py die Waisen reproduzierbar, der Sitzungsstart zeigt die Zahl als eine Zeile, die Regel „jede neue Datei verlinkt ihren Hub“ steht an einer Stelle (navigation.md) und ist in Planer, Codedoku- und SEO-Regel verankert, und ein einmaliger Lauf hängt den Bestand an seine Hubs, ohne eine Zeile zu ersetzen.
Nicht im Umfang
- Taskdateien im Bestand. Der Bestandslauf fasst sie nie an, sie werden über ihre Übersicht angebunden.
- Querverweise zwischen IT-Workspace-Artikeln, ein Graph-Filter in Obsidian, die Dateien mit nur ausgehenden Links, die Verbindung Projekt und Themen-Seed (alles laut Spec).
- Die Gruppe „Einzelne“ der Spec und alles, wofür kein Muster greift. Das landet auf der Liste für den Koordinator und wird von Hand entschieden.
- Commits. Weder Skript noch Executer committen. Der Koordinator committet je Repo nach Pascals Ja.
- Der SEO-Audit-Skill selbst. Er liegt außerhalb des Vaults und wird nicht geändert.
Architektur
| Datei | Rolle | Task |
|---|---|---|
.vault-tools/linkcheck/waisen.py |
Zähler, Prüfwerkzeug nach pruefwerkzeuge.md |
01 |
.vault-tools/linkcheck/waisen-ausnahmen.txt |
Positivliste der Ausnahmen, nur allgemeine Muster | 01 |
.vault-tools/linkcheck/faelle_waisen.py |
Angriffsliste, Rotlauf mit eingebauten Mutanten, --echt misst die Laufzeit |
01 |
.vault-tools/linkcheck/ENTWURF-waisen.md |
Entscheidungsliste mit Herkunft je Antwort, Angriffsklassen, Abbruchbedingung | 01 |
.vault-tools/session-hooks/sitzungsstart.py |
neue Zeile - Waisen außerhalb der Ausnahmen: N, waisen.py --zahl als eigener Prozess, 15 s Grenze |
02 |
.vault-tools/session-hooks/faelle_sitzungsstart.py, ENTWURF.md |
Grundlinie mit .obsidian/app.json, neue Fälle, Nachtrag |
02 |
AI/Regelwerk/navigation.md, CLAUDE.md, .claude/agents/planer.md, AI/Regelwerk/codedoku.md, AI/Regelwerk/seo.md |
Hub-Regel und ihre Verweise | 03 |
.vault-tools/linkcheck/waisen_bestand.py |
einmaliger Bestandslauf, Probelauf ohne Schalter | 04 |
.vault-tools/linkcheck/faelle_waisen_bestand.py |
Angriffsliste mit Git-Fällen, Rotlauf | 04 |
waisen.py nutzt strip_code() aus linkcheck.py und nicht das Navigator-Toolkit. waisen_bestand.py importiert waisen.py und nimmt dessen Waisenliste und ausgehende Kanten, damit Zähler und Bestandslauf dieselbe Wahrheit haben.
Die Entscheidungsliste des Zählers mit Herkunft je Antwort steht wörtlich in task-01-zaehler.md, Block ENTWURF-waisen.md. Nach der Umsetzung gilt die Datei im Baum.
Erzeuger-Inventar
Gelesen am 2026-09-29: sechs gespeicherte Workflows, vier Skills im Vault, vier Agentendateien.
| Erzeuger | Fundstelle | Legt an | Folge im Plan |
|---|---|---|---|
Agent planer |
.claude/agents/planer.md Zeile 16 (Ablageform) und 25 (Nachbesserung, Folgenliste) |
Übersicht, Taskdateien, Nachbesserungen, Folgenliste in docs/plans/ |
neue Regelzeile nach Zeile 16 (Task 03) |
Workflow planung |
.claude/workflows/planung.js Zeile 112 („Schreib genau eine Datei“), Zeile 136 (agentType: 'planer') |
Taskdateien, geschrieben vom planer |
keine eigene Änderung: der Auftrag geht an agentType: 'planer', die Regel kommt aus planer.md |
Workflows executer-welle, pruefung, plankritik, welle-mit-pruefung, verbrauch |
kein Schreibauftrag für Markdown in den Prompts (grep nach anleg, ableg, .md) |
nichts | keine |
Agent executer |
.claude/agents/executer.md Zeile 15: nur die genannten Zieldateien |
was der Plan vorgibt | keine, die Zeile steht dann im Plan |
Agent pruefer |
Zeile 6: Werkzeuge ohne Write |
nichts | keine |
Agent recherche |
Zeile 15: Hilfsdatei nur mit genanntem Ablageort | nur auf Anweisung | keine, die Regel gilt über den Stamm |
Skill anleitung-straffen |
.claude/skills/anleitung-straffen/SKILL.md Zeile 22 und 23 |
<name>-hintergrund.md neben der Anleitung |
keine: Zeile 23 verlinkt Anleitung und Hintergrund schon in beide Richtungen |
Skills bookstack-upload, plane-abgleich |
schreiben nur Frontmatter-Felder bzw. todo.md |
keine neue Markdown-Datei | keine |
Skill plan-executer-pruefung |
verweist auf codeworkflow.md, legt selbst nichts an (Plankritik 2026-09-30) |
nichts | keine |
SEO-Audit-Skill (/seo, /seo-audit) |
liegt nicht unter .claude/skills/ im Vault |
Befunddateien unter findings/ |
Regel in seo.md: der Bericht listet seine Befunddateien (Task 03) |
| Koordinator selbst | AI/Regelwerk/codeworkflow.md Zeile 38 und 113 |
Anforderungen, Prüfberichte, Specs, Dumps | allgemeine Regel in navigation.md und Stammzeile (Task 03) |
Planwerkzeuge und die neue Linkzeile
Frage: Vertragen die Planwerkzeuge eine Zeile Übersicht: [00-uebersicht.md](00-uebersicht.md) direkt unter dem Frontmatter einer Taskdatei und einen angehängten Abschnitt am Ende einer 00-uebersicht.md? Gelesen, nicht gemessen:
| Werkzeug | Was es auswertet | Fundstelle | Wirkung der Linkzeile |
|---|---|---|---|
plan-kopie/plan_materialisiere.py |
Zieldatei nur aus Überschriften ^#{2,4} mit Pfad in Backticks; Zaun per lstrip().startswith("```"); Marke ist die letzte nicht leere Zeile vor dem Zaun; Löschziele nur unter ## Zieldateien |
Zeile 26 bis 27, 40 bis 44, 57 bis 60, 76 bis 81 | keine: die Zeile ist weder Überschrift noch Zaun und steht nie zwischen Marke und Zaun |
plan-kopie/plan_bloecke.py |
dieselbe Logik | Zeile 23 bis 25, 39 bis 42, 54 bis 60 | keine |
plan-diff/plan_diff.py |
Pfadzeile nur mit Pfad in Backticks, höchstens zehn Zeilen vor dem Zaun; Zieldateien nur unter ## Zieldateien |
Zeile 32, 44 bis 55, 78 bis 88 | keine: ein Markdown-Link trägt keine Backticks Nur am Text abgelesen: Die Plankritik vom 2026-09-30 maß, dass plan_diff.py die Ganzdatei-Blöcke dieses Plans gar nicht liest (Exit 3, KEIN BLOCK). |
plan-kopie/welle_vergleich.py |
nur ## Zieldateien |
Zeile 40 bis 47 | keine |
plan-kopie/rot_nachweis.py |
nur ## Zieldateien |
Zeile 75 bis 81 | keine |
plan-kopie/plan_zeichen.py |
nur Inhalte von Codeblöcken | Zeile 35 | keine |
Die Übersicht selbst parst kein Werkzeug: grep uebersicht über plan-kopie/*.py trifft nichts, die Workflows nennen sie nur als Lesehinweis (executer-welle.js Zeile 63, plankritik.js Zeile 71). Ein angehängter Abschnitt ändert keinen Aus-Block, weil nur hinten angefügt wird. Ein späteres „Häng diesen Block ans Ende“ auf eine Übersicht landet hinter dem neuen Abschnitt, das ist harmlos. Der bekannte Fall, ein Absatz zwischen Marke und Codeblock, kann durch die Linkzeile nicht entstehen.
Die Taskdateien dieses Plans tragen die Linkzeile schon. Die Plankritik fährt plan_bloecke.py und plan_zeichen.py darüber und materialisiert sie. Das ist Messschritt M4.
Prüfschritte in der App (Pascal)
Keine Quelle im Vault belegt, wie Obsidian relative Markdown-Links zählt (Grep über AI/ und IT Workspace/ nach Markdown-Link, resolvedLinks, getFirstLinkpathDest ohne Treffer). Deshalb drei Handgriffe in Obsidian, bevor Task 03 und Phase B von Task 05 starten:
-
Lege
Inbox/test-links.mdan mit diesem Inhalt:--- verwandt: "[[AI/Regelwerk/frontmatter]]" --- [eins](../AI/Regelwerk/navigation.md) [zwei](../IT%20Workspace/Nextcloud/_MOC-nextcloud.md) [drei](../AI/Regelwerk/schreibstil) -
Öffne die Notiz, dann die lokale Graphansicht und den Bereich „Ausgehende Links“.
- P1:
navigationund_MOC-nextclouderscheinen als verknüpft, der Graph zeigt beide Kanten. Das belegt relative Links mit../und URL-kodierte Leerzeichen. - P2:
frontmattererscheint als verknüpft. Das belegt Wikilinks im Frontmatter. - P3:
schreibstilerscheint als verknüpft. Das belegt Markdown-Links ohne.md.
- P1:
-
Notiz löschen.
Ein Nein bei P1 stoppt Task 03 und Task 05, weil die Hub-Regel dann in Projekt-Repos nichts verbindet. Ein Nein bei P2 oder P3 heißt: Entscheidung 7 bzw. 8 im Entwurf ändern, bevor der Zähler gilt.
Globale Vorgaben
- Nur die Zieldateien der eigenen Taskdatei. Kein Commit, kein
git add. - Codeblöcke wörtlich anwenden mit
python D:/Claude/.vault-tools/plan-kopie/plan_materialisiere.py D:/Claude/.vault-tools/linkcheck/docs/plans/2026-09-29-waisen D:/Claude <taskdatei>. Nichts von Hand nachschreiben, auch keinen „offensichtlichen“ Tippfehler korrigieren. - Befehle im Bash-Werkzeug (Git-Bash), nicht in der PowerShell.
pythonist das Windows-Python. - Läuft ein Befehl anders als im Plan erwartet: nichts anpassen, die vollständige Ausgabe melden. Ein Widerspruch im Plan wird gemeldet, nicht still aufgelöst.
- Das Feld
updatedin geänderten Regelwerk-Dateien setzt der Koordinator beim Commit, weil das Datum der Umsetzung beim Planen nicht feststeht.statusbleibt, wie er ist: Pascal hat die Änderung mit der Spec angeordnet. - In Dateien unter
.vault-tools/stehen keine Kunden-, Domain- oder Projektnamen. Die Testfälle nutzen erfundene Namen (active - Alpha,kunde-audit,Projekt X).
Tasks
| Task | Inhalt | Modell | Voraussetzung | Welle |
|---|---|---|---|---|
task-01-zaehler.md |
waisen.py, Ausnahmedatei, Treiber, Entwurf |
haiku | keine | 1 |
task-02-sitzungsstart.md |
Zeile im SessionStart-Hook, Treiber, Nachtrag im Entwurf | haiku | Task 01 | 2 |
task-03-regeltexte.md |
Hub-Regel in navigation.md, Stamm, Planer, Codedoku, SEO |
sonnet, effort low | P1 in der App | 1 oder 2 |
task-04-bestandsskript.md |
waisen_bestand.py und Treiber |
haiku | Task 01 | 2 |
task-05-bestandslauf.md |
Probelauf, Halt, nach Freigabe echter Lauf | sonnet | Tasks 01, 02, 04, 06; P1 bis P3 | 4 |
task-06-nachbesserung-obsidian-regeln.md |
Nachbesserung nach der Prüfung von Welle 1 (2026-09-30): userIgnoreFilters und Linkziele wie Obsidian 1.13.7, Delta gegen den Baum | haiku | Task 01 | 3 |
Die Zieldateien der Tasks 01 bis 04 sind disjunkt. Task 02 und 04 brauchen die Dateien aus Task 01 zur Laufzeit, deshalb Welle 2. Task 05 ändert keine Datei im Plan-Sinn, er fährt Skripte gegen den echten Vault und hält nach Phase A an.
Messschritte
Der Planer hatte keine Shell. Was gemessen werden muss, steht als Schritt in einem Task:
| Nr. | Was | Wo | Erwartung |
|---|---|---|---|
| M1 | Laufzeit von waisen.py über den ganzen Vault |
Task 01, faelle_waisen.py --echt |
unter 10 s |
| M2 | Laufzeit des ganzen Sitzungsstarts mit der neuen Zeile | Task 02, faelle_sitzungsstart.py --echt |
Ziel des Treibers bleibt 5 s; darüber ist ein offener Punkt, kein Fehler von Task 02 |
| M3 | Zahl der Plan-Übersichten und Anhänge je Gruppe | Task 05, Phase A, Auszählung von probelauf.txt |
Größenordnung wie in der Spec |
| M4 | Planwerkzeuge mit Linkzeile unter dem Frontmatter | Plankritik über diesen Plan | plan_bloecke.py vor: 0 Befund(e).; Materialisieren ohne Befund |
Fertig heißt
python D:/Claude/.vault-tools/linkcheck/faelle_waisen.pyendet mit Exit 0, und--rotlaufendet mit Exit 0, jeder MutantGETOETET.python D:/Claude/.vault-tools/linkcheck/faelle_waisen.py --echtendet mit Exit 0 (M1).python D:/Claude/.vault-tools/session-hooks/faelle_sitzungsstart.pyendet mit Exit 0;--echtzeigt die Zeile- Waisen außerhalb der Ausnahmen:mit einer Zahl (M2).python D:/Claude/.vault-tools/linkcheck/faelle_waisen_bestand.pyendet mit Exit 0,--rotlaufebenfalls, jeder MutantGETOETET.python D:/Claude/.vault-tools/linkcheck/faelle.pyendet weiter mit Exit 0.regelwerk_check.pymeldet nach Task 03 keine Befundzeile, die vorher nicht da war.- Je Welle sind die Zieldateien byte-gleich mit der Kopie, auf die der Koordinator den Plan vorher angewendet hat (
welle_vergleich.py). - Phase A von Task 05 liegt als
probelauf.txtvor, der Koordinator hat die Liste gelesen und im Sitzungsprotokoll je Gruppe die Zahl und fünf Stichproben notiert, und Phase B ist freigegeben (Pascal hat am 2026-09-30 alles genehmigt). - M4:
plan_bloecke.py --projekt D:/Claude vorüber alle Taskdateien endet mit0 Befund(e)., und das Materialisieren in der Plankritik lief ohne Befund. python D:/Claude/.vault-tools/session-hooks/faelle_nach_edit.pyendet weiter mit Exit 0 (Task 02).linkcheck.py --allemeldet nach Task 03 keinen neuen toten Link aus einer der Zieldateien.- Die Zahl im Sitzungsstart der nächsten Sitzung ist dieselbe wie die von
waisen.pyzur selben Zeit; beide Ausgaben stehen im Sitzungsprotokoll. - Nach Phase B: Probelauf und echter Lauf nennen dieselben Anhänge, die Sicherung liegt außerhalb des Vaults, und Pascals Bildschirmfoto des Graphen ist die Abnahme.
Lauf mit echten Daten
- Zähler:
PYTHONIOENCODING=utf-8 python D:/Claude/.vault-tools/linkcheck/waisen.py --vault D:/Claude --liste. Die Spec maß am 2026-09-29 1.996 Notizen und 852 Waisen, darunter 10 inBookstack/und 7 unterdata/. Ohne diese Ausnahmen sind rund 835 zu erwarten, dazu die seitdem entstandenen Dateien. Weicht die Zahl um mehr als etwa 20 ab, vergleicht der Koordinator die Gruppen der Spec mit der Liste, bevor Task 05 startet. Stichprobe: zehn Pfade aus der Liste in Obsidian öffnen, Rückverweise und ausgehende Links müssen leer sein. Neue Basis: Die Plankritik maß am 2026-09-30 mitwaisen.pyaus der Kopie 2.215 Notizen, 865 Waisen und 17 ausgenommene; 32 der neuen Waisen liegen unterdocs/an der Vault-Wurzel (Pläne und Specs einer anderen Sitzung, nicht veröffentlicht). Verglichen wird mit dieser Messung, nicht mit der Spec. - Sitzungsstart: nächste Sitzung nach Task 02, die Zeile steht im Kontext, und die Zahl ist dieselbe wie beim Zähler.
- Bestandslauf: Task 05. Auffallen müsste: jede Übersicht unter
Code Projekte/*/docs/plans/*/mit verwaisten Tasks erscheint alsZIEL, jede Taskdatei nie. Die Liste für den Koordinator enthält die Gruppe „Einzelne“, die Administrator-Anleitungen und alles ohne Muster. Seit der Nachbesserung vom 2026-09-30 bekommen auch Pläne und Specs unterdocs/an der Vault-Wurzel einen Anhang (Vault: [README](…)); Dateien tiefer als ein Planordner, etwa unterdocs/plans/<ordner>/befunde/, stehen auf der Liste für den Koordinator und bekommen von Hand eine Zeile auf die Übersicht ihres Planordners.
Risiken
-
CLAUDE.mdliegt im Arbeitsbaum mit CRLF, obwohl.gitattributeseol=lfvorgibt (Plankritik 2026-09-30).plan_materialisiere.pyschreibt LF, Task 03 ändert also jedes Zeilenende mit. Das ist gewollt,git diffzeigt es nicht, weil der Index LF hat. -
Obsidian zählt anders als nachgebaut. Dann weicht die Zahl vom Graphen ab. Erkennbar an P1 bis P3 und an der Stichprobe. Die Auflösung mehrdeutiger Namen ist nachgebaut, das steht als Lücke im Kopf von
waisen.py. -
Der Sitzungsstart wird zu langsam. Über 15 s bricht die Waisenzeile ab und erscheint als Fehlerzeile, die übrigen Zeilen bleiben. Über 30 s gesamt verwirft Claude Code die ganze Ausgabe. M1 und M2 messen das.
-
Ein anderer Agent schreibt während Phase B. Das Skript liest jede Zieldatei direkt vor dem Anhängen noch einmal und bricht ab, wenn sie sich geändert hat. Was bis dahin angehängt war, nennt die Ausgabe, die Sicherung liegt vor.
-
Eine Executer-Welle läuft vor dem Commit der Bestandsänderungen in einem Repo. Dann meldet
welle_vergleich.pydie angehängten Übersichten als „außerhalb der Zieldateien“. Abhilfe: erst committen oder die Meldung erwarten. -
Obsidian Sync auf einem zweiten Gerät. Phase B ändert viele Dateien auf einmal. Während des Laufs Obsidian auf anderen Geräten schließen.
-
Veröffentlichung um 04:00. Die Dateien unter
.vault-tools/gehen halbfertig hinaus, sobald sie auf der Platte liegen. Sie enthalten keine Namen. Die angehängten Zeilen inAI/,IT Workspace/,Inbox/und in den Projekt-Repos werden nicht veröffentlicht.
Getroffene Annahmen
- Relative Markdown-Links, URL-kodierte Pfade, Wikilinks im Frontmatter und Markdown-Links ohne
.mdzählen im Graphen. Prüfschritte P1 bis P3. - Die Git-Prüfung gilt für jede Zieldatei in einem Repo, nicht nur für Übersichten, und eine nie committete Zieldatei zählt als geändert. Das ist strenger als die Spec, damit ein Commit je Repo keine fremde halbe Arbeit mitnimmt.
- Unter
Code Projekte/<projekt>/docs/bekommt jede verwaiste Datei außerhalb vondocs/plans/die README-Zeile. Die Spec nennt Codedoku, Specs, Abnahme und Recherche; das Muster istdocs/**. Pascal sieht im Probelauf, was darunter fällt. - Die Administrator-Anleitung hat keinen festen Namen. Sie kommt auf die Liste für den Koordinator, statt geraten zu werden.
- Bericht eines SEO-Laufs ist
ABSCHLUSSBERICHT.mdim Ordner überfindings/, sonstFULL-AUDIT-REPORT.md. Beide Namen stammen aus dem Audit-Skill, nicht aus einem Kundennamen. - Die Projektübersicht eines IT-Workspace-Projekts mit
_arbeitsstandist die einzige_MOC-*.mdim Ordner darüber. Gibt es keine oder mehrere, kommt die Datei auf die Liste. - Der Abschnitt „Dateien in diesem Ordner“ listet jede
.mdim Ordner außer der Übersicht, auch schon verlinkte, wie in der Spec.
Offene Punkte
Entschieden am 2026-09-30: Pascal hat die Spec samt relativen Markdown-Links in Projekt-Repos abgenommen, P1 bis P3 in der App bestanden und alle Vorschläge dieser Liste angenommen. Task 03 und Phase B von Task 05 sind damit frei.
- P1 bis P3 in der App, vor Task 03 und vor Phase B von Task 05.
- Abweichung von der Spec, Workflows: Die Spec sieht vor, dass gespeicherte Workflows, die in Planordner schreiben, dieselbe Zeile bekommen. Das Inventar zeigt: Nur
planung.jslässt schreiben, und zwar überagentType: 'planer'. Die Regel kommt ausplaner.md, eine zweite Fassung im Workflow würde driften. Vorschlag: keine Änderung an Workflows. - Abweichung von der Spec, Administrator-Anleitung: Die Spec nennt sie in der Bestandstabelle bei „eine Zeile mit Link aufs README“. Ohne festen Dateinamen gibt es kein Muster; sie kommt auf die Liste für den Koordinator.
- Laufzeitziel des Sitzungsstarts:
faelle_sitzungsstart.pyerwartet bisher unter 5 s. Liegt M2 darüber, entscheidet Pascal, ob das Ziel steigt (der Hook hat 30 s). - IT-Workspace-Projekte ohne
_arbeitsstand: Die Spec-Zeile „Arbeitsdatei eines Projekts im IT Workspace“ ist für den Bestand nur für_arbeitsstandals Muster umgesetzt. Andere Arbeitsdateien kommen auf die Liste. - Specs in der Inbox wie die Spec zu diesem Plan haben laut Hub-Tabelle das Projekt-README als Hub, liegen aber außerhalb eines Projekts. Die Regel sagt dazu nichts. Vorschlag: bei Abnahme in den Projektordner verschieben oder aus der Tagesnotiz verlinken.
Abschluss 2026-10-05
| Fertig heißt | Ergebnis | Beleg |
|---|---|---|
| 1, 2 Zähler | erfüllt | faelle_waisen.py 109 von 109, Rotlauf 33 Mutanten getötet; --echt 2,1 s |
| 3 Sitzungsstart | erfüllt | faelle_sitzungsstart.py 75 von 75; --echt 5,0 s, Ziel seit 2026-10-05 8 s (Entscheidung in .vault-tools/session-hooks/ENTWURF.md) |
| 4 Bestandsskript | erfüllt | faelle_waisen_bestand.py 31 von 31, Rotlauf 18 Mutanten getötet |
| 5 Linkcheck-Fälle | erfüllt | faelle.py 27 von 27 |
| 6 regelwerk_check | erfüllt | nur der alte Befund zu frontmatter.md |
| 7 Byte-Vergleich | erfüllt | je Welle alle Zieldateien byte-gleich; die übrigen Meldungen von welle_vergleich.py waren fremde oder nicht committete Dateien |
| 8 Phase A | erfüllt | 164 Ziele, 7 übersprungen, 52 auf der Liste; keine Taskdatei und keine Ausnahme als Ziel |
| 9 Phase B | erfüllt bis auf die Abnahme | Probelauf und echter Lauf gleich, 164 Dateien byte-genau Sicherung plus Anhang, Sicherung unter D:/Claude-Sicherung-2026-10-05-waisen; Abnahme per Bildschirmfoto des Graphen steht bei Pascal |
| 10 bis 13 | erfüllt | faelle_nach_edit.py 58 von 58; kein neuer toter Link aus den Zieldateien; M4 ohne Befund |
- Prüfungen: Task 01 durch einen
pruefer(2 wichtige Befunde, umgesetzt in Task 06), Tasks 02, 03, 04 und 06 kritisch mitxhigh: 0 blockierend, 0 wichtig, 10 klein. Sechs kleine Befunde zum Wortlaut sind innavigation.md, Stamm undseo.mdbehoben, das Laufzeitziel ist entschieden. - Bewusst offen (klein): Zwei Schutzprüfungen in
waisen_bestand.py(Byte-Vergleich der Sicherung, Kontrolle nach dem Anhängen) sind laut Prüfer richtig, aber durch keinen Fall abgesichert. Ein verwaister Git-Arbeitsbaum sperrt alle Ziele seines Repos. - Handliste: 34 von 37 Dateien einzeln angebunden; Programm- und Vorlagendateien als Muster in
waisen-ausnahmen.txt(Skills, Plugins, Testfixtures, Programmausgaben, Vorlagen). - Ergebnis: 880 Waisen vor dem Lauf, 45 danach. Die 45 sind gesperrt durch offene Zweige und Arbeitsbäume, nicht versionierte Dateien oder gemischte Zeilenenden; nach dem Merge der betroffenen Zweige
waisen_bestand.pynoch einmal fahren.