/flashcards — Karteikarten
Hinweis: Rahmen: 00-rahmen.md. Code:
plugins/src/flashcards/client/Karteikartenschirm.tsx(dünn) — er zeichnet den Lerndurchgang des Studiums, und zwar über den AnschlussANSCHLUESSE.studium?.Lerndurchgang, nicht über einen Import, und daneben ebensoANSCHLUESSE.studium?.AnkiEinlesen·plugins/src/flashcards/client/lage.ts(die eigenen Entscheidungen — welche Lage gilt, welche drei Verlaufsreihen gezeigt werden, welche zwei fremden Abschnitte angesteuert werden; mitlage.test.tsals Probe) ·plugins/src/flashcards/nachweis/verifyKarteikarten.ts· Nachweiseverify:karteikarten(dieser Schirm, 25 Prüfungen),verify:cards,verify:fsrs.
Wofür
Der Zettelkasten. Der Schirm ist absichtlich dünn: CardStudy bringt alles mit, was Lernen braucht — Warteschlange, Modus, Tastatur, Intervallvorschau. Ein zweiter Rahmen darum wäre eine Kopie, kein Gewinn.
Angelegt und verwaltet werden Karten im Studien-Schirm, weil sie dort an Kategorie und Modul hängen; die Auswahllisten dafür gehören dorthin, wo die Stammdaten liegen. Seit dem 21.09.2026 führt von hier ein Knopf dorthin — und zwar in das schon aufgeklappte Formular.
Der Satz daneben geht seit dem 22.09.2026 durch t(). Er stand bis dahin roh im JSX, über zwei Zeilen verteilt, und war damit nicht nur unübersetzt, sondern ungezählt: verify:sprache sucht seine Kandidaten zwischen zwei Marken in einer Zeile, und dieser ging über zwei. Der Bereich tauchte damit in keiner seiner drei Zahlen auf (Punkt 32).
Die Geschichte, die man kennen muss
Bis zum 08.09.2026 stand hier das Karteikartensystem des Alpha-Standes: SM-2, an Blöcke in Dokumenten gehängt, mit eigener Oberfläche und eigenen Endpunkten. Daneben gab es seit der Notion-Ablösung ein zweites — FSRS-4.5, 745 Karten, im Studien-Schirm. Zwei Systeme für dieselbe Tätigkeit, das ältere zuletzt am 17.11.2025 benutzt.
Der Weg führt jetzt auf das neue. Seit dem 21.09.2026 liest die alte Tabelle personal.flashcards niemand mehr (der zweite Lesepfad liegt in archiv/2026-09-21-sm2-lesepfad/). Seit dem 23.09.2026 gibt es nur noch FSRS (G02, Grundsatz 42): Wanderung 97 hat die alten Karten mit abgeleitetem Stand nach study.flashcards überführt (C10, N158, N159), und Wanderung 105 legt die alte Tabelle ab dem 24.09.2026 als archiv.flashcards ins Archiv — ohne Schreibrecht, nichts gelöscht (N188).
Weg und Rahmen
| Route | /flashcards |
| Merkmal | FLASHCARDS |
| Zimmer | Zettelkasten · Lautstärke 4 · #ff8a3d |
Was man sieht
- Die Kopfzeile: ein Satz, warum Karten im Studium angelegt werden, und daneben der Knopf dorthin
- Die Betriebsart: „Fällig“ trägt die Zahl der wartenden Karten — fällige Wiederholungen und neue Karten bis zum Rest des Tagesbudgets — und holt genau diese. Der Titel des Knopfs nennt beides getrennt („5 Karten warten, alle neu.“, „5 Karten warten: 2 zum Wiederholen, 3 neu.“). Seit dem 16.10.2026 (KN-261015-lernen-ort, Befund B8) ist das ein Begriff von fällig: Übersicht, Lage, Briefing und dieser Schirm zählen über
kartenwarteschlange(study/server/karten.ts); bis dahin sagte die Übersicht „nichts fällig“, während hier fünf neue Karten warteten. Ist nichts fällig, steht das Wort allein. Bis zum 10.10.2026 standen darüber fünf Kacheln, von denen keine irgendwohin führte (E13, ES-261009-kennzahlen-nur). - Der Modulfilter daneben (seit 16.10.2026): „Alle Module“ oder ein Modul; die Wahl steht als
?modul=<id>in der Adresse, und Zahl wie Warteschlange gelten dann nur für dieses Modul. Dorthin führt „Studium › Lernen“ je Modul. Gelernt wird nur hier — der zweite Lerndurchgang im Studium ist weggefallen. - Die Karte: Frage, dann Antwort — unter der Bewertung der aufgedeckten Karte seit dem 27.09.2026 der Knopf „Erklär mir das“ (KI13)
- Die vier Knöpfe mit ihrem resultierenden Intervall daneben
- Den Verlauf darunter — „Wie es läuft": Karten bewertet, Trefferquote, neue Karten, über 7 Tage bis 1 Jahr. Ist im ersten Zeitraum nichts passiert, fehlt die Tafel ganz (ES-261009-kennzahlen-nur, 10.10.2026); bis dahin stand dort „In diesem Zeitraum ist nichts passiert.“ Wer den Zeitraum selbst wechselt, behält die Tafel, auch wenn der neue leer ist — dann mit Reihen auf null.
Ohne eine einzige Karte steht der Leerzustand allein (RL02, 28.09.2026). Bis dahin standen fünf Nullen (Gesamt, Fällig, Ungesehen, Reif, Heute) und drei Reihen Schalter — Betriebsart, Richtung, Lern-Timer — vor der Eule, als fehle nur ein Handgriff. Jetzt fehlen Zahlen und Schalter, sobald gezählt ist, dass es keine Karte gibt; solange die Zahlen laden, bleibt alles stehen. Der Satz lautet „Noch keine Karteikarte. Karten entstehen im Studium oder als Karteikarten-Block in einem Dokument.“ — vorher nannte er nur das Dokument und widersprach der Kopfzeile, die ins Studium schickt (Lerndurchgang.leer.test.tsx). Betriebsart, Richtung und der Zeitraum des Verlaufs stehen seit demselben Tag als Segmente in einer Kapsel (Segmentwahl, abgeleitet aus N400).
Ohne das Studium sieht man nichts davon — und seit dem 21.09.2026 ist dieses Nichts gestaltet (00-rahmen.md §6): der Horizont mit der Eule, ein Satz, und ein Knopf, wo es einen gibt. Kein Lerndurchgang, kein Verlauf, kein Verweis auf /study — denn diesen Weg kennt die Anwendung dann gar nicht.
Drei Leerzustände, nicht einer (seit dem 22.09.2026 der dritte), und der Unterschied ist der nächste Schritt:
| Lage | Was dasteht |
|---|---|
| Merkmal gewährt, aber abgeschaltet | „…das hast du abgeschaltet." plus Studium einschalten |
| Merkmal nicht gewährt | „…ist für dieses Konto nicht freigeschaltet — vergeben kann es nur die Verwaltung." — kein Knopf, weil der Schalter drüben gar nicht dasteht |
study gar nicht im Bau | „…ist in dieser Ausgabe von Denotato nicht eingebaut." — kein Knopf, und auch niemand, den man fragen könnte |
Die letzten beiden waren bis zum 22.09.2026 einer. Für den Betrachter war das fast richtig — er kann in beiden Fällen nichts tun. Für den Satz war es falsch: „das steht diesem Konto nicht offen" behauptet einen Kontozustand, wo ein Bauzustand vorliegt, und schickt jemanden zu einer Verwaltung, die ihm nichts freischalten kann.
Bis der Zugriff geladen ist, gilt „vorhanden" und nicht „fehlt", sonst blitzte der Leerzustand bei jedem Seitenaufbau kurz auf.
Seit dem 23.09.2026 trägt jeder der drei Leerzustände zusätzlich ein Zeichen (N134, Zeichensprache): ein Chip mit demselben Wort wie in der Tabelle oben, links davon lautlos das Zeichen — seit E12 (30.09.2026) der Kippschalter schalter bei „abgeschaltet", das durchgestrichene Rund blockiert bei „nicht gewährt" und das fehlende Bauteil fehlteil bei „nicht im Bau". Die drei Zeichen unterscheiden sich, damit „nicht gewährt" und „nicht im Bau" (Punkt 26 — bis 22.09.2026 ein einziger Satz) jetzt auch ohne Lesen des Satzes auseinanderfallen. Das Wort daneben bleibt namensgebend und neutral gefärbt; die Farbe trägt allein das Zeichen (lage.ts, LEERZUSTANDZEICHEN/LEERZUSTANDWORT, mit leerlagen.test.ts als Probe — Muster: admin/client/arten.test.ts). Vom 23. bis zum 30.09.2026 standen hier die nächstbesten vorhandenen Zeichen hebel, gesperrt und hinweis (Punkt 38 unten, behoben).
Was man tun kann
| Taste | Knopf | Wirkung |
|---|---|---|
| Leertaste | — | Karte umdrehen |
| 1 | Nochmal | heute wieder |
| 2 | Schwer | kurzes Intervall |
| 3 | Gut | das normale Intervall |
| 4 | Einfach | langes Intervall |
| — | Karte anlegen | führt auf /study?a=cards&neu — den Studien-Schirm, Reiter „Lernen", Anlegefach offen |
| — | Anki-Stapel einlesen | links neben „Karte anlegen“: wählt eine .apkg-Datei, legt sie in die eigene Ablage und liest sie ein; darunter steht, wie viele Karten, Fächer und Bilder angelegt wurden, und wie viele davon den Lernstand aus Anki behalten (KN-261015-anki-import). Gehört dem Studium und kommt über den Anschluss studium.AnkiEinlesen |
| — | Studium einschalten | nur im Leerzustand, und nur wenn das Merkmal gewährt ist: führt auf /settings?a=bereiche |
| — | Erklär mir das | erst nach dem Aufdecken, unter der Bewertung: der Begleiter erklärt die Karte in einem Fenster; zählt als freie Frage (KI13, N327) |
Jeder Bewertungsknopf zeigt das Intervall an, das er bewirkt. Ohne diese Angabe ist die Selbsteinschätzung ein Blindflug: „Gut" und „Einfach" fühlen sich gleich an, bedeuten aber vier Tage oder zwei Wochen. Die Ziffer steht am Knopf — ein Kurzbefehl, den niemand sieht, ist keiner. Auf einem Gerät ohne Tastatur (hover: none und pointer: coarse) fallen Ziffer, Leertaste und „Z“ am Knopf weg, wie die Tastenhinweise der Schnellsuche (KN-261015-tastenhinweise-telefon).
„Karte anlegen" trägt seit dem 23.09.2026 das Zeichen anlegen (16px, lautlos, vor dem Wort — N134). „Studium einschalten" hat keines (Punkt 36).
„Karte anlegen" ist ein Verweis, kein Formular. Der Satz „leg sie im Studium an" stand hier seit dem 08.09.2026 und war richtig; er half nur nicht, weil von dort noch zwei Klicks fehlten — Reiter wählen, Fach aufklappen. ?a=<abschnitt> und ?neu sind der Rahmen, den jeder Bereichsschirm mitbringt (00-rahmen.md §3), und eine Adresse ist kein Import: Sie koppelt die beiden Bereiche nicht, sie navigiert nur.
Das Anlegefach fragt nur Frage und Antwort (15.10.2026, KN-261015-karte-ohne-titel). Beide sind Pflicht; ein Feld „Titel“ gibt es nicht mehr, die Karte heißt nach der ersten Zeile ihrer Frage (titelAusFrage in @shared/utils/kartentitel, dieselbe Regel wie im Kartenentwurf des Begleiters und auf dem Server, wenn ein Werkzeug keinen Titel schickt). Kategorie und Modul bleiben nach „Karte anlegen“ stehen (bleibt am Feld des Formulars), Frage und Antwort leeren sich für die nächste. Nach einem Neuladen sind beide wieder leer; einen gemerkten Stand über die Sitzung hinaus gibt es erst, wenn jemand ihn verlangt. Die Schnellsuche kennt „Neue Karte“ und führt auf dieselbe Adresse wie „Neu anlegen › Karte“ (/study?a=cards&neu).
„Erklär mir das“ steht erst unter der Bewertung der aufgedeckten Karte (27.09.2026, KI13, N327). Zuerst stand er zwischen Antwort und Bewertung und schob am Telefon „Gut“ und „Einfach“ unter Eule und Stift; bewertet wird jede Karte, erklärt nur manche. Der Knopf gehört dem Begleiter und kommt über ANSCHLUESSE.begleiter?.Erklaerknopf in den Lerndurchgang; er schickt nur die Kennung der Karte. Was das Modell sieht, liest der Server über den Anschluss der Lernkarten (flashcards/server/erklaeren.ts): Name, Modul, Frage, Hinweis und Antwort — die Antwort mit, weil der Knopf ohnehin erst neben ihr steht. Er fehlt ohne Studium und ohne Lernkarten, und eine fremde oder alte SM-2-Karte (personal.flashcards) erklärt er nicht. Einzelheiten zu Fenster, Zählung und Verlauf: begleiter.md, „Erklär mir das“.
Unter der aufgedeckten Karte steht das Verknüpfungsfeld „Hängt zusammen mit“ (NV17, N506), mit der Kennung der gezeigten Karte und der Art flashcard. Eine Karte hat im Studium keine Tabellenzeile und kein Bearbeitungsformular; der Lerndurchgang ist der Ort, an dem man sie einzeln vor sich hat. Das Feld erscheint erst mit der Antwort, vor dem Aufdecken fragt es nichts an, und wechselt mit jeder Karte neu (Lerndurchgang.verknuepfung.test.tsx). Es kommt aus dem Gerüst links; die Karte erscheint in den Verknüpfungen der anderen Sachen als „Karteikarte“ und führt zurück in den Lerndurchgang.
?runde=N setzt die Größe des Stapels (KI-261007-lernen-vorschlaege). Die Wiederholungskarte des Begleiters („Jetzt 10 Karten wiederholen?“) führt mit dieser Adresse hierher, und der Lerndurchgang holt so viele fällige Karten, wie die Karte nennt. Was keine ganze Zahl von 1 bis 50 ist, gilt nicht; dann bleibt es bei 20 (rundeAusAdresse, Lerndurchgang.runde.test.tsx). Die Karte selbst entsteht beim Lesen des Anstoßes (flashcards/server/wiederholung.ts); Schwelle und Rundengröße stellt ein Admin ein (karten.wiederholung.ab, karten.wiederholung.runde). Einzelheiten: begleiter.md, „Vorschlagskarten“.
Das Ende einer Runde ist ein Erfolgsmoment (D-261008-erfolgsmomente, 10.10.2026). Ist die letzte Karte des Stapels bewertet, meldet der Lerndurchgang „Runde gelernt“; erst danach, nie mitten in der Runde, darf Denotato um etwas bitten. Ein Gast sieht dann die Bitte, ein Konto anzulegen (00-rahmen.md, „Die Bitte nach einem Erfolg“; Lerndurchgang.erfolg.test.tsx).
Woher die Daten kommen
STUDY_CARDS_QUEUE · STUDY_CARDS_REVIEW · STUDY_CARDS_SUMMARY · STUDY_CARDS_UNDO — alle vom Lerndurchgang aus dem Studium gerufen, keiner von diesem Schirm selbst. Ebenso FILES_UPLOAD und STUDY_CARDS_ANKI_IMPORT aus „Anki-Stapel einlesen“; danach meldet das Bauteil über study/client/kartenbestand.ts, dass Karten dazugekommen sind, und der Lerndurchgang lädt Stand und Warteschlange neu. Die Tafel darunter liest study.review_log über den Verlauf-Endpunkt (Q03); sein Name in APIPaths steht noch aus.
STUDY_CARDS_REVIEW nimmt seit dem 26.09.2026 freiwillig durationMs an (NB06, N310, Wanderung 163): Der Lerndurchgang misst die Zeit vom Zeigen der Karte bis zur Bewertung, ohne die Wartezeit auf den Server, und der Server legt sie in study.review_log.duration_ms ab. Über einer Stunde, ohne Anfang oder bei rückwärts laufender Uhr geht keine Dauer hinaus; leer heißt „nicht gemessen". Sichtbar ist davon noch nichts — eine Anzeige „Sekunden je Karte" ist nicht gebaut.
Die Eule: „Eine Karte erklären“ (KI21, N372)
Der Lerndurchgang schreibt die gezeigte Karte als ?karte=<id> in die Adresse, erst wenn sie aufgedeckt ist — vorher verriete die Eule die Antwort. Daraus liest die Eule ihren Gegenstand; erklärt wird über „Erklär mir das“ (KI13) mit einer eigenen Karte.
Als Baustein im Wiki (WI-261008-bausteine-artikel)
Stumm und mit festen Beispieldaten; Form und Wortlaut stehen in wiki.md unter „Bausteine im Artikel“. Ein Baustein: der Knopf „Karte anlegen“ (flashcards.add-card, im Satz). Er steht dafür als KarteAnlegenKnopf in client/KarteAnlegen.tsx; die Kopfzeile zeigt ihn wie vorher.
Was fehlt
- SM-2 lebt noch als Tabelle — aber nicht mehr als Verfahren (Stand 21.09.2026, G02). Bis dahin entschieden zwei Stellen, wann eine Karte drankommt: FSRS über
study.flashcard_states.std_dueundgetFlashcardsDueForReviewüberpersonal.flashcards.next_review_at. Die zweite hatte keinen Aufrufer mehr und liegt seitdem inarchiv/2026-09-21-sm2-lesepfad/. Was bleibt, sind 266 Zeilen, die niemand liest, in vier Konten — davon 70 Christians, 35 davon mit Historie und noch vorhandenem Inhalt. Sie zu überführen ist Christians Entscheidung (C10), weil es Lernstand kostet: im Median 271 Tage Intervall je Karte.npm run verify:ueberfuehrung --prefix packages/backendrechnet es bei jedem Lauf vor;verify:legacyzählt den Bestand mit. Kein Zurücknehmen— das gibt es (geprüft am 17.09.2026):STUDY_CARDS_UNDOund der Griff inCardStudy.tsx. Migration 19 hat den Vorzustand dafür angelegt. Was fehlt: es geht nur einen Schritt zurück, und außerhalb des Lernmodus gar nicht.Kein Weg zum Lern-Timer von hier(Guide S19) — gebaut am 26.09.2026 (NB06). Derselbe Knopf „Lern-Timer" wie im Studium steht rechts in der Reihe der Lernweisen des Lerndurchgangs, am Telefon darunter umgebrochen.Karteikartenschirm.tsxnimmt ihn ausANSCHLUESSE.timer?.Startknopfund reicht ihn alszusatzin den Lerndurchgang; er ruft überTIMER_RUFdie eine Leiste über allen Schirmen und fehlt, solange ein Block offen ist (docs/seiten/00-rahmen.md, „Die Leiste des Lern-Timers").Keine Karte anlegen von hier aus— ein Knopf führt jetzt ins offene Formular (21.09.2026). Was fehlt: anlegen kann man weiterhin nur drüben. Eine Schnellanlage auf diesem Schirm — Frage, Antwort, Fach, fertig — bräuchte einen Anschlussstudium.karteAnlegensamt Fächerliste;STUDY_CARD_SAVEundSTUDY_CATEGORIESdirekt zu rufen, ist keiner der vier erlaubten Wege zwischen zwei Bereichen (Grundsatz 43).Keine Bilderauf der Karte— seit KN-261015-anki-import zeigen Frage und Antwort Bilder aus der eigenen Ablage (study/client/Kartentext.tsx, Marke). Anlegen lässt sich eine Karte mit Bild bisher nur über den Anki-Import. („und keine Formeln"war falsch, am 17.09.2026 nachgesehen:Lerndurchgang.tsxsetzt Frage, Hinweis und Antwort durchFormeltext, also KaTeX, undverify:formelnprüft es.)- Kein Fach-Filter — und er ist hier nicht baubar. Man lernt alles oder nichts.
STUDY_CARDS_QUEUEnimmt genau zwei Angaben entgegen,modeundlimit, und die Zeilen, die zurückkommen, tragen keine Kategorie: gefiltert werden könnte auch nachträglich nichts. Der Filter gehört deshalb in die Abfrage instudy/server/karten.tsund nicht auf diesen Schirm. - Kein Ziel für diese Sitzung. (
„Kein Ziel für heute"war falsch: das Tagesbudget gibt es — Feld „Neue Karten pro Tag" in den Lerneinstellungen, Kachel „Heute {n}/{budget}", und am Ende „Pensum geschafft". Was fehlt, ist „jetzt zwanzig und dann Schluss", unabhängig vom Tag.) - Keine Trefferquote und kein Verlauf.
Beides fehlt— der Verlauf steht seit dem 21.09.2026 unter dem Durchgang (Q03), mit Trefferquote als einer der drei Reihen. Was fehlt: er zeigt die Tage, nicht die laufende Sitzung. - Kein Rückwärts-Lernen.
- Keine Vorschau der Warteschlange. Was kommt, sieht man nicht.
- Kein Knopf zum Aussetzen — die Mechanik gibt es.
STUDY_CARD_SAVEnimmtlifecyclemitactive/suspended/archivedan, und die Warteschlange zieht nuractive; im Kartenformular fehlt das Feld. - Kein Ring. Die Philosophie §3.4 nennt ihn als Bild für Fälligkeit — hier wäre er richtig.
- 50 Karten zeigen auf Blöcke, die es nicht mehr gibt.
personal.flashcards.blockidträgt keinen Fremdschlüssel — es gibt ihn schlicht nicht —, also hinterlässt jeder gelöschte Block seine Karten.verify:legacyhält die Zahl seit dem 17.09.2026 bei höchstens fünfzig fest; sie darf nur sinken. Seit Wanderung 105 liegen die Zeilen inarchiv.flashcards. Wanderung 207 (G08, N331) rettet, was davon noch Inhalt hat — eine Karte je Block, dessen Kinder Frage und Antwort tragen, auch wenn der Block nur gelöscht ist — und zählt den Rest je Konto mit Grund;verify:ueberfuehrungprüft, dass nichts Rettbares offen bleibt. - Der Inhalt der alten Karten hängt an 93 Blöcken, nicht an 266 Zeilen. Frage, Hinweis und Antwort stehen nicht in
personal.flashcards, sondern in den Kindblöcken (flashcard_question,flashcard_answer,flashcard_hint). 216 Zeilen teilen sich 93 Blöcke — eine Zeile je Nutzer und Block. Stufe 2 ist seit dem 23.09.2026 gebaut: Wanderung 97 liest von dort, so wie der Editor (syncFlashcardBlock), und macht je Block eine Karte mit einem Lernstand je Konto (N158, N159). Sie trägt die MarkeBEWUSST NOCH NICHT GELAUFENund läuft erst nach einer Ankündigung von Hand (N61·8); bis dahin sieht niemand die alten Karten. - Die Vorschauspalten
fsrs_*zeigt niemand an. Wanderung 71 hat anpersonal.flashcardshingeschrieben, was eine Überführung ergäbe; zu sehen ist das nur mit einer Abfrage von Hand oder überverify:ueberfuehrung. Das bleibt richtig — eine ausgelieferte Vorschau wäre das dritte Verfahren neben den zweien, die G02 beseitigen soll. C10 ist entschieden (N158); die Spalten sind jetzt die Quelle, aus der Wanderung 97 die Lernstände schreibt, und verschwinden mit der Tabelle in Stufe 3. - Ein Protokoll der Bewertungen gibt es für diese Karten nicht und hat es nie gegeben.
study.review_logdeckt nur die Studienkarten ab. Damit lassen sich die FSRS-Gewichte auf dem alten Bestand nie nachtrainieren — unabhängig davon, wie C10 entschieden wird. ?a=cardsist eine Verabredung ohne Nachweis— den gibt es seit dem 21.09.2026, und seit dem 22.09.2026 steht er in der Kette. Er liest den Quelltext der beiden fremden Schirme und hält fest, dassABSCHNITTEim Studium nochcardsnennt und die Einstellungen noch eine Kategoriebereicheführen. Gelesen wird Text, nicht ein Modul — damit hängt nichts aneinander, was sich abschalten können muss, und ein ausgebauter Bereich macht den Nachweis nicht rot, sondern stumm. Umgezogen ist er ausverabredungen.test.tsnachnachweis/verifyKarteikarten.ts, weil hier keine Oberfläche gemessen wird, sondern eine Verabredung zwischen zwei Bereichen; die gehört dorthin, wo jeder Lauf sie sieht. Was fehlt: dieselbe Lücke besteht in jede andere Richtung, und jeder Schirm, der einen fremden Abschnitt ansteuert, müsste seinen eigenen Nachweis mitbringen. Eine Regel dafür gibt es nicht.Der Leerzustand ist ein Satz, kein Zustand— seit dem 21.09.2026 ist er einer (00-rahmen.md §6): Horizont, Eule, ein Satz, und in einem von zwei Fällen ein Knopf. Den Knopf gibt es, weilkartenlagejetzt zwischen „gewährt, aber abgeschaltet" und „nicht gewährt" unterscheidet — vorher war beides derselbe graue Absatz.Was fehlt:der Satz erklärt nicht,warumdas Merkmal fehlt, wenn es nie gewährt war; wen man dafür fragt, steht nirgends.— seit dem 22.09.2026 nennt er den Adressaten: „vergeben kann es nur die Verwaltung". Als Aussage und nicht als Aufforderung, weilEmptyStatedie Handlung in den Knopf legt und nicht in den Satz — und einen Knopf gibt es hier weiterhin nicht, weil er in eine Sackgasse führte.verify:karteikartenhält fest, dass der Satz ohne Knopf einen Adressaten nennt. Was fehlt: die Verwaltung ist von hier aus kein Weg, sondern ein Mensch — wer sie erreicht und wie, steht auf diesem Schirm nicht und lässt sich hier auch nicht sagen, solange Denotato keine Stelle dafür kennt.Die Tour verspricht mehr, als der Schirm hält— die Aufgabe in der Deklaration nennt seit dem 21.09.2026 den Weg, den es gibt: „Karte anlegen" drücken, drüben anlegen, hier üben. Vorher stand dort „Mach ein Fach auf", und ein Fach anlegen geht von hier aus gar nicht — auch nicht über einen Verweis. Was fehlt, und es ist am 22.09.2026 nachgemessen: diesen Satz zeigt die Tour nicht.plugin.tourliest kein Bauteil; der Wortlaut, den jemand beim ersten Öffnen liest, steht infrontend/src/config/tourkapitel.tsund ist ein anderer. Die Korrektur vom 21.09. war damit richtig und wirkungslos zugleich — siehe Punkt 33. Ein Fach anlegen geht weiterhin nur im Studium.- Der Schirm weiß nichts über seine eigene Warteschlange. Alles, was er über Karten anzeigt, zeichnet der Lerndurchgang. Vorschau (10), Ring (12) und Sitzungsziel (7) lassen sich deshalb hier nicht bauen, ohne dieselben Daten ein zweites Mal zu holen — sie gehören in den Durchgang, nicht in diesen Rahmen.
Niemand prüft, dass der Verlauf gefüllt ist.— halb geprüft seit dem 22.09.2026. Die drei Reihen standen als Konstante im Schirm und damit an einer Stelle, an der ein Nachweis sie nur mit React im Rücken lesen könnte; sie stehen jetzt inlage.ts, undverify:karteikartenhält gegen den Bauplan des Servers (backend/src/database/access/verlauf.ts), dass es jede der drei gibt und dass jede am MerkmalFLASHCARDShängt — demselben, das der Bereich selbst trägt. Fällt eine weg oder wandert sie an ein anderes Merkmal, ist der Nachweis rot statt die Tafel leer. Was fehlt: dass für ein Konto auch Zahlen herauskommen, sagt das nicht. Der Bauplan kann vollständig sein und die Abfrage trotzdem nichts liefern — leere Tabelle, falsche Zeitzone, einzusatz, der nie zutrifft. Dafür bräuchte es ein Prüfkonto mit Lernhistorie, und das ist ein Nachweis am Server, nicht an diesem Schirm.Dieser Schirm hat keinen eigenen Nachweis in der Kette.— seit dem 22.09.2026 hat er einen:verify:karteikarten(nachweis/verifyKarteikarten.ts, 17 Prüfungen, ohne Datenbank und ohne Server). Er misst genau das, was an einem Schirm ohne eigenen Besitz brechen kann, und zwar lautlos: jede Lage hat eine Verzweigung im JSX und keine Verzweigung eine Lage, die es nicht gibt; jeder Leerzustand trägt seinen eigenen Satz; der Satz ohne Knopf nennt einen Adressaten; die drei Verlaufsreihen stehen im Bauplan des Servers und am richtigen Merkmal; und die beiden fremden Abschnitte heißen drüben noch so. Gelesen wird durchweg Quelltext — ein Import über die Bereichsgrenze wäre die Verflechtung, die Grundsatz 43 verbietet, und ein abgeschalteter Bereich macht den Nachweis stumm statt rot. Seit dem 22.09.2026 sind es 25 Prüfungen: dazugekommen sind die Zahl der Leerzustandssätze, die Bindung der Kopfzeile an die Lagelernen, die Sprache des Schirms (Punkt 32) und das Tourkapitel (Punkt 33). Was hier bis zum 22.09.2026 falsch stand: „Wer die Verzweigung vonlage === 'x'auf einswitchumbaut, hat einen grünen Nachweis, der nichts mehr misst." Nachgemessen — er wird rot: findet der Ausdruck keine Verzweigung mehr, fehlt jeder Lage eine, und genau das meldet er. Die Sorge stand andersherum richtig, und so ist sie auch behoben: Prüfungen, die ihre Fundstellen zählen, können mit null zufrieden sein. Davon gab es drei; zwei rechnen jetzt gegen eine zweite Quelle (Sätze gegen leere Lagen, Reihen gegen den Bauplan). Was fehlt: die dritte ist die Suche nach rohem Deutsch — sie kann nichts finden, weil es nichts gibt, oder weil sie nicht mehr sucht, und beides sieht gleich aus.- Der Knopf ist von Hand gebaut, weil der Knopf aus dem Kern es nicht kann.
ButtonmitasChildrendert ein nacktesSlotund lässt seine ganze Gestalt fallen;ActionButtonmitas={Link}trägt Glas, was der Guide für Knöpfe ausschließt (§15: „sekundär: Stein — nie Glas"). Ein Verweis, der wie ein Knopf aussieht, muss deshalb hier nachgebaut werden. Seit dem 21.09.2026 ist es wenigstens eine Fassung, die zweimal benutzt wird; der Mangel im Kern steht. - Beim Lernen sieht man nicht, woher eine Karte kommt. Der Durchgang zeigt Frage, Hinweis und Antwort — kein Fach, kein Modul, keinen Weg zu der Karte selbst. Wem beim Üben auffällt, dass eine Antwort falsch ist, der muss sie drüben suchen; von hier führt nichts hin.
Die Deklaration nennt den Bereich „Freies Üben außerhalb des Studiums" — und genau das ist er nicht.— seit dem 22.09.2026 heißt er „Die Karten des Studiums üben". Der alte Satz beschrieb den Alpha-Stand: ein eigenes Kartensystem mit eigenen Karten. Seit dem 08.09.2026 sind es die Karten des Studiums, dieselben, mit denselben Fächern — „außerhalb" war damit das Gegenteil dessen, was der Schirm tut, und der Satz steht in der Tour, in der Suche und in der Bereichsübersicht. Was fehlt: die englische Fassung. Der Katalogeintrag „Freies Üben außerhalb des Studiums" → „Free practice outside your studies" ist jetzt verwaist und der neue Satz hat keinen;verify:sprachezählt beides und wird davon nicht rot.Der Leerzustand kennt zwei Gründe, es sind drei.— seit dem 22.09.2026 kennt er drei. „Merkmal nicht gewährt" und „das Verzeichnisstudyist gar nicht im Bau" landeten beim selben Satz;kartenlage()trennt sie jetzt innichtGewaehrtundnichtGebaut, und der Bauzustand geht dem Kontozustand vor — ohne Anschluss ist gleichgültig, was das Konto darf.verify:karteikartenhält fest, dass keine zwei Leerzustände denselben Satz zeigen. Was fehlt:nichtGebautist im ausgelieferten Stand nicht erreichbar, weilstudyimmer mitübersetzt wird. Der Satz ist damit richtig und ungesehen — gelesen wird er erst von dem, der einen Bereich tatsächlich ausbaut, und dass er dann auch erscheint, prüft nur die Bausteinprobe, nicht der laufende Betrieb.- „Studium einschalten" führt auf den Abschnitt, nicht auf den Schalter. Unter
/settings?a=bereichestehen alle schaltbaren Bereiche in ihren Gruppen; welcher gemeint war, muss man selbst suchen. Der Rahmen kennt?id=für genau diese Hervorhebung — der Einstellungsschirm wertet es nicht aus. Vier neue Sätze stehen nur auf Deutsch— seit dem 22.09.2026 stehen sie im Katalog: „Karte anlegen", „Studium einschalten" und die beiden Leerzustandssätze haben ihren Eintrag inoberflaeche.en_us.json. Eingetragen hat sie nicht dieser Schirm, sondern der Durchgang, der den ganzen Katalog nachzieht — die Sätze standen bis dahin unter „offen".Was fehlt:ein neuer Satz bleibt bis zur nächsten Katalogrunde deutsch, und nichts meldet ihn im selben Commit, in dem er entsteht— für diesen Schirm meldet es jetztverify:karteikarten: er liest den Katalog und nennt bei jedem Lauf die Sätze ohne Eintrag. Als gelbe Zeile, nicht als Fehlschlag, weil der Katalog eine geteilte Datei ist und die Zahl für das ganze Hausverify:spracheführt. Was fehlt: dieselbe Zeile hat kein anderer Schirm, und eine Regel dafür gibt es nicht — genau wie bei Punkt 17.verify:karteikartenhängt noch nicht in der Kette. Der Nachweis liegt da und ist grün (17 Prüfungen), aberverify:ketteinpackages/backend/package.jsonnennt ihn nicht — die Datei ist geteilt und wurde in diesem Durchgang nicht angefasst. Solange die Zeile fehlt, läuft er nur, wer ihn von Hand aufruft, und ein Nachweis, den niemand ruft, ist keiner. Die beiden Zeilen, die dort hineingehören, stehen in der Vorgangsdatei.Drei Sätze dieses Schirms stehen nur auf Deutsch.— nachgemessen am 22.09.2026: alle drei stehen im Katalog. „Die Karten des Studiums üben", „…ist für dieses Konto nicht freigeschaltet — vergeben kann es nur die Verwaltung." und „…ist in dieser Ausgabe von Denotato nicht eingebaut." haben ihren Eintrag inoberflaeche.en_us.json; eingetragen hat sie derselbe Durchgang wie in Punkt 28. Der Punkt stand hier einen Tag lang und war schon beim Aufschreiben überholt — das ist der Preis dafür, dass eine Seitendatei über eine geteilte Datei redet, die ein anderer pflegt. Was fehlt: die beiden Gegenstücke. „Freies Üben außerhalb des Studiums" und „Karteikarten kommen aus dem Studium, und das steht diesem Konto nicht offen." stehen noch im Katalog und kommen im Quelltext nicht mehr vor;verify:spracheführt sie unter „verwaist". Herausnehmen kann sie nur, wer die geteilte Datei anfassen darf.lage.tsist die Restablage des Schirms geworden. Dort steht jetzt dreierlei nebeneinander: welche Lage gilt, welche drei Reihen die Verlaufstafel zeigt, und wie die beiden fremden Abschnitte heißen. Alle drei stehen dort aus demselben Grund — ein Nachweis muss sie lesen können, ohne React mitzubringen —, und keines davon gehört inhaltlich zu den anderen. Das trägt, solange es drei Dinge sind.Der Satz in der Kopfzeile geht an jeder Übersetzung vorbei.— seit dem 22.09.2026 geht er durcht(). „Karten hängen an Kategorie und Modul — angelegt werden sie deshalb im Studium." stand roh im JSX, als einziger Text dieses Schirms. Das Bemerkenswerte ist nicht, dass er unübersetzt war, sondern dass er ungezählt war:verify:sprachesucht seine Kandidaten zwischen zwei Marken in einer Zeile, und dieser Satz ging über zwei. Er war damit weder „umgestellt" noch „offen" — in keiner der drei Zahlen enthalten, die den Stand der Zweisprachigkeit melden, und der ganze Bereich tauchte in der Dateiliste des Nachweises gar nicht auf. Das Wort „Studium" darin ist weiterhin ein Verweis: der Satz trägt die Marke{studium}, undmitVerweissetzt an ihrer Stelle den<Link>ein — ein Satz bleibt ein Satz, auch wenn ein Wort darin klickbar ist, denn nur so kann eine andere Sprache die Wortstellung ändern.verify:karteikartenhält beides fest: dass kein deutscher Satz mehr roh im JSX steht, und dass eine vorhandene Übersetzung dieselbe Marke trägt — verliert sie die Marke, verschwindet der Verweis lautlos und nur für englische Konten. Was fehlt: dieselbe Lücke im Sprachnachweis besteht für jeden anderen Schirm weiter, und der neue Eintrag dafür („Karten hängen an … im {studium}.") steht noch nicht im Katalog — die Datei ist geteilt.- Die Deklaration trägt ein Tourkapitel, das die Tour nicht zeigt. Nachgemessen am 22.09.2026:
plugin.tour.beschreibungundplugin.tour.aufgabeliest kein Bauteil. Der einzige Leser im ganzen Haus istbereiche/eineWahrheit.test.ts, und der prüft ihre Länge (> 40bzw.> 20). Die Willkommenstour zeichnet ihre acht Kapitel ausfrontend/src/config/tourkapitel.ts— eine zweite Liste mit eigenem Titel, eigenem Wortlaut, eigenen Marken und eigenemerledigt. Was jemand beim ersten Öffnen über diesen Bereich liest, ist deshalb „Karteikarten, die sich selbst einteilen / Du lernst, Denotato merkt sich, wann du eine Karte wiedersehen solltest." und nicht der Satz inplugin.ts. Das ist der Grund, warum Punkt 19 am 21.09.2026 richtig und wirkungslos war. Beide Texte sind inzwischen nachgezogen, undverify:karteikartenhält von der gelesenen Liste fest, dass genau ein Kapitel auf/flashcardsführt und am MerkmalFLASHCARDShängt. Was fehlt: es bleiben zwei Listen. Zusammengelegt werden sie mit dem gemeinsamen Register (Bauplan 1.2); bis dahin kann jeder Satz an einer Stelle stimmen und an der anderen nicht, und nur die Länge fällt auf. - Das Tourkapitel hängt an einem Merkmal, der Schirm braucht zwei.
braucht: Feature.FLASHCARDSentscheidet, ob das Kapitel läuft — der Schirm zeigt aber nur dann etwas, wenn zusätzlichSTUDYeingeschaltet ist (die vier Lagen oben). Wer Karteikarten hat und das Studium nicht, bekommt ein Kapitel über einen Schirm, auf dem er den Leerzustand sieht: „Du lernst, Denotato merkt sich…" über einer Eule. Das ist genau das, wastourkapitel.tsin seiner eigenen Begründung ausschließen will — „eine Tour, die von Dingen erzählt, die es für einen nicht gibt, ist schlimmer als keine". Zu beheben ist es nicht hier: ein Kapitel nenntbraucht: Feature | null, also ein Merkmal, und ein zweites einzuführen ändert die Liste für alle acht Kapitel. - Die Suche nach rohem Deutsch kann nicht beweisen, dass sie sucht.
verify:karteikartenfindet keinen rohen Satz im JSX — das heißt entweder, dass es keinen gibt, oder dass der Ausdruck nicht mehr trifft. Beides sieht in der Ausgabe gleich aus. Gemessen ist heute nur der erste Fall: die Gegenprobe (Satz wieder roh einsetzen) macht ihn rot, und zwar von Hand, nicht bei jedem Lauf. Dasselbe gilt für jede Prüfung dieses Nachweises, die auf „nichts gefunden" grün ist — eine eingebaute Gegenprobe, die absichtlich etwas Kaputtes vorlegt und erwartet, dass es auffällt, hat hier keine. - „Studium einschalten" trägt kein Zeichen. Der Auftrag für N134 auf diesem Schirm umfasste den „Karte anlegen"-Knopf und die drei Leerzustände (Punkt davor) — der zweite Knopf im Leerzustand „abgeschaltet" blieb außen vor. Ein
Zeichen name="schalter"(bis E12hebel) läge nahe, kollidiert aber mit dem Zeichen desselben Leerzustands direkt darüber (Chip und Knopf mit dem Schalter nebeneinander wäre eine Wiederholung, kein zweiter Hinweis) — welches Zeichen der Knopf stattdessen bekommt, ist offen. Drei neue Sätze stehen nur auf Deutsch.— nachgetragen am 23.09.2026. „Abgeschaltet", „Nicht freigeschaltet" und „Nicht eingebaut" — die Wörter in den drei neuenChips — sind eigenet()-Aufrufe, keine Wiederholung der bestehenden Leerzustandssätze (Tabelle „Drei Leerzustände" weiter oben unter „Was man sieht"), und haben jetzt ihren Eintrag inoberflaeche.en_us.json.verify:karteikartenundverify:sprachezeigen dazu keine gelbe Zeile mehr.Drei Wunschnamen für die Registry, noch nicht angelegt.— behoben am 30.09.2026 (E12):schalterundfehlteilsind gezeichnet und stehen an „abgeschaltet" und „nicht im Bau".keinZugriffwurde nicht angelegt: Die gezeichnete Form — ein Rund mit Querstrich, „hier geht es nicht durch" — war Strich für Strich das vorhandeneblockiert, und die Registry verbietet zwei Namen mit demselben Pfad. „Nicht gewährt" trägt deshalbblockiert. Der alte Befund:hebel,gesperrtundhinweiswaren die nächstbesten vorhandenen Zeichen, und keines traf den Sinn genau.- Die Verlaufstafel-Legende ist ungeprüft geblieben. Ob Zustände dort (auch) allein über Farbe unterschieden werden, war Teil des ursprünglichen N134-Auftrags für einen anderen Bereich (
components/verlauf/Verlaufstafel.tsxist Kern, kein Plugin-Verzeichnis) und wurde hier absichtlich nicht angefasst. Eine erste Suche nach „Legende"/„legend" im Quelltext ergab keinen Treffer — das Bauteil trägt seinen Wortlaut also unter anderem Namen oder gar nicht als Text.