Files
tibi-docs/plans/audit/05-review-admin-reference.md
T
apairon 1928922e07 Audit + Umbau: Faktenfehler behoben, Server-/Admin-Lücken geschlossen, 49 Screenshots, Schema-Matrix generiert
- Audit: plans/doku-audit.md (Befunde, Phasen P1-P9, Ausführungsprotokoll) + plans/audit/ (8 Detailreports) + plans/offene-issues.md
- Werkzeuge: scripts/audit-docs.mjs (Links/Anker/Bilder/Tabellen), scripts/gen-schema-matrix.mjs (npm run gen:schemas)
- Neue Seiten: projekt/feld-rechte, reference/rest-system, reference/schema-properties, projekt/tests, 5 Anwender-Seiten
- Fehler behoben: EMBEDDING_BGE_M3_*-Env, allowSnapshots, MCP-Scopes (.read/.create/.update), meta.views, loadAll-Signatur, OpenAPI-Endpunkt, MongoDB 8, Befehlspalette
- Screenshots: 9 Admin + 10 Anwender aus Mock-Projekt corporate (t1 entfernt), 49 Bilder gesamt
- AGENTS.md: Sync-Behauptung richtiggestellt, Belegpflicht/UI-Namen/Screenshot-Regeln, Werkzeug-Abschnitt
- Build: 71 Seiten grün, 0 tote Links, 0 kaputte Tabellen
2026-10-17 01:49:35 +00:00

