Dokumentation nachgezogen - und dabei den neunten Fund gemacht

Der Leser-Wegweiser Operations_Research_mit_Python_Version_04/README.md, die
Datei, die Leser als erstes oeffnen, beschrieb noch die Struktur der
Version 03:

* 12 der 15 Kapitelnummern falsch. "20_Lineare_Programmierung.md | 4" - es ist
  Kapitel 5. Bei den Finanzkapiteln lag die Abweichung bei sieben: README 11,
  tatsaechlich 18.
* 8 der 23 Kapitel fehlten ganz (Metaheuristiken, Spaltengenerierung,
  Mehrziel, Predict-then-Optimize, Testing und drei weitere).
* 93_Anhang_Spickzettel.md fehlte in der Anhangtabelle; der Bauabschnitt nannte
  dreimal build_version_03.py statt _04 und beschrieb --html als
  "Single-Page-HTML", obwohl es laengst eine mehrseitige Website erzeugt.

Dieselbe Regel wie acht Mal zuvor, dieselbe Behandlung: Die Tabelle wird
erzeugt, nicht korrigiert. schreibe_kapiteltabelle() ersetzt den Block
zwischen den KAPITELTABELLE-Marken aus der Struktur, die
baue_seiten_registry() ohnehin ermittelt - derselben Quelle, aus der die
Nummern im Buch stammen. --check meldet einen veralteten Block und bricht ab.
Gegenprobe: alle 37 Dateien aus DATEIEN stehen in der Uebersicht.

Weiter nachgezogen:

* CLAUDE.md kannte veroeffentliche_04.py nicht und nannte .env.beispiel nicht.
  Der Abschnitt "Veroeffentlichung" beschrieb noch das Kopieren von Hand samt
  curl-Kontrolle - das erledigt jetzt das Skript.
* Fundzahl der Nummern-Regel: CLAUDE.md sagte sieben, README acht, PROGRESS
  dokumentiert einen "Achter Fund". Jetzt ueberall neun.
* Diagrammzahl: CLAUDE.md zaehlt 32 Kapiteldiagramme, README 33 - der
  Unterschied ist titelseite.svg. Das steht jetzt dabei.

Nebenbei am Upload-Skript: rsync bekommt --checksum. Der Bau schreibt alle 42
Seiten bei jedem Lauf neu, auch ohne inhaltliche Aenderung; nach Zeitstempel
und Groesse waeren das jedes Mal rund 19 MB sinnlose Uebertragung. Gemessen
nach einem Neubau ohne Aenderung: 0 statt 151 Dateien.

Website unveraendert - kein Upload noetig, der Probelauf meldet 0 zu
uebertragen und 0 zu loeschen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
dschlueter 2026-09-08 19:13:34 +02:00
commit 3d85488d7c
6 changed files with 212 additions and 42 deletions

View file

@ -2158,6 +2158,38 @@ Damit ist der seit dem Colab-Umbau offene Punkt erledigt: Online steht kein tote
Colab-Link mehr, `Notebooks_04/` liefert statt 403 eine Übersichtsseite, und das PDF
entspricht byte-genau dem gebauten.
### 🐛 Neunter Fund: die Dateiübersicht des Leser-Wegweisers
Beim Durchgehen der Dokumentation zeigte sich, dass
`Operations_Research_mit_Python_Version_04/README.md` — die Datei, die **Leser** als erstes
öffnen — noch die Struktur der Version 03 beschrieb:
* **12 der 15 Kapitelnummern waren falsch.** „20_Lineare_Programmierung.md | 4" — es ist
Kapitel 5. Bei den Finanzkapiteln lag die Abweichung bei sieben: README 11, tatsächlich 18.
* **8 der 23 Kapitel fehlten ganz** (unter anderem Metaheuristiken, Spaltengenerierung,
Mehrziel, Predict-then-Optimize, Testing).
* Auch `93_Anhang_Spickzettel.md` fehlte in der Anhangtabelle, und der Bauabschnitt nannte
dreimal `build_version_03.py` statt `_04`, dazu „Single-Page-HTML" für einen Schalter, der
längst eine mehrseitige Website erzeugt.
Dieselbe Regel, dieselbe Ursache: eine abgeleitete Zahl von Hand geschrieben. Deshalb dieselbe
Behandlung — **die Tabelle wird jetzt erzeugt**, nicht korrigiert. `schreibe_kapiteltabelle()`
ersetzt den Block zwischen `<!-- KAPITELTABELLE:ANFANG -->` und `<!-- KAPITELTABELLE:ENDE -->`
aus der Struktur, die `baue_seiten_registry()` ohnehin ermittelt — derselben Quelle, aus der
die Nummern im Buch stammen. Auseinanderlaufen können die beiden damit nicht mehr.
`--check` meldet einen veralteten Block und bricht ab; ein Lauf ohne `--check` zieht ihn nach.
Gegenprobe: Alle **37** Dateien aus `DATEIEN` stehen in der erzeugten Übersicht, mit 23
Kapiteln, 5 Teil-Synthesen und 6 Anhängen.
**Das Muster ist inzwischen belastbar:** Neun Funde, neun Prüfungen. Keiner davon wurde durch
Nachdenken gefunden — jeder durch einen Vergleich der Behauptung mit der Messung.
**Nebenbei am Upload-Skript:** `rsync` bekommt jetzt `--checksum`. Der Bau schreibt alle 42
Seiten bei jedem Lauf neu, auch wenn sich nichts geändert hat; nach Zeitstempel und Größe
hätte das jedes Mal rund 19 MB sinnlose Übertragung bedeutet. Gemessen nach einem Neubau
ohne inhaltliche Änderung: **0 statt 151 Dateien**.
---
## 8. Commit-Historie des V04-Strangs