Zum Inhalt springen
ZVV
Entscheidungen

Entscheidungen

Die offenen Punkte aus den beiden Proposals, die ein Agent nicht selbst entscheiden darf, weil sie Specs berühren und für alle ZVV-Apps gelten. Eine Frage pro Block, daneben Herkunft, Empfehlung und Folge. Antworten bleiben im Browser; unten entsteht daraus ein Markdown-Block zum Kopieren.

Wie diese Seite zu lesen ist

Die 19 Fragen sind nicht auf dieser Seite entstanden. Jede stammt aus einem der beiden Papiere und nennt ihre Fundstelle — docs/proposals/ungedeckte-luecken.md und docs/proposals/meta-views.md. Wo ein Papier eine Empfehlung ausspricht, steht sie als Vorauswahl da und ist als Empfehlung markiert: Der Leser soll bestätigen oder abweichen, nicht bei null anfangen. Wo ein Papier ausdrücklich keine Empfehlung gibt, steht auch keine Vorauswahl — diese Fragen tragen die Marke «ohne Empfehlung».

Eine Vorauswahl zählt nicht als Antwort. Der Fortschritt oben zählt nur, was jemand angefasst hat; wer dem Papier folgt, bestätigt alle Empfehlungen mit einem Klick. Die Fragen selbst stehen in example/lib/atlas/entscheidungen.ts — dieselbe Quelle wie die Belege auf /techstack, damit keine zweite Wahrheit entsteht.

0 von 19 beantwortet

Wer entscheidet, und wann

Beides steht bei jeder Entscheidung im erzeugten Block. Ohne Namen fehlt später der Verantwortliche — genau der Fehler, den L03 anprangert.

Aus «Die neun ungedeckten Lücken entscheiden»

docs/proposals/ungedeckte-luecken.md · Entscheidungsvorlage · 5. August 2026 · entschieden am 6. August 2026 · 16 Fragen

01L02 · Playwright / E2E
Bleibt Playwright ein verbindlicher Atlas-Default für E2E-Tests — oder wird der Default aus Kapitel 07 gestrichen, bis die erste ZVV-App mit echtem Anmeldeweg E2E baut?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

02L03 · Migration-Guides für v0.2
Was geschieht mit der Zusage «v0.2 liefert Migration-Guides», die mit dem Bump auf 0.2.0 fällig geworden ist?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

03L04 · Baseline-CSP
Liefert Atlas eine kopierbare Baseline-Sicherheitsrichtlinie fürs Web (CSP mit Skript-, Stil- und Verbindungsquellen) — oder sagt Kapitel 10 ausdrücklich, dass jede App ihre Richtlinie selbst schreibt?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

04L04 · Nonce oder strict-dynamicohne Empfehlung
Verlangt die Baseline-Richtlinie pro Aufruf erzeugte Einmalwerte aus der Middleware (Nonces) — oder den einfacheren Weg über 'strict-dynamic' mit Hash?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

05L05 · Rollen-Modell
Werden Rollen-Namen ZVV-weit kanonisiert — oder bleiben sie app-spezifisch, und die normative RLS-Vorlage in Kapitel 10 wird von den FZDB-Namen befreit?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

06L05 · Namenskonvention zvv_
Gilt künftig: Das Präfix zvv_ ist ausschliesslich Rollen mit ZVV-weiter Bedeutung vorbehalten, app-lokale Rollen tragen es nicht?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

07L06 · Verbindlichkeit von Limit und TTL
Werden Anfragebegrenzung und Gültigkeitsdauer des Magic-Links in den Spec-Kapiteln beziffert — oder ausdrücklich zu Betriebsparametern ausserhalb von Atlas erklärt?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

08L06a · Grenze pro Empfängeradresseohne Empfehlung
Welche Obergrenze gilt für Magic-Link-Anfragen pro Empfängeradresse und Zeitfenster?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

09L06a · Grenze pro Quell-IPohne Empfehlung
Welche Obergrenze gilt für Magic-Link-Anfragen pro Quell-IP?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

10L06a · Antwort bei Überschreitungohne Empfehlung
Was antwortet der Anmeldeweg bei Überschreitung — und darf diese Antwort verraten, dass es die angefragte Adresse überhaupt gibt?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

11L06a · Durchsetzungsortohne Empfehlung
Wo wird die Begrenzung technisch durchgesetzt?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

12L07 · /signup
Zeigt der CTA «Konto beantragen» künftig auf ein Ziel, das existiert — oder wird zuerst die Route /signup vollständig spezifiziert?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

13L07 · Adresse des CTA-Zielsohne Empfehlung
Welche Adresse ist das erreichbare Ziel des CTA — welche Stelle legt heute tatsächlich Konten an?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

