feat(anleitung): Abhol-Seite mit Bürger- und Rollenträger-Spur - #77
Open
pseidler89-sudo wants to merge 1 commit into
Open
feat(anleitung): Abhol-Seite mit Bürger- und Rollenträger-Spur#77pseidler89-sudo wants to merge 1 commit into
pseidler89-sudo wants to merge 1 commit into
Conversation
Setzt die kleine Ausbaustufe aus docs/specs/TUTORIAL_KONZEPT_2026-08.md um. Die Präsentation bleibt unangetastet. Sie ist statisches HTML, laeuft ohne Netz und ohne JavaScript und traegt Sprechnotizen — genau die Eigenschaften, die in einem Rathaus-Termin auf einem fremden Rechner zaehlen und die eine App-Fassung verlieren wuerde. Konsolidiert wird am EINSTIEG, nicht am Artefakt. /anleitung fragt nach der SITUATION, nicht nach der Rolle: Ein Buerger denkt nicht "ich bin Rolle user". Drei Karten — mitmachen, eine Aufgabe haben, Partizip vorstellen. Wer angemeldet ist und eine Rolle traegt, bekommt oben zusaetzlich den direkten Weg in seinen Abschnitt. Bewusst KEINE Folienmechanik fuer die Anleitung: Ein Karussell ist zum Nachschlagen schlecht bedienbar, schlecht zitierbar und ein Problem fuer das a11y-Gate. Stattdessen lange, druckbare Seiten, lueckenlose h1→h2→h3, Nachschlag per <details>, lesbar ohne JavaScript. Fuer super_admin gibt es bewusst keine oeffentliche Spur — Betreiber-Wissen gehoert in interne Runbooks, nicht in eine Anleitung. Texte liegen als Daten in anleitung-daten.ts, jede fachliche Aussage mit Belegstelle im Code als Kommentar. Drei Korrekturen gegenueber dem Konzept, alle am Code geprueft: die Erinnerung vor Ablauf kommt nach 60 Tagen (nicht 30), der KI-Neutralitaets-Check gated Abstimmungen und nicht Digests, und "Ergebnisse erst nach Ende" gilt nur fuer die Aufschluesselung. Weggelassen, weil am Code nicht bestaetigt: der "6-stellige Code aus derselben Mail" (mail.ts verschickt nur einen Link), die Benachrichtigung bei Rollenaenderung (role-actions.ts versendet keine Mail). Die 2FA-Details tragen TODO(#59) — der Block ist noch nicht gemergt. Einstieg im Footer (einziger dauerhafter Ort — die Landing verschwindet mit dem Region-Cookie), im FAQ-Kopf und als Text-Link unter /aufgaben. Bewusst KEINE Aufgaben-Kachel: aufgabenKacheln spiegelt exakt die Server-Guards, eine rechtefreie Kachel wuerde diese Invariante aufweichen. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018YNj1kkesDywuEGvNweBHM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Setzt die kleine Ausbaustufe aus
docs/specs/TUTORIAL_KONZEPT_2026-08.mdum (internes Repo). Owner-Entscheid 2026-08-06: zwei Dinge mit einem gemeinsamen Einstieg, Spuren öffentlich lesbar, klein anfangen.Warum die Präsentation bleibt, wie sie ist
Das Deck unter
app/public/praesentation/ist unangetastet. Es ist statisches HTML, läuft ohne Netz und ohne JavaScript, druckt aufPund trägt Sprechnotizen — genau die Eigenschaften, die in einem Rathaus-Termin auf einem fremden Rechner zählen. Eine App-Fassung verlöre sie.Konsolidiert wird deshalb am Einstieg, nicht am Artefakt:
/anleitungverlinkt das Deck als eine von drei Möglichkeiten.Der Einstieg fragt nach der Situation, nicht nach der Rolle
Ein Bürger denkt nicht „ich bin Rolle
user". Drei Karten:/anleitung/mitmachen/anleitung/aufgaben(vier Anker-Abschnitte)/praesentationWer angemeldet ist und eine Rolle trägt, bekommt oben zusätzlich den direkten Weg in seinen Abschnitt (Rollen serverseitig über
getUserRoleTypes). Ausgeloggt: kein DB-Zugriff, keine Weiterleitung.Form: bewusst keine Folien
Ein Karussell ist zum Nachschlagen schlecht bedienbar, schlecht zitierbar und ein Problem für das a11y-Gate. Stattdessen: lange, druckbare Seiten, lückenlose
h1→h2→h3(dafür trägtSpurInhalteineebene-Prop), Nachschlag-Fragen als<details>, lesbar ohne JavaScript,@media printergänzt.Für
super_admingibt es bewusst keine öffentliche Spur — Betreiber-Wissen gehört in interne Runbooks, nicht in eine Anleitung.Inhalte sind Daten, mit Beleg
Alle Texte liegen in
anleitung-daten.ts, analogfaq-daten.ts. Über jeder fachlichen Aussage steht die Belegstelle im Code als Kommentar — ändert sich der Code, ist die Fundstelle da, wo man sie braucht. Dazu Regeln im Kopf der Datei: keine Screens nachbauen, keine Knopf-Positionen beschreiben (veraltet bei jedem UI-Feinschliff), nicht duplizieren, was die FAQ schon sagt.Drei Korrekturen gegenüber dem Konzept, alle am Code geprüft
DEFAULT_REVERIFY_WINDOW_DAYS = 60) — der Default-Kommentar im Skript sagt etwas anderes.pollStatusEnum.in_pruefung).Weggelassen, weil am Code nicht bestätigt
Der „6-stellige Code aus derselben Mail" (
mail.tsverschickt nur einen Link,/anmeldenhat kein Code-Feld) und die Benachrichtigung bei Rollenänderung (role-actions.tsversendet keine Mail). Beides ist als Lücke im Konzept vermerkt statt hier erfunden.Die 2FA-Details tragen
TODO(#59)— der Block ist noch nicht gemergt. Der Abschnitt nennt nur den heutigen Stand.Einstieg verlinkt
Footer (der einzige dauerhafte Ort — die Landing verschwindet mit dem Region-Cookie), FAQ-Kopf, und als Text-Link unter
/aufgaben. Dort bewusst keine Kachel:aufgabenKachelnspiegelt exakt die Server-Guards, eine rechtefreie Kachel würde die inkacheln.test.tsabgesicherte Invariante aufweichen.Geprüft
npm run lint(--max-warnings 0, a11y-Gate),npm run typecheck,npm run buildund 12 neue Tests auf die Datenstruktur — alle grün, unabhängig nachgefahren.Bekannte Grenze: Die neuen Seiten sind noch nicht in
.pa11yci.jsaufgenommen; das a11y-Gate prüft sie also noch nicht automatisch. Das gehört zum offenen Punkt „a11y-Gate ausweiten" ausSTATUS.md.🤖 Generated with Claude Code
https://claude.ai/code/session_018YNj1kkesDywuEGvNweBHM