| R-01 | 4-Zonen-Standard je Sektion | zone-anatomie | SC-01 / WB-01, CUI-02A/B / CUI-03A/B | OK |
| R-02 | Hero reduzierbar beim Chatten | zone-hero, collapsible-section | HERO-01 / HERO-02 / HERO-03, HERO-02 / TPL-03, ICON-01 / HERO-* / CARD-01 | OK |
| R-03 | Hero = Identität · Lage · Wohin | zone-hero, kpi-tile, stepper | HERO-01 / HERO-02 / HERO-03, HERO-01, HERO-02 / TPL-03, ICON-01 / HERO-* / CARD-01 | OK |
| R-04 | App-Shell-Chrome konsumieren — NIE restylen | nav-rail | NAV-01 / SC-01-02 | OK |
| R-05 | Orientierung 'wo bin ich' | nav-rail, zone-hero | HERO-01 / HERO-02 / HERO-03, NAV-01 / SC-01-02, ICON-01 / HERO-* / CARD-01 | OK |
| R-06 | Detail-Panel rechts breiten-verstellbar | doc-steckbrief, dock-panel | PAN-01, PAN-01 / SC-01 | OK |
| R-07 | Menü-Spacing atmet | nav-rail | NAV-01 / SC-01-02 | OK |
| R-10 | Sprecher-Code: User RECHTS, KAI LINKS | speaker-bubble, kai-ava | CUI-01A/B | OK |
| R-11 | EINE Eingabe / Composer überall | composer | CUI-02A/B / CUI-03A/B | OK |
| R-12 | Senden = Variante B (rund, Paper-Plane) | composer | CUI-02A/B / CUI-03A/B | OK |
| R-13 | Aktion ≠ Information / Frage | kai-action-buttons, approval-card | BTN-01 / CUI-04, BTN-01 / CUI-03, CARD-01 / HERO-02, BTN-01 / BTN-02 | OK |
| R-14 | Schnell-Antwort-Chips an der KAI-Nachricht | chip, vorschlags-chip | BTN-02 / CUI-04 | OK |
| R-15 | Thread-Persistenz per context_id | thread-context | CUI-03A/B | OK |
| R-16 | 🔊 Vorlesen an KAI-Nachrichten + Auto-Vorlesen | audio-line | CUI-02A/B, CUI-02A/B / CUI-03A/B | OK |
| R-20 | Fade-out-Mimik (2–5 s sichtbar) | done-state, motion | MOT-01..05, MOT-03 | OK |
| R-21 | Button-Quittung je Aktion | done-state, approval-card, micro-confirm | BTN-01 / CUI-03, MOT-03, MOT-02, CARD-01 / HERO-02, BTN-01 / BTN-02 | OK |
| R-22 | Listen-Animation beim Erledigen | motion, data-table | NAV-02 / CUI-04 / TPL-02, MOT-01..05, PIL-01 | OK |
| R-30 | Listen-Standard | data-table, result-table | NAV-02 / CUI-04 / TPL-02, CUI-04 / TPL-05 | OK |
| R-31 | Beträge entitäts-relativ rot/grün | result-table, kpi-tile | HERO-01, CUI-04 / TPL-05 | OK |
| R-32 | Doc-Thumbnail in Dokument-Listen | beleg-preview, doc-card | NAV-02 / TPL-02, PAN-01, CARD-01 / HERO-02 | OK |
| R-33 | Quell-Links in Klär-Karten (Beleg UND Buchung) | klaerung-card, source-link | LNK-01, CARD-01 / HERO-02 | OK |
| R-34 | Output-as-Input / out-bar an Ausgaben | out-bar | BTN-02 / CUI-04, ICON-01 / HERO-* / CARD-01 | OK |
| R-35 | Sichtbare ToDos — EINE Quelle | kpi-block, nav-rail | NAV-01 / SC-01-02, PIL-01 | OK |
| R-40 | scope-frame statt Doppel-Dropdown | scope-frame | SCOPE-01 / SCOPE-02, BTN-02 / CUI-04 | OK |
| R-41 | Scope = beide Achsen (Entität UND Zeitraum von–bis) | scope-frame | SCOPE-01 / SCOPE-02 | OK |
| R-42 | Kontext-Wahl sichtbar (Gold-Kanon: Modus-Zeile + Im-Kontext-Chip) | composer-helper, thread-context, Gold-Kanon verlangt den \u201eIm Kontext\u201c-Chip., \u26a0 Divergenz 3+7 (17.07.): Den \u201eIm Kontext\u201c-Chip hat JC selbst als Defekt entfernen lassen (#712); R-42 \u2194 R-95 widersprechen sich fail-closed. Kollisionsregel: die j\u00fcngere FINAL-Quelle gewinnt \u2014 sichtbar bleibt die MODUS-ZEILE, der Chip ist \u00fcberholt. KANON#01 f\u00fchrt R-42/R-95 zusammen., #712 \u00b7 U10 (JC FINAL 06.07.) \u00b7 #guard-first Divergenz-Liste, R-43, Auto-Scope nur verengen, tech, Adaptiver Scope darf NUR innerhalb der RLS verengen, nie erweitern., Bibel §716 · adaptive_persona, scope-frame | SCOPE-01 / SCOPE-02, CUI-03A/B, CUI-02A/B / CUI-03A/B, BTN-02 / CUI-04, BTN-01 / BTN-02 | OK |
| R-50 | Geheimhaltung 3-Achsen + Label | axis-badges, Entität ⟂ Vertraulichkeit (🟢intern/🟡vertraulich/🔴streng) ⟂ Konfidenz — getrennt beschriftet, nie vermischt. Schloss bei sensiblen., Die „3-Farben-Bullets“ (🟢🟡🔴) sind ABGELÖST — Code-verifiziert 13.07.: engine.js bxBadges() rendert die .ds-axis-Pillen-Familie (Achsen-Badges V1, JC-gewählt 04.07.2026), und der Harness macht die alte Form aktiv ROT: R-116 verbietet Badge-Look-alikes, R-120 verbietet Farb-Ampel-Punkte für Geheimhaltung. Checklisten-Text in regelwerk.html ist nachzuziehen., R-51, IBAN maskiert, Admin-Prompt nur super_admin, tech, IBAN immer maskiert (DE29…0017), nie roh. Admin-System-Prompt nur super_admin (RLS)., Bibel §9 · identity_rls, R-51 IBAN maskiert (nie volle DE-IBAN im Sichttext), account-status-card | BTN-02 / CUI-04, PIL-01, CARD-01 / HERO-02 | OK |
| R-52 | Schutzlevel: Ordner-Tenor + Doc-Einstufung | folder-tree, axis-badges, Schutzlevel: Ordner-Ampel + Doc-Schloss — Ordner = Default-Tenor (Dateien erben) · Datei = konkrete Stufe., „Ordner-AMPEL“ ist als Darstellung ABGELÖST (Vererbungs-Logik bleibt): der Harness-Check R-52/R-120 (engine.js) flaggt Farb-Ampel-Punkte an Ordnern aktiv als Verstoß. Auch die Landkarten-Definition von folder-tree („Farbpunkt = Schutz-Ampel“) ist entsprechend veraltet., 📱 Responsive & Barrierefreiheit (R-60–62), R-60, Responsive-Baseline, tech, @375 kein Überlauf · Nav→Drawer · Detail→Vollbild-Sheet von unten · Tabellen→Karten · Composer durchgehend., Bibel §L · §11, nav-rail, doc-steckbrief, data-table | NAV-01 / SC-01-02, CUI-02A/B / CUI-03A/B, NAV-02 / CUI-04 / TPL-02, PAN-01, PIL-01, NAV-02 | OK |
| R-61 | AA / Tastatur / Kontrast | type-scale | MOT-01..05, BTN-01 / BTN-02 | OK |
| R-62 | Diktat iOS-robust | composer, audio-line | CUI-02A/B, CUI-02A/B / CUI-03A/B | OK |
| R-70 | Theme-Default = Hell, Toggle MUSS wirken | type-scale | OFFEN: keine sichtbare UX-Darstellung im Controls-Katalog | OFFEN |
| R-71 | Typografie-Disziplin (6 Größen) | type-scale | OFFEN: keine sichtbare UX-Darstellung im Controls-Katalog | OFFEN |
| R-72 | Marke = data-brand, kein Komponenten-Unterschied | type-scale | OFFEN: keine sichtbare UX-Darstellung im Controls-Katalog | OFFEN |
| R-73 | Erzählung statt Formular · keine Dev-Sprache | long-prose, klaerung-card | CUI-04, CARD-01 / HERO-02 | OK |
| R-80 | Composer erweiterbar (Auto-Grow) | composer | CUI-02A/B / CUI-03A/B, ICON-01 / HERO-* / CARD-01 | OK |
| R-81 | Button-Aktions-Feedback (bestätigt-Zustand) | approval-card, done-state | BTN-01 / CUI-03, MOT-03, CARD-01 / HERO-02, BTN-01 / BTN-02 | OK |
| R-82 | Thread-Zustand sichtbar (Gold-Kanon: Akzent-Fläche umschließt alles) | thread-context, composer | CUI-03A/B, CUI-02A/B / CUI-03A/B | OK |
| R-83 | Motion-Schicht demonstriert | motion | MOT-01..05 | OK |
| R-84 | Kanonische Komponente IMMER wiederverwenden | alle | PIL-01 / SYS-01 / PAN-01 zeigen Quelle + Regel + Komponente | OK |
| R-85 | EIN kanonisches Kaï-Avatar überall | kai-ava | CUI-01A/B | OK |
| R-86 | Abstand Avatar↔Bubble muss lesen (≥16px) | kai-ava, speaker-bubble | CUI-01A/B | OK |
| R-87 | Symmetrische Luft um den Avatar (A = B) | kai-ava | CUI-01A/B, ICON-01 / HERO-* / CARD-01 | OK |
| R-88 | „Ab hier“-Zustandszeile (Scope u.a.) | statusline, scope-frame, …Kaï-Zustandszeile mit … Icon = kai-ava …, Checklisten-Text sagt noch „Icon = kai-ava“ — der Kanon wurde am 04.07. gedreht (System-Meldung ohne Kai, ⚙-Glyph); engine.js stateLine() rendert den Sysglyph und der Harness-Check R-88 macht einen Kai-Avatar an der Zeile ROT., R-89, Blasen-Breite: ruhiger Abschluss (Gegen-Ufer frei), dec, Kaï-Blase endet VOR der Du-Icon-Spalte (rechter Rand = Breite Gegen-Icon + Gutter frei); User-Blase gespiegelt (linker Rand frei). G1 bleibt: die Chat-ZONE ist volle Breite, nur einzelne Blasen bekommen am Gegen-Ufer den Rand. ZUSATZ (JC bestätigt): die ECKIGE obere Ecke der User-Bubble bleibt, SOLANGE der Chat zum Thread gehört (Anschluss an den Thread-Hintergrund, s. R-82); im Allgemein-Chat volle Rundung., JC 2026-07-02 · G1, R-119 Bubbles: A=B-Symmetrie (Fern/Nah gleich; ctx-Einzug symmetrisch), speaker-bubble | CUI-01A/B, SCOPE-01 / SCOPE-02, ICON-01 / HERO-* / CARD-01 | OK |
| R-90 | Zustandszeile GENERISCH (Dimensions-Katalog) | statusline | ICON-01 / HERO-* / CARD-01 | OK |
| R-91 | Quellen-/Beleg-Link an jeder Zahl/Aussage (GOLDENE REGEL) | source-link | BTN-02 / CUI-04, LNK-01 | OK |
| R-92 | Breite NUR als Schema-Daten (nie handgetipptes Markup) | alle | HERO-01, PAN-01 | OK |
| R-93 | Pipeline-Step = Sektions-Sprung mit Thread-Rückkehr-Garantie | stepper, zone-hero | HERO-01 / HERO-02 / HERO-03, HERO-02 / TPL-03, BTN-02 / CUI-04 | OK |
| R-94 | Aktions-Karten-Raster (universell) | approval-card, klaerung-card | CUI-02A/B / CUI-03A/B, BTN-02 / CUI-04, BTN-01 / CUI-03, PAN-01, CARD-01 / HERO-02, BTN-01 / BTN-02 | OK |
| R-95 | Composer-Entrümpelung: kein „Neue Konversation“ | composer, thread-context | CUI-03A/B, CUI-02A/B / CUI-03A/B, BTN-01 / BTN-02 | OK |
| R-96 | Reset trägt Rollover „archiviert, nicht gelöscht“ | composer | CUI-02A/B / CUI-03A/B | OK |
| R-97 | Panel-Kanon: 2 getrennte Aktionen, EIN Detail-Trigger | doc-steckbrief, source-link | PAN-01, LNK-01 | OK |
| R-98 | Kaï-Avatar-Gutter symmetrisch | kai-ava | CUI-01A/B | OK |
| R-99 | Collapse-Presence | collapsible-section | MOT-01..05 | OK |
| R-104 | Skelett: EINE Kaï-Eröffnungs-Bubble | speaker-bubble | CUI-01A/B | OK |
| R-106 | Status-Zähler im .kpi-block | kpi-block | HERO-01 | OK |
| R-108 | System-Nachricht ohne Bubble | statusline | SYS-01 | OK |
| R-115 | Interne Navigation = .ds-btn--nav | kai-action-buttons | BTN-01 / CUI-04, BTN-01 / BTN-02 | OK |
| R-116 | Badges kanonisch (nur .ds-axis V4) | axis-badges | PIL-01 | OK |
| R-119 | Bubble-Symmetrie A=B | speaker-bubble | CUI-01A/B | OK |
| R-120 | Geheimhaltung = EU-Flagge/Schloss | axis-badges, folder-tree | BTN-02 / CUI-04, PIL-01, NAV-02 | OK |
| R-125 | Detail-Öffner-Kanon | doc-steckbrief, approval-card | BTN-01 / CUI-03, PAN-01, CARD-01 / HERO-02 | OK |
| R-126 | Scope auf Höhe des Hero-Collapse | scope-frame, zone-hero | HERO-01 / HERO-02 / HERO-03, SCOPE-01 / SCOPE-02, BTN-02 / CUI-04 | OK |
| R-127 | Surface/Kontrast-Kanon | thread-context | CUI-03A/B | OK |
| R-128 | Spacing/Rhythmus und Langantwort-Typografie | type-scale, long-prose | TXT-01 / CUI-01A/B | OK |
| R-129 | Chat-Layout-Kanon | data-table, speaker-bubble | CUI-01A/B, NAV-02 / CUI-04 / TPL-02 | OK |
| R-130 | Sprecher-Gleichheit | kai-ava, statusline | CUI-01A/B | OK |
| R-131 | Zonen-Hintergrund-Kanon (3 Checks) | thread-context, composer | CUI-03A/B, CUI-02A/B / CUI-03A/B | OK |
| R-132 | Icon-Semantik | axis-badges, out-bar | BTN-02 / CUI-04, PIL-01, ICON-01 / HERO-* / CARD-01 | OK |
| R-135 | Kai-Prosa ohne Smileys/Gesten | long-prose | CUI-04, ICON-01 / HERO-* / CARD-01 | OK |
| R-142 | In-Thread-Composer nur bei leerem Thread | composer | CUI-02A/B / CUI-03A/B | OK |
| R-143 | Detail-Tiefe im Slide-over | doc-steckbrief | PAN-01 | OK |
| R-144 | Naming: kein Nav-Label ist Präfix eines anderen | nav-rail | NAV-01 / SC-01-02 | OK |
| R-146 | Out-Bar-Optik: ⚡ gestrichelt · 📚 durchgezogen | out-bar | BTN-02 / CUI-04, ICON-01 / HERO-* / CARD-01 | OK |
| R-147 | Kollaps-Chevron IMMER rechts | collapsible-section | PAN-01 | OK |
| R-148 | Transfer-Betrag neutral + ↔ | result-table | CUI-04 / TPL-05 | OK |
| R-159 | Prüf-Grep ungeprüft bis Positiv-Fall-Test | | OFFEN: keine sichtbare UX-Darstellung im Controls-Katalog | OFFEN |