14L08 · Referenz-Repo in der Drift-Tabelle
Bekommt die Drift-Tabelle in Kapitel 07 eine Zeile für das Referenz-Repo samt Legende — oder wird sie durch die maschinenlesbare Selbstauskunft /api/meta ersetzt?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

15L09 · Monorepo und Workspaces
Ist packages/atlas ein echter Workspace mit eigener deklarierter Toolchain — und bleibt example/ ein zweiter, eigener Install-Root?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

16Reihenfolge der Bearbeitung
Wird die Bearbeitungsreihenfolge aus Abschnitt 11 so übernommen — Anfrage an den Betrieb zuerst, danach Kapitel 07 in einem Zug, dann Login-Strecke, dann Security, zuletzt Infrastruktur?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

Aus «Meta-Views für den ZVV-App-Stack»

docs/proposals/meta-views.md · Entwurf zur Diskussion · 3. August 2026 · 3 Fragen

17MV · Verbindlichkeit der drei Meta-Routen
Werden die drei Meta-Routen so verbindlich, wie das Papier sie vorschlägt — /info Pflicht für jede ZVV-App, /changelog Pflicht sobald versioniert ausgeliefert wird, /docs nur wo es Fachinhalt gibt?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

18MV · Versionierungs-Doktrin
Wird die Versionierungs-Doktrin «version + commit + build time + environment» als Spec in ein Atlas-Kapitel aufgenommen — oder als Guideline?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

19MV · Kundenradar-Deck auf /infoohne Empfehlung
Zieht die Präsentationsseite des Kundenradars von /info auf /story um — oder ist genau dieses Deck die künftige Pflichtseite /info und bleibt, wo es ist?

Freiwillig. Ohne Begründung steht im Block ein Gedankenstrich.

Ergebnis als Markdown

Passt unverändert unter docs/proposals/ungedeckte-luecken.md oder in ein GitHub-Issue. Je Entscheidung: wer, wann, was — und die Begründung, dazu Herkunft und die Empfehlung des Papiers, damit später nachvollziehbar bleibt, wovon abgewichen wurde.

31 Zeilen bereit.

Entscheidungsblockmarkdown
## Entscheidungen ((Name fehlt), 19. August 2026)

<!-- Erzeugt auf /entscheidungen im Referenz-Repo.
     Quelle der Fragen: example/lib/atlas/entscheidungen.ts, das seinerseits auf
     docs/proposals/ungedeckte-luecken.md und docs/proposals/meta-views.md verweist.
     Nicht von Hand fortschreiben — Frage ändern heisst Modul ändern. -->

**Stand:** 0 von 19 offenen Fragen entschieden. Insgesamt 19 Fragen.

### Offen geblieben

