- 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
59 lines
10 KiB
Markdown
59 lines
10 KiB
Markdown
# Review: Anwender-Doku, Index und ADRs
|
||
|
||
- Umfang: `src/content/docs/anwender/*.md` (11 Dateien), `src/content/docs/adr/*.md` (4 Dateien), `src/content/docs/index.mdx`.
|
||
- Datum: 2026-10-16. Gegenprüft mit `tibi-admin-nova` Commit `2b091d89` (existiert) und `frontend/src/lib/i18n/locales/de.json`.
|
||
- Positiv vorweg: alle 23 internen Links der Anwender-Seiten und alle 6 Karten-Links in `index.mdx` lösen auf existierende Seiten auf. Alle 30 Bilder sind je genau einmal referenziert, alle ≤ 200 KB, alle mit Alt-Text. Keine Babysprache („keine Angst" u. Ä.) gefunden; Du-Form durchgehend eingehalten (eine Ausnahme, siehe #14).
|
||
|
||
## Befund-Tabelle
|
||
|
||
| # | Datei:Zeile | Kategorie | Befund (kurz) | Vorschlag |
|
||
|---|-------------|-----------|---------------|-----------|
|
||
| 1 | orientierung.md:20 | MD-FEHLER | Alt-Text enthält Tippfehler „Brotkrumen"; UI-Begriff lautet „Navigationspfad" (`drawer.breadcrumb`, de.json:96). | Alt-Text: „Projektübersicht der Corporate Website mit Kopf, Navigationspfad und Sammlungen". |
|
||
| 2 | ki-nutzen.md:105 | MD-FEHLER | Redaktionelle Produktionsnotiz („KI-Antworten … simuliert … lief ohne sichtbares Banner durch") steht als Fließtext im Lesebereich. | Absatz entfernen oder in HTML-Kommentar wandern lassen; simulierte Stellen ersatzweise als Aside „Beispiel" kennzeichnen. |
|
||
| 3 | ki-nutzen.md:45-49 vs. :105 | FEHLER-INHALT | Schritte beschreiben Banner-Ablauf („Kontext wird zusammengefasst…" → „Kontext zusammengefasst"), Fußnote gibt zu, dass der Ablauf „ohne sichtbares Banner durchlief" und „Statusanzeigen simuliert" sind — das widerspricht dem „Geprüft an"-Vermerk. Strings selbst belegt (de.json:1028-1029). | Echte Screenshots aus Mock-Projekt aufnehmen; bis dahin Ablauf als „in der Regel" formulieren. |
|
||
| 4 | orientierung.md:58-71, hilfe.md:31 | UI-TEXT | Bereich heißt durchgehend „Schnellsuche"; UI-Name ist „Befehlspalette" (de.json:1207), Platzhalter „Befehl eingeben…" (de.json:1154). „Schnellsuche" kommt im Frontend-Code nirgends vor. | Überschrift und alle Erwähnungen in „Befehlspalette" umbenennen; „öffnet mit /" (CommandPalette.svelte:886) behalten. |
|
||
| 5 | medien.md:77 | UI-TEXT | „Bild auf Breite×Höhe verkleinert" setzt Wort-Platzhalter; Locale: „Bild auf {width}×{height} verkleinert" (de.json:79) bzw. „{count} Bilder auf {maxWidth}×{maxHeight} verkleinert" (de.json:534). | Konkretes Beispiel nennen, z. B. „Bild auf 1600×1200 verkleinert". |
|
||
| 6 | seiten-bauen.md:27 | UI-TEXT | „verfügst du über Lese-Recht" paraphrasiert; UI-Begriff ist „Nur-Lese-Modus" (de.json:1368) mit Hinweis „Du hast keine Berechtigung, diesen Eintrag zu bearbeiten." (de.json:1369). | „Nur-Lese-Modus" zitieren. |
|
||
| 7 | index.mdx:6 | TON | Tagline „wie man damit baut" nutzt man-Form (AGENTS §1 verlangt Du-Form). | „hier steht, wie du damit baust". |
|
||
| 8 | exportieren.md:24-34 | STARLIGHT | Formatwahl (CSV/XLSX/JSON) plus Array-Behandlung als Steps-Liste führt zu Fehlklicks ohne Vergleich. | `<Tabs>` mit je einem Tab pro Format (inkl. Aside-Hinweis aus :37-43 im JSON-Tab). |
|
||
| 9 | ki-nutzen.md:58-75 | STARLIGHT | Zwei aufeinanderfolgende `<Steps>`-Blöcke (Spracheingabe vs. Vorlesen) zum selben Thema. | `<Tabs>` „Eingabe" / „Ausgabe" statt zweier Steps-Blöcke. |
|
||
| 10 | seiten-bauen.md:89-109 | STARLIGHT | Zwei Viewport-Bilder plus Steps ohne Zuordnung Preset ↔ Bild. | `<Tabs>` Desktop (1280) / Tablet (768) / Mobil (375) mit je Bild; Werte belegt (PagebuilderViewportControl.svelte:22-29). |
|
||
| 11 | hilfe.md:10-73 | STRUKTUR | Doppelungen: Anmeldung (vgl. anmelden.md:27-41), Speichern blockiert (vgl. eintrag-bearbeiten.md:68-84), Bild fehlt (vgl. medien.md). | hilfe.md auf Verweisliste kürzen („Wenn X, siehe Y Schritt Z") statt Voll-Anleitungen zu wiederholen. |
|
||
| 12 | div. (anmelden:71, eintrag:86, lesen:101, orientierung:86, medien:93, ki:101 vs. benutzer-teams:66) | STRUKTUR | Sechs Seiten schließen mit identischem Satz und Linklabel [Mehr Details], benutzer-teams.md:66 nennt dasselbe Ziel [Admin-Konzept]. | Ein Label für `/admin/konzept/` festlegen (Vorschlag: „Admin-Konzept"). |
|
||
| 13 | hilfe.md (komplett), sichern.md:49-61, medien.md:77-79, eintrag-bearbeiten.md:40-43, lesen-suchen-filtern.md:75-84, ki-nutzen.md:27-39 | STRUKTUR | Beschriebene Schritte ohne Screenshot: hilfe.md (0 Bilder bei 5 Fällen), Wiederherstellungs-Dialog, Upload-Warteschlange/KI-Beschreibung, Durchsuchen/Auswählen-Fenster, Blättern-Fußzeile, Nova-Werkzeugliste. | Je Stelle einen Shot aus Mock-Projekt `corporate` aufnehmen (AGENTS §3). |
|
||
| 14 | (alle Anwender-Seiten) | LUECKE | Verlauf/Audit-Restore im Eintrag fehlt völlig. Beleg: EntryView.svelte:41-43,212-223 (AuditHistoryPanel, AuditRestoreDialog, AuditSidebarHistory); Locale `audit.history.button` „Verlauf" (de.json:1600), `audit.restore.*` (de.json:1615-1628). | Neue Seite „Verlauf ansehen und ältere Stände übernehmen". |
|
||
| 15 | (alle Anwender-Seiten) | LUECKE | Massenbearbeitung fehlt. Beleg: CollectionView.svelte:43,258-280 (BulkEditPanel); Locale `bulk.*` (de.json:1464-1540); Befehl „Massenbearbeitung" (de.json:1181). | Neue Seite „Mehrere Einträge gleichzeitig ändern oder löschen". |
|
||
| 16 | (alle Anwender-Seiten) | LUECKE | Aktionen fehlen. Beleg: ActionView.svelte; AdminLayout.svelte:114; Locale `actions.*` mit „Ausführen" (de.json:170-213). | Neue Seite „Aktionen starten und Ergebnisse prüfen". |
|
||
| 17 | orientierung.md:58-74 | LUECKE | Befehlspalette nur als Sprungziel beschrieben; Befehle (Filter zurücksetzen, Ansicht umschalten, Sprache, siehe de.json:1153-1224) und Tastenkürzel fehlen. | Neue Seite „Befehlspalette und Tastenkürzel" (öffnet mit `/`, CommandPalette.svelte:886). |
|
||
| 18 | anmelden.md:55-65 | LUECKE | Nur harter Auto-Logout beschrieben; vorgeschalteter Warn-Dialog „Sitzung läuft ab" mit „Angemeldet bleiben"/„Jetzt abmelden" fehlt. Beleg: SessionTimeoutWarning.svelte:100-151; de.json:1439-1443. | Schritt „Warnung → Angemeldet bleiben klicken" in „Automatisches Sitzungsende" ergänzen. |
|
||
| 19 | sichern.md:10-47 | LUECKE | Nur Ansehen beschrieben; Erstellen fehlt, Backup fehlt ganz. Beleg: SnapshotView.svelte:756 (`btnTrigger` „Snapshot erstellen"); App.svelte:96 (backup-view), BackupView.svelte; Locale `backup.*` (de.json:217-285). | Seite erweitern oder neue Seite „Snapshot erstellen und Backup herunterladen". |
|
||
| 20 | exportieren.md:24-43 | LUECKE | Eigene (vordefinierte) Exporte unerwähnt. Beleg: ExportDialog.svelte:103-106 (customExports aus `collection.meta.exports`); Locale `export.custom*` (de.json:1564-1569). | Abschnitt „Vordefinierte Exporte nutzen" ergänzen. |
|
||
| 21 | benutzer-teams.md:62-64 | LUECKE | Stellvertretung erwähnt Rückkehr nicht. Beleg: `impersonationBanner.stop` „Zurück zur Administration" (de.json:898). | Satz ergänzen: „Der Support kehrt über ‚Zurück zur Administration' zurück." |
|
||
| 22 | adr/0000-vorlage.md:6-11 | ADR | Vorlage kennt kein Status-Feld; ADR 0001-0003 haben entsprechend keinen Status („angenommen"/„umgesetzt"). | Vorlage um `- **Status:**` ergänzen, bestehende ADRs nachtragen. |
|
||
| 23 | anwender/*.md (11× Fußzeile) | ADR | „Geprüft an 2b091d89 (tibi-admin-nova)" weicht von ADR-Norm „Verifiziert am \<Commit> \<Datum>" (0002:8, 0003:8) und allen `server/*.md` (z. B. konfiguration.md:140) ab — Datum fehlt. | Fußzeile angleichen: „Verifiziert am 2b091d89 2026-10-16 (tibi-admin-nova)". |
|
||
| 24 | (keine Datei) | ADR | Fehlende ADRs: (a) Bereichsarchitektur der Doku (7 Bereiche aus AGENTS §2 nirgends begründet); (b) Sync-Regel (AGENTS §4: `npm run sync`, Artefakte committen — kein ADR). Screenshot-Regel steht in 0003:8. | Zwei kurze ADRs 0004 (Bereiche) und 0005 (Sync) anlegen. |
|
||
| 25 | adr/0003-selbstlaeufer.md:8 | ADR | „57 Seiten, Stand 2026-10-16" ist überholt: aktuell 61 md/mdx-Dateien unter `src/content/docs`. | Zahl aktualisieren oder Zählung streichen. |
|
||
|
||
## Bild-Abgleich
|
||
|
||
- Referenziert (je genau einmal, alle mit Alt-Text, alle ≤ 78 KB): anmelden-abmelden, anmelden-login, benutzer-profil, benutzer-teams, eintrag-formular, eintrag-gespeichert, eintrag-neu, export-dialog, export-fertig, ki-chat, ki-stimme, ki-zusammenfassen, lesen-filter, lesen-karten, lesen-liste, lesen-suche, medien-editor, medien-raster, medien-upload, orientierung-projektwechsel, orientierung-schnellsuche, orientierung-start, seiten-bloecke, seiten-overlay, seiten-pagebuilder, seiten-viewport-mobil, seiten-viewport-tablet, sichern-details, sichern-statistik, sichern-uebersicht (alle `.webp` unter `src/assets/anwender/`).
|
||
- Verwaist: keine.
|
||
- Doppelt referenziert: keine.
|
||
- Keine Referenz von außerhalb `anwender/` (geprüft per grep über alle docs).
|
||
|
||
## Fehlende Anwender-Seiten
|
||
|
||
1. „Verlauf ansehen und ältere Stände übernehmen" — Beleg: EntryView.svelte:41-43,212-223; de.json:1597-1628.
|
||
2. „Mehrere Einträge gleichzeitig ändern oder löschen" — Beleg: CollectionView.svelte:43,258-280 (BulkEditPanel); de.json:1464-1540.
|
||
3. „Aktionen starten und Ergebnisse prüfen" — Beleg: ActionView.svelte; AdminLayout.svelte:114; de.json:170-213.
|
||
4. „Befehlspalette und Tastenkürzel" — Beleg: CommandPalette.svelte:882-894; de.json:1153-1224,1250-1270.
|
||
5. „Snapshot erstellen und Backup herunterladen" (oder sichern.md erweitern) — Beleg: SnapshotView.svelte:756; App.svelte:96; BackupView.svelte; de.json:217-386.
|
||
|
||
## Unsichere Punkte
|
||
|
||
- eintrag-bearbeiten.md:77 „Pflichtfelder … mit Stern markiert": Stern-Markierung im Frontend-Code nicht gefunden (Validierungs-Strings „Pflichtfeld"/„Dieses Feld ist erforderlich" belegt, de.json:1323,1409). Bitte am UI verifizieren.
|
||
- anmelden.md:40 „höchstens drei Versuche": kein Limit in LoginPage.svelte gefunden; Backend nicht geprüft. Entweder Backend-Beleg nachliefern oder als unverbindliche Empfehlung umformulieren.
|
||
- sichern.md:51-64: Ob Anwender ohne Admin-Rolle den Button „Wiederherstellung starten" überhaupt sehen (Berechtigungs-Gate), ist ungeprüft. Falls nein, ist die Seite für Anwender irreführend.
|
||
- ki-nutzen.md:49 „Token-Status unter Kontext-Auslastung": beide Strings belegt (AiChat.svelte:2329,2352), Schachtelung am UI nicht verifiziert.
|
||
- Bindestrich in „Sitzung abgelaufen – bitte neu anmelden" (anmelden.md:57) nur visuell mit Locale (de.json:1438) verglichen, nicht byte-geprüft.
|