Der Erklaerkasten auf jeder Seite ist weg

Filipe, mit dem Kasten im Bild: "das muss sofort weg. ueberall das ist
scheisse."

Entfernt, nicht ausgeblendet:
  - workspace/assets/js/erklaerung.js
  - server/workspace-erklaerung.js samt Router-Einbindung in index.js
  - server/pruef-erklaerung.mjs
  - der Stilblock in start.css
  - die Skript-Zeile auf allen 25 Seiten

AUSGEBLENDET WAERE KEIN ENTFERNEN. Der Weg haette weiter geantwortet,
das Skript waere weiter geladen worden, und beim naechsten Umbau waere
der Kasten irgendwo wieder aufgetaucht. Was weg soll, wird weggenommen.

NACHGEMESSEN STATT ANGENOMMEN:
  - kein Verweis auf die geloeschten Dateien mehr im Repo,
  - der Server startet ohne Fehler (frische Datenbank, Protokoll leer),
  - keine Reste (erkl__, erklaerung.js) in Seiten oder Stilvorlagen.

Vier andere Pruefungen nennen ebenfalls "Erklaerung" -- sie meinen
ANDERE: den Satz im Neu-Fenster des Chats, die Stufen-Seite, die
Rollenkarten. Die bleiben unberuehrt; nachgesehen, nicht vermutet.

pruef-workspace-seiten, pruef-css-klassen und pruef-lesbarkeit laufen
gruen. Die Zahl der Pruefungen sinkt um die der geloeschten Datei --
das ist hier richtig: Sie prueften etwas, das es nicht mehr gibt.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-15 12:52:13 +02:00
co-authored by Claude Opus 5
parent d76d9aa5da
commit d2210fdd77
36 changed files with 435 additions and 1236 deletions
+18
View File
@@ -2062,6 +2062,24 @@ function umstellungen(d) {
sie mit der Notiz zu entfernen, aus der sie entstand, waere die
teuerste Art, Ordnung zu machen. */
["aufgaben", "aus_eintrag_id", "INTEGER REFERENCES eintraege(id) ON DELETE SET NULL"],
/* FASSUNGEN STATT UNVERBUNDENER DOPPEL (15.09.2026, Stufe 9).
GEMESSEN, BEVOR ETWAS GEBAUT WURDE: Der Plan sagt "Dateiversionen
statt Ueberschreiben" -- ueberschrieben wurde aber nie.
„name_datei“ ist eindeutig und zufaellig, jedes Hochladen legt
eine neue Zeile an. Der Mangel ist ein anderer, und er ist
gefaehrlicher als Ueberschreiben:
Zwei Dateien gleichen Namens stehen BEZIEHUNGSLOS nebeneinander.
Die alte kann "freigegeben" sein, die neue "entwurf" -- und wer
die Liste ansieht, laedt die freigegebene herunter. Also die
falsche. Kein Fehler, keine Meldung, nur die alte Fassung in der
Hand.
ON DELETE SET NULL: Wird die alte Fassung geloescht, bleibt die
neue -- sie verliert nur ihre Vorgeschichte. */
["dateien", "ersetzt_id", "INTEGER REFERENCES dateien(id) ON DELETE SET NULL"],
]) {
try {
const vorhanden = d.prepare(`PRAGMA table_info(${tabelle})`).all().map((s) => s.name);