Alle verbindlichen UX-Regeln an einem Ort. 🔵 = „technischer Belang" (Verhalten, das im Mockup oft übersehen wird) · 🟢 = JC-Decision · 🛡 = Guard (läuft, mechanisch erzwungen) · 🧠 = manual (Mensch prüft, Ziel-Zeiger im Eintrag). Jede Regel: Quelle + Soll-Komponente. Beim Shell-Bau hakt AGENT-UX#02 ab, JC prüft die Häkchen statt jeden Screen. Detail je Regel → Chatbot-UX-Bibel · UX-Index.
08_OPS/check_register_completeness.py:
check_register_completeness.py). Der PR-Stand vom 17.07. sagte „R-01…R-158 (88)" und war beim Merge veraltet — master hatte zwischenzeitlich R-159/R-160/R-168 nachgetragen. ⚠️ Die Zahl hängt an ihrem Messwerkzeug (R-151): check_rule_sources.py meldet 106, weil es auch die nicht-numerischen IDs (R-V4-*, GB-*, G*, JC-R2) mitzählt. Wer eine Regelzahl nennt, nennt das Skript dazu. Inkl. der 23 zuvor unsichtbaren 🛡-Guards (E2: engine.js-Lücke 23→0) und der Denk-/Prozess-Regeln R-149…R-158.U0…U10 (Bau-Regeln, SSOT `SCREEN_COMPOSER_SKILL.md` Gate E) · R-V4-01…21 (V4-Screen-Register, SSOT design02 `V4_SCREEN_REGISTER`). Gemessene Lücke 09.08.: 32 Regeln ausserhalb des Registers (Composer-Skill 9 · R-V4 19 · KANON#01-CI-Guards 4) — Abbau läuft über die Umsetzungs-Welle, der Ratchet lässt keine neue Lücke zu.C1–C17 + G-1/2/3 — vom Skript als UNGEMESSEN geführt (nicht 0 geraten): sie leben in commit-spezifischen Regressions-Skripten auf claude/optimistic-williams-3176b8, nicht als zählbare Liste. Formale ID-Liste via Lane-Runde. Alles andere gemessen.check_rule_sources.py-Guard macht CI ROT, sobald eine Quelle divergiert.