- **L02 · Playwright / E2E** — Bleibt Playwright ein verbindlicher Atlas-Default für E2E-Tests — oder wird der Default aus Kapitel 07 gestrichen, bis die erste ZVV-App mit echtem Anmeldeweg E2E baut?
- **L03 · Migration-Guides für v0.2** — Was geschieht mit der Zusage «v0.2 liefert Migration-Guides», die mit dem Bump auf 0.2.0 fällig geworden ist?
- **L04 · Baseline-CSP** — Liefert Atlas eine kopierbare Baseline-Sicherheitsrichtlinie fürs Web (CSP mit Skript-, Stil- und Verbindungsquellen) — oder sagt Kapitel 10 ausdrücklich, dass jede App ihre Richtlinie selbst schreibt?
- **L04 · Nonce oder strict-dynamic** — Verlangt die Baseline-Richtlinie pro Aufruf erzeugte Einmalwerte aus der Middleware (Nonces) — oder den einfacheren Weg über 'strict-dynamic' mit Hash?
- **L05 · Rollen-Modell** — Werden Rollen-Namen ZVV-weit kanonisiert — oder bleiben sie app-spezifisch, und die normative RLS-Vorlage in Kapitel 10 wird von den FZDB-Namen befreit?
- **L05 · Namenskonvention zvv_** — Gilt künftig: Das Präfix zvv_ ist ausschliesslich Rollen mit ZVV-weiter Bedeutung vorbehalten, app-lokale Rollen tragen es nicht?
- **L06 · Verbindlichkeit von Limit und TTL** — Werden Anfragebegrenzung und Gültigkeitsdauer des Magic-Links in den Spec-Kapiteln beziffert — oder ausdrücklich zu Betriebsparametern ausserhalb von Atlas erklärt?
- **L06a · Grenze pro Empfängeradresse** — Welche Obergrenze gilt für Magic-Link-Anfragen pro Empfängeradresse und Zeitfenster?
- **L06a · Grenze pro Quell-IP** — Welche Obergrenze gilt für Magic-Link-Anfragen pro Quell-IP?
- **L06a · Antwort bei Überschreitung** — Was antwortet der Anmeldeweg bei Überschreitung — und darf diese Antwort verraten, dass es die angefragte Adresse überhaupt gibt?
- **L06a · Durchsetzungsort** — Wo wird die Begrenzung technisch durchgesetzt?
- **L07 · /signup** — Zeigt der CTA «Konto beantragen» künftig auf ein Ziel, das existiert — oder wird zuerst die Route /signup vollständig spezifiziert?
- **L07 · Adresse des CTA-Ziels** — Welche Adresse ist das erreichbare Ziel des CTA — welche Stelle legt heute tatsächlich Konten an?
- **L08 · Referenz-Repo in der Drift-Tabelle** — Bekommt die Drift-Tabelle in Kapitel 07 eine Zeile für das Referenz-Repo samt Legende — oder wird sie durch die maschinenlesbare Selbstauskunft /api/meta ersetzt?
- **L09 · Monorepo und Workspaces** — Ist packages/atlas ein echter Workspace mit eigener deklarierter Toolchain — und bleibt example/ ein zweiter, eigener Install-Root?
- **Reihenfolge der Bearbeitung** — Wird die Bearbeitungsreihenfolge aus Abschnitt 11 so übernommen — Anfrage an den Betrieb zuerst, danach Kapitel 07 in einem Zug, dann Login-Strecke, dann Security, zuletzt Infrastruktur?
- **MV · Verbindlichkeit der drei Meta-Routen** — Werden die drei Meta-Routen so verbindlich, wie das Papier sie vorschlägt — /info Pflicht für jede ZVV-App, /changelog Pflicht sobald versioniert ausgeliefert wird, /docs nur wo es Fachinhalt gibt?
- **MV · Versionierungs-Doktrin** — Wird die Versionierungs-Doktrin «version + commit + build time + environment» als Spec in ein Atlas-Kapitel aufgenommen — oder als Guideline?
- **MV · Kundenradar-Deck auf /info** — Zieht die Präsentationsseite des Kundenradars von /info auf /story um — oder ist genau dieses Deck die künftige Pflichtseite /info und bleibt, wo es ist?

Was hier bewusst nicht gefragt wird

Die Auslassung ist eine Aussage. Wer eine dieser Fragen vermisst, findet hier den Grund, statt eine Lücke in der Lücken-Seite zu vermuten.

L01 · Prettier
Im Papier mit «EMPFEHLUNG: A — einführen» entschieden (§ 2) und inzwischen umgesetzt: Prettier 3.9.6 ist gepinnt, das Format-Gate läuft in der CI über example/, und L01 ist aus den LUECKEN entfernt. Eine Frage danach wäre eine Scheinfrage.
Die vier Prettier-Ausführungsschritte aus § 2
Arbeit, keine Entscheidung — die Werte stehen vollständig in docs/07-tech-stack.md:141.
L06b · Magic-Link-Gültigkeitsdauer
Das Papier sagt es selbst: «Die TTL ist keine Entscheidung, sondern eine Recherche.» Der Wert ist ein Supabase-Projekt-Setting mit konkretem Default; Kapitel 06 trägt nur nach, welchen Wert ZVV fährt und wo er eingestellt ist.
Das Zieldatum für die kanonische ZVV-Rollenliste (L05 Option A)
§ 12 schliesst es ausdrücklich aus: Es hängt an einer Abstimmung über mehrere App-Teams und wäre heute nur eine weitere Datumszusage ohne Verantwortlichen — genau der Fehler aus L03. Die Grundsatzfrage steht als L05-modell in der Liste.
Ob die App-Repos /signup gebaut haben
§ 12: aus diesem Repo nicht prüfbar. Recherche in acht Repos, keine Entscheidung.
Wächter-Anpassungen und das Nachziehen der Belegzeilen
Folgearbeit jeder einzelnen Entscheidung (§ 11, Schlussabsatz) und durch die CI erzwungen — nicht selbst entscheidbar.
Die drei Entscheidungen im Block «Entscheidungen (MRA, 3. August 2026)»
/info und /api/meta sind öffentlich, CHANGELOG.md ist die eine Changelog-Quelle, die Fachdoku-Route heisst /docs. Bereits entschieden und datiert.
Die Deck-Spec in meta-views.md § 4.1a und die Package-Exports in § 4.2
Umsetzungsumfang beziehungsweise im Papier bereits als bewährt oder ausdrücklich als optional markiert. appMeta() existiert im Referenz-Repo schon (example/lib/atlas/app-meta.ts).