56 lines
8.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Audit: Admin- und Referenz-Doku
- Umfang: `src/content/docs/admin/*.md` (10 Dateien, 920 Zeilen) und `src/content/docs/reference/*.md` (11 Dateien, 1434 Zeilen), jeweils vollständig gelesen.
- Datum: 2026-10-16. Code-Stand: tibi-admin-nova `2b091d89`, tibi-server `68b42785`, tibi-types `4c55f82` (aus den `Verifiziert`-Zeilen).
- Belege: `frontend/src/lib/i18n/locales/de.json` (1456 Schlüssel), `frontend/assets/system.config.json`, `config/ai-proxy.config.json`, `frontend/src/lib/**`, `tibi-server/internal/**`, `tibi-types/schemas/config/` (16 Dateien, Angabe in `schemas.md` stimmt).
- Alle internen Links (`/admin/*`, `/projekt/*`, `/reference/*`, `/anwender/anmelden/`) lösen auf existierende Dateien auf. Alle Codeblöcke sind balanciert. Keine Datei überschreitet 500 Zeilen (Maximum: `hooks-daten.md` mit 413).
## Befunde
| # | Datei:Zeile | Kategorie | Befund (kurz) | Vorschlag |
|---|---|---|---|---|
| 1 | `reference/openapi.md:1-5` | PLATZHALTER | Datei hat nur 5 Zeilen, kein `description`-Frontmatter, Inhalt nur „Stand: Platzhalter“. | `npm run sync:openapi` ausführen oder Seite bis dahin aus der Sidebar nehmen. |
| 2 | `reference/hook-kontexte.md:63-69` | PLATZHALTER | Abschnitt „Fehlende oder veraltete Einträge melden“ mit „Die Hülle nannte nur …“ ist Aufbau-Rückstand, kein Nutzer-Inhalt. | Abschnitt streichen; Rest als normale Einleitung („24 Pakete, Stand …“) formulieren. |
| 3 | `admin/ki-funktionen.md:91` | UI-TEXT | `open_collection_record` wird mit Anzeige „(Datensatz öffnen)“ zitiert, aber weder `de.json` (`admin.ai.tools.*`, 56 Schlüssel geprüft) noch `frontend/src/lib` kennen „Datensatz öffnen“. | Label im Code ergänzen oder Doku auf Tool-Namen zurückstufen wie bei `toggle_sidebar`/`drill_navigate`. |
| 4 | `admin/aktionen.md:54` + `admin/ki-funktionen.md:23` | UI-TEXT | „Kurzfassung“ als UI-Name zitiert; `de.json` kennt für `outputSummary` aber „Zusammenfassung“, „Kurzfassung“ kommt in `de.json` und `frontend/src/lib` nicht vor. | Auf „Zusammenfassung“ korrigieren oder Code-Beleg nachliefern. |
| 5 | `admin/aktionen.md:56` | UI-TEXT | Fallback-Text „keine Ausgabefelder“ in Anführungszeichen, aber weder in `de.json` noch in `frontend/src/lib` gefunden. | Exakten Code-String übernehmen oder als Beschreibung (ohne Anführungszeichen) formulieren. |
| 6 | `admin/benutzer-rechte.md:16` | UI-TEXT | „60-Sekunden-Countdown“ fett als UI-Name; Dauer 60 s stimmt (`SessionTimeoutWarning.svelte:18` `COUNTDOWN_SECONDS = 60`), aber die Zeichenkette steht nicht in `de.json`. | Fettung entfernen, beschreibend formulieren („… warnt dich 60 Sekunden vorher …“). |
| 7 | `reference/tastatur-kurzbefehle.md:39` + `admin/ki-funktionen.md:99-101` | MD-FEHLER | Gemischte Anführungszeichen: „Eintrag speichern", „Theme wechseln", „Sprache wechseln", „UI erklären" u. a. schließen mit `"` statt `"`. | Durchgehend deutsche Zeichen („…") verwenden. |
| 8 | 9 Dateien (s. Liste unten) | MD-FEHLER | Ungenutzte Starlight-Importe (nie als Komponente verwendet). | Importzeilen bereinigen. |
| 9 | `admin/benutzer-rechte.md:57` | STIL | „Platzhalter-Beispiel: `pages, media`“ — inhaltsleeres Beispiel in einer Handseite. | Reales Beispiel aus der Projekt-Meta oder streichen. |
| 10 | `reference/tastatur-kurzbefehle.md:8` | STIL | „Du musst die Maus nicht anfassen“ — flapsig, passt nicht zum sachlichen Ton aus AGENTS §1. | Streichen oder sachlich („Alle Funktionen sind per Tastatur erreichbar“). |
| 11 | `admin/ki-funktionen.md:87-101` | STRUKTUR | Eine Tabelle mit 62 Werkzeugen ist als Nachschlagewerk kaum lesbar. | Pro Gruppe eine eigene kleine Tabelle unter Zwischenüberschriften; Einleitungssatz „Labels wörtlich aus `de.json`“ einschränken (6 Tools haben dort keinen Eintrag: `open_collection_record`, `toggle_sidebar`, `open_field_search`, `drill_navigate`, `get_collection_records`, `get_collection_schema`). |
| 12 | `admin/customizing.md:23-30` ↔ `admin/eintrags-editor.md:29-43` ↔ `projekt/felder-widgets.md` | STRUKTUR | Widget-Liste steht an drei Stellen (zwei Widget-Tabellen im Admin plus Feldtypen im Projekt). | Eine kanonische Tabelle (Projekt-Seite), Admin-Seiten verlinken nur. |
| 13 | `admin/ansichten-listen.md:69-73` + `admin/eintrags-editor.md:77-92` ↔ `reference/tastatur-kurzbefehle.md` | STRUKTUR | Tastaturkürzel doppelt gepflegt (Listen-/Editor-Seiten und Referenz). | Auf den Referenz-Seiten nur die seitenrelevanten Kürzel behalten, Rest verlinken. |
| 14 | `admin/*` → `anwender/*` | STRUKTUR | Keine Admin-Seite verlinkt die Anwender-Anleitungen (nur `konzept.md` erwähnt den Bereich). | Je Seite einen Satz mit Link auf das passende Anwender-Pendant (z. B. Editor → `anwender/eintrag-bearbeiten/`). |
| 15 | `admin/ki-funktionen.md:30` | STARLIGHT | Dichte Kennzahlen-Prosa („grün < 40 %, gelb < 70 % …“) als Fließtext. | Als Tabelle (Schwelle → Farbe) oder `Badge`-Legende darstellen. |
| 16 | `admin/konzept.md:1-36` | STRUKTUR | Nur 36 Zeilen, reiner Hub ohne eigenen Inhalt — für die Zielgruppe (Admin einrichten/anpassen) ohne Mehrwert über die Links hinaus. | Entweder ausbauen (Betriebsmodell: SPA, Mock, Reverse Proxy in 2–3 Sätzen) oder mit `setup.md` zusammenführen. |
| 17 | `admin/aktionen.md:45` | PRUEFEN | Route `POST /api/v1/<namespace>/_actions/<name>` nicht gegen `action_handler.go` geprüft. | Pfad und `?method=`-Parameter am Code verifizieren. |
| 18 | `admin/benutzer-rechte.md:25` | PRUEFEN | „Passwort (min. 6 Zeichen, doppelt bestätigt)“ nicht gegen `UserTab`/`UserDetailDrawer` geprüft. | Mindestlänge und Doppelbestätigung am Code belegen. |
| 19 | `reference/token-koepfe.md:29` | PRUEFEN | „Groß-/Kleinschreibung egal“ beim `Token`-Header nicht gegen `permission.go`/Header-Auswertung geprüft. | Am Code belegen oder streichen. |
| 20 | `admin/ki-funktionen.md:60-63` | PRUEFEN | STT-Details (Proxy-Modell `large-v3-turbo`, 3 s Stille, Schnipsel < ~1 KB) nur gegen `system.config.json` (Endpunkt `/api/ai/transcribe` stimmt) geprüft, nicht gegen `aiVoiceInput.ts` und `ai-proxy.config.json`. | Modellnamen und Schwellen am Code belegen. |
| 21 | `admin/setup.md:39-43` | PRUEFEN | Ports (3000/8080) und Profile (`tibi`/`tibi-dev`) nur gegen `Makefile` (Targets existieren) geprüft, nicht gegen `docker-compose-local.yml`/`.env`. | Ports und Profilnamen an Compose-Datei belegen. |
Ungenutzte Importe zu Nr. 8: `aktionen.md` (`Card`, `CardGrid`, `FileTree`), `ansichten-listen.md` (`Steps`, `Card`, `CardGrid`), `benutzer-rechte.md` (`Card`, `CardGrid`, `FileTree`), `customizing.md` (`Steps`, `Card`, `CardGrid`, `Badge`, `FileTree`), `eintrags-editor.md` (`Card`, `CardGrid`, `Badge`), `exporte.md` (`Tabs`, `TabItem`, `Card`, `CardGrid`, `Badge`), `ki-funktionen.md` (`Card`, `CardGrid`, `Badge`, `FileTree`), `medien.md` (`Aside`, `Card`, `CardGrid`, `Badge`), `setup.md` (`Card`, `CardGrid`, `Badge`, `FileTree`).
## Fehlende Screenshots je Admin-Seite
Alle 9 Handseiten außer `konzept.md` enthalten einen `Screenshot-Platzhalter (T-SHOTS)`; keine Seite hat bisher ein Bild unter `src/assets/`:
- `aktionen.md:29` — Action-Ansicht mit Methoden-Reitern, Eingabeformular und Ausführen-Knopf.
- `ansichten-listen.md:103` — Listenansicht mit Suchfeld, Filter-Popover und Paginierung.
- `benutzer-rechte.md:103` — Hub mit Benutzerliste und Detail-Drawer inkl. Rollen-Badge und Chips.
- `customizing.md:87` — Angepasste Listenansicht mit Spaltenwahl und eigenem Export-Reiter.
- `eintrags-editor.md:103` — Editor mit Formular, Seitenleiste und Übersetzungsleiste.
- `exporte.md:83` — Export-Dialog mit Formatwahl und Spaltenliste.
- `ki-funktionen.md:132` — Geöffneter KI-Chat mit Werkzeugstatus und Mikro-Knopf.
- `medien.md:81` — Medienraster mit Warteschlange und Bildeditor-Dialog.
- `setup.md:83` — Frisch gestarteter Admin mit Projektliste nach Login.
## Unsichere Punkte
- Nr. 17–21 oben (mit `PRUEFEN` markiert): jeweils Doku-Zitat gegen noch nicht gelesene Code-Stelle prüfen.
- Tastatur-Seite Zeile 57–61: Die Behauptung, die Overlay-Zeile `u` habe „keinen passenden Text in der Sprachdatei (Schlüssel `toggleUsers` fehlt) und keinen eigenen Handler“, ist plausibel, wurde aber nicht gegen `shortcuts.ts`/`KeyboardShortcuts.svelte` verifiziert.
- `fehlercodes.md` und `hooks-*.md` zitieren Fehler-Strings mit Datei- und Zeilenangaben aus `tibi-server`; stichprobenhaft bestätigt (`reponse.header`-Tippfehler in `context_response.go:29`, Legacy-Default in `http_status.go`, 16 Schema-Dateien), aber nicht jede einzelne Zeilennummer nachgeprüft — Zeilenangaben driften bei Code-Änderungen schnell.
- Positiv: keine `man`-Form gefunden, Umlaute durchgehend korrekt, alle Frontmatter (außer `openapi.md`) mit Titel und Beschreibung, keine toten internen Links.