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
This commit is contained in:
apairon committed 2026-10-17 01:49:35 +00:00
1 parent 1897bb50d9
commit 1928922e07
104 files changed
+4756 -1044

No files matched your search

+106
View File
@@ -0,0 +1,106 @@
# Audit 04 — Alt-Doku-Inventar vs. tibi-docs (zentrale Doku)
> Audit-Agent, nichts geändert/gelöscht. Stand: 2026-10-16.
> Kernbefund: `tibi-docs` wurde per Commit `06c8363` („Neuaufbau: Inhalte bis auf Einstieg entfernt") neu aufgebaut —
> die 24 englischen Server-Docs + 3 Nova-Docs liegen **nicht** als Sync-Artefakte in `tibi-docs` (git-ls-files zeigt nur je 5/10 Handseiten).
> `scripts/sync-server-docs.mjs` + `AGENTS.md` („server/ = SYNC") beschreiben einen Sync, dessen Ergebnis nicht (mehr) im Repo steht —
> ein Lauf würde 24+3 Dateien als verwaiste Seiten (kein Sidebar-Eintrag in `astro.config.mjs`) einspielen.
## 1) Datei-Inventar
### A. `tibi-server/docs/` — alle 24 Dateien einzeln
| Pfad | Inhalt (1 Zeile) | Ziel in tibi-docs | Bewertung | Begründung |
|---|---|---|---|---|
| `tibi-server/docs/01-architecture.md` (257 Z.) | Architektur-Überblick (Go, Module) | `server/uebersicht.md` | behalten-intern | Core-Referenz für Server-Entwicklung; tibi-docs nur Nutzer-Sicht |
| `tibi-server/docs/02-configuration.md` (705 Z.) | Server-Konfiguration (Env, YAML) | `server/konfiguration.md` | behalten-intern | Vollreferenz (705 Z.) vs. Handseite; Quelle-der-Wahrheit für Core |
| `tibi-server/docs/03-api-endpoints.md` (2406 Z.) | REST-Routen-Referenz, englisch | `server/schnittstellen.md` + `projekt/abfragen-lesen.md` | behalten-intern | Größte Datei; tibi-docs fasst nutzerorientiert zusammen, ersetzt keine Referenz |
| `tibi-server/docs/04-collections.md` (1745 Z.) | Collection-System im Detail | `projekt/sammlungen-anlegen.md`, `projekt/felder-widgets.md` | behalten-intern | Detailtiefe (1745 Z.) bleibt Core-Referenz |
| `tibi-server/docs/05-authentication.md` (602 Z.) | Auth (Login, JWT, Tokens, Impersonation) | `server/sicherheit.md` + `projekt/rechte-tokens.md` | behalten-intern | stimmen überein (`POST /api/v1/login`, Impersonation); Detail bleibt hier |
| `tibi-server/docs/06-hooks.md` (1717 Z.) | JS-Hook-Laufzeit, alle Stufen | `projekt/hooks-schreiben.md` + `reference/hook-kontexte.md` | behalten-intern | 1717 Z. Vollreferenz; tibi-docs deckt 24 Kontexte + Signaturen ab, aber kein Ersatz |
| `tibi-server/docs/07-realtime.md` (186 Z.) | SSE Pub/Sub-Channels | `server/schnittstellen.md` (Realtime-Abschnitt) | behalten-intern | kurze Referenz, intern weiter nötig |
| `tibi-server/docs/08-file-upload-images.md` (288 Z.) | Uploads + Bildfilter | `projekt/dateien-bilder.md` | behalten-intern | Core-Referenz |
| `tibi-server/docs/09-llm-integration.md` (256 Z.) | LLM-Chat-API, Budgets | `projekt/llm-nutzen.md` | behalten-intern | tibi-docs-Seite war lt. `plans/doku-ausbau.md` „Hülle" — prüfen vor Wegfall-Urteil |
| `tibi-server/docs/10-audit.md` (273 Z.) | Audit-Log (TTL, Lesen) | `projekt/audit-backup.md` | behalten-intern | Core-Referenz |
| `tibi-server/docs/11-jobs.md` (150 Z.) | Cron-Jobs | `projekt/jobs-actions.md` | behalten-intern | kurz, kein Löschgrund (Single Source) |
| `tibi-server/docs/12-deployment.md` (148 Z.) | Deployment | `projekt/deploy.md` + `server/betrieb.md` | behalten-intern | kurz, Core-Sicht |
| `tibi-server/docs/13-openapi-metrics.md` (147 Z.) | OpenAPI + Prometheus | `reference/openapi.md` + `server/betrieb.md` | behalten-intern | kurz, Core-Sicht |
| `tibi-server/docs/14-security.md` (632 Z.) | Security-Audit (englisch) | `server/sicherheit.md` | behalten-intern | Audit-Charakter (632 Z.), nicht nutzerrelevant 1:1 |
| `tibi-server/docs/15-troubleshooting.md` (228 Z.) | Troubleshooting/FAQ | `reference/fehlercodes.md` + `anwender/hilfe.md` | behalten-intern | Core-Fehlersuche vs. Anwender-Hilfe |
| `tibi-server/docs/16-cookbook.md` (682 Z.) | Collection-Config-Rezepte | `projekt/sammlungen-anlegen.md` | behalten-intern | Rezeptsammlung für Core-/Power-User |
| `tibi-server/docs/17-field-level-permissions.md` (546 Z.) | Feld-Rechte im Detail | `projekt/rechte-tokens.md` | behalten-intern | Detailreferenz |
| `tibi-server/docs/18-orgs-teams.md` (716 Z.) | Orgs & Teams | `admin/benutzer-rechte.md` + `anwender/benutzer-teams.md` | behalten-intern | 716 Z. Modell-Referenz vs. Bedienungs-Seiten |
| `tibi-server/docs/19-actions.md` (311 Z.) | Actions | `projekt/jobs-actions.md` + `admin/aktionen.md` | behalten-intern | Core-Referenz |
| `tibi-server/docs/20-referenced-read-safety.md` (70 Z.) | GET-Sichtbarkeits-Sicherheitsregel | `server/sicherheit.md` (unklar ob abgedeckt) | behalten-intern | Sicherheitsregel für Core-Entwicklung, 70 Z. |
| `tibi-server/docs/21-backup-restore.md` (530 Z.) | Backup/Restore | `projekt/audit-backup.md` | behalten-intern | inkl. Snapshots-Plan-Kontext; Core-Referenz |
| `tibi-server/docs/22-personal-access-tokens.md` (291 Z.) | Personal Access Tokens, Scopes | `projekt/rechte-tokens.md` + `reference/token-koepfe.md` | behalten-intern | Scope-Modell-Referenz |
| `tibi-server/docs/23-mcp.md` (152 Z.) | MCP-Server (Routen, Env) | `projekt/mcp-nutzen.md` (+ `server/schnittstellen.md`) | behalten-intern | **Widerspruch** zu tibi-docs, siehe §4 |
| `tibi-server/docs/24-ephemeral-rest-tokens.md` (71 Z.) | Ephemere REST-Tokens, Status PLAN | `reference/token-koepfe.md` (unklar ob abgedeckt) | behalten-intern | Plan-Status, nicht implementiert — nicht löschen, als Plan kennzeichnen |
Fazit A: **0 Wegfall-Kandidaten** in `tibi-server/docs/`. Alle 24 = englische Core-Referenz (Single Source); tibi-docs ist deutsche Nutzer-Doku, kein Ersatz.
### B. `tibi-admin-nova/docs/` — alle Dateien einzeln
| Pfad | Inhalt (1 Zeile) | Ziel in tibi-docs | Bewertung | Begründung |
|---|---|---|---|---|
| `tibi-admin-nova/docs/collection-config.md` (2293 Z.) | Collection-Config-Referenz (größte Nova-Datei) | `admin/*` + `projekt/sammlungen-anlegen.md` | behalten-intern | Vollreferenz; von tibi-docs-T-ADMIN-SO als Quelle genutzt, nicht ersetzt |
| `tibi-admin-nova/docs/collection-export.md` (327 Z.) | CSV/XLSX/JSON-Export aus Listen | `admin/exporte.md` + `anwender/exportieren.md` | behalten-intern | Detail (u. a. `qm`-Param); tibi-docs fasst zusammen |
| `tibi-admin-nova/docs/custom-export-script.md` (117 Z.) | Custom-Export-Skripte (`collection.meta.exports`) | `admin/exporte.md` | behalten-intern | API-Detail (`db.loadAll`/`ctx.xlsx`); T-ADMIN-A-SO belegt Nutzung als Quelle |
| `tibi-admin-nova/docs/test-plans/` (19 Dateien, Nrn. 02,05,07,11,16,17,25,27,34–44) | Manuelle UI-Testpläne (Navigation, Editor, Upload, i18n, Pagebuilder, Backup …) | `admin/*` als Quelle, kein 1:1-Ziel | behalten-intern | Test-Artefakte, keine Nutzer-Doku; T-ADMIN-B-SO verlinkt Test-Pläne 40/42 |
### C. Zusammengefasst je Verzeichnis
| Verzeichnis | Inhalt | Ziel in tibi-docs | Bewertung | Begründung |
|---|---|---|---|---|
| `tibi-server/README.md` | Feature-Matrix + Tech Stack (englisch) | `server/uebersicht.md` | behalten-öffentlich | Repo-Einstieg; kein tibi-docs-Ersatz |
| `tibi-server/design/` (2 Dateien: `snapshot-plan.md`, `snapshot-review-2026-06-28.md`) | Snapshot-Architekturplan + Review | `projekt/audit-backup.md` (Ergebnis, nicht Plan) | behalten-intern | Architektur-Referenz für Core-Entwicklung |
| `tibi-server/examples/` (`mcp/curl.sh`, `testproject/*`, `testproject2/collections/*.yml`) | Lauffähige Beispiel-Configs/Skripte | keines (Code, keine Doku) | behalten-intern | Test-/Beispiel-Artefakte |
| `tibi-server/plans/` (22 Dateien: ISSUES, Backup-, MCP-, Impersonation-, Org/Team-Pläne …) | Arbeitspläne Core-Entwicklung | keines | behalten-intern | aktive/historische Arbeitspläne |
| `tibi-admin-nova/README.md` | Setup-Anleitung Nova (git-lfs, yarn) | `admin/setup.md` | behalten-intern | Entwickler-Setup des Admin-Repos |
| `tibi-admin-nova/frontend/docs/*.pdf` (4 Dateien, je 1 Seite, <1,5 KB) | `brand-guidelines`, `design-specs`, `media-kit-2026`, `validation-report` | keines bekannt | unklar | Winzig-Platzhalter-PDFs — Inhalt ungeprüft; Ersteller fragen |
| `tibi-admin-nova/plans/{open,in-progress,closed}/` (26 Dateien) | Feature-Arbeitspläne (Actions, Pagebuilder, Import/Export, Voice …) | keines | behalten-intern | Arbeitspläne, keine Doku |
| `tibi-admin-nova/plans/test-plans/{open,closed,…}` (~40 Dateien) | Manuelle Testpläne aller UI-Bereiche | als Quelle für `admin/*`, `anwender/*` | behalten-intern | Test-Artefakte; T-ADMIN-B-SO verlinkt 40/42 |
| `tibi-svelte-starter/README.md` | Starter-Setup-Checkliste + SSR-Architektur | `einstieg/neues-projekt.md`, `projekt/ssr-website.md` | behalten-öffentlich | Repo-Einstieg des Templates; als Eigen-Datei nötig |
| `tibi-svelte-starter/AGENTS.md` | Token-Header-Regel, Medialib-URL-Pattern, Constraints | `reference/token-koepfe.md` (Header), `projekt/*` (teils) | behalten-intern | Arbeitsanweisung für Agenten im Starter-Repo |
| `tibi-docs-legacy/docs/` (`begriff.md`, `probleme.md`, `servergrundlagen`, `restapi`, `tibiAI`, `server-javascript-kontext` …) | Alte deutsche TibiCMS-Doku (Docpress-Ära) | `einstieg/begriffe.md` u. a. (unklar, Volltext-Abgleich fehlt) | unklar | historisch; vor Löschung Volltext-Abgleich gegen tibi-docs nötig |
| `tibi-starter/docs/` (docpress.json, md/, …) | offenbar weitere Legacy-Doku-Kopie | keines geprüft | unklar | nur oberflächlich geprüft — Inventar fehlt |
## 2) Wegfall-Kandidaten (konkret)
**Keine Datei erfüllt „kann weg, weil in tibi-docs abgedeckt".** Zählung: **0 Wegfall-Kandidaten, 27 Muss-bleiben-Dateien** (24 + 3).
Stattdessen wegfall-/reparaturbedürftig auf Meta-Ebene:
1. `tibi-docs/scripts/sync-server-docs.mjs` — Sync-Ziel (`server/01–24*.md`, `admin/collection-*.md`) steht nicht im Repo und nicht in der Sidebar (`astro.config.mjs` listet nur 5/10 Handseiten). Entweder reaktivieren (mit Sidebar-`autogenerate` + Linkpflege) oder Skript + AGENTS.md-Sync-Abschnitt als veraltet kennzeichnen. Ungenutzter Code mit falscher Doku-Behauptung.
2. `tibi-docs/AGENTS.md` §2-Tabelle („server/ = SYNC — nicht von Hand editieren") + §4-Sync-Workflow — widersprechen dem tatsächlichen Neubau-Stand (nur Handseiten, `git log 06c8363`). Korrektur fällig, kein Datei-Wegfall.
3. `tibi-docs-legacy/`, `tibi-starter/docs/`, `tibi-docs-kaputt/` — nach Volltext-Abgleich (siehe §5) Löschkandidaten auf **Repo-Ebene**, nicht Datei-Ebene.
Sync-Abhängigkeit: nichts in `tibi-server/docs/` oder `tibi-admin-nova/docs/` darf gelöscht werden, **weil** das Sync-Skript genau diese Pfade als Quelle liest (`serverSrc`, `novaSrc` in `sync-server-docs.mjs:14–15`); Löschen dort bräche einen evtl. reaktivierten Sync.
## 3) Muss bleiben (Begründung)
- `tibi-server/docs/01–24` (alle): einzige vollständige englische Core-Referenz + Single Source für Reaktivierung des Syncs.
- `tibi-admin-nova/docs/*.md` (3): Config-/Export-Referenz, von tibi-docs-Autoren als Quelle benutzt (Second Opinions in `plans/doku-ausbau.md`).
- `tibi-admin-nova/docs/test-plans/` + `plans/test-plans/`: manuelle Testpläne, keine Nutzer-Doku, weiter als Test-Artefakte nötig.
- `tibi-admin-nova/plans/` + `tibi-server/plans/` + `tibi-server/design/`: Arbeits-/Architekturpläne der Core-Entwicklung.
- `tibi-server/examples/`, READMEs, `tibi-svelte-starter/{README,AGENTS}.md`: Repo-Einstiege + Agenten-Arbeitsanweisungen.
## 4) Dubletten/Widersprüche
1. **MCP-Route konfigurierbar vs. fest.** `tibi-server/docs/23-mcp.md:42,47` (`route: "/api/v1/mcp"`, Env `MCP_ROUTE`) vs. `tibi-docs/src/content/docs/server/schnittstellen.md:77` („fest `POST` + `GET /api/v1/mcp` — ein gesetztes `mcp.route`/`MCP_ROUTE` wird ignoriert"). Eine Seite irrt — am Code (`internal/controller/setup.go`, `internal/config/server.go`) klären.
2. **Sync-Behauptung vs. Neubau-Realität.** `tibi-docs/AGENTS.md:25–26,39–48` („server/ = SYNC", Sync-Workflow) vs. `git log 06c8363` + `git ls-files` (nur Handseiten, keine Sync-Artefakte). AGENTS.md ist veraltet.
3. **Login-Pfad-Darstellung.** `tibi-server/docs/05-authentication.md:12` (`POST /api/v1/login`) vs. `tibi-docs/.../server/schnittstellen.md:12,27` (verkürzt `/login`, Tabelle mit Präfix `/api/v1`). Inhaltlich konsistent, aber Kürzung riskiert Copy-Paste-Fehler — unklar, kein harter Widerspruch.
4. **Token-Header `Token` vs. reservierte Namen.** `tibi-svelte-starter/AGENTS.md` (Collection-API: Header-Name aus Permission-Key, typisch `Token`) vs. `tibi-docs/.../reference/token-koepfe.md:52` (reservierte Namen `x-auth-token`/`x-admin-token`/`authorization` fail-closed). Ergänzend, aber Starter-Regel „typisch `Token`" ohne Warnung vor reservierten Namen — Angleichung empfohlen.
5. **LLM-/MCP-Seiten Hüllen-Status.** `plans/doku-ausbau.md` listet `projekt/llm-nutzen` + `projekt/mcp-nutzen` als „Hülle" — falls weiterhin Hüllen, sind `09-llm-integration.md`/`23-mcp.md` die einzigen vollständigen Quellen; kein Widerspruch, aber Abhängigkeit.
## 5) Repo-Hygiene-Funde
| Verzeichnis | Befund | Empfehlung |
|---|---|---|
| `/WM_Dev/src/gitbase.de/cms/tibi-admin.bak/`, `tibi-admin.bak2/` (je eigenes `.git`-Repo, Woocommerce-Ära-Layout) | tote Vollkopien | archivieren/löschen nach Backup-Abgleich |
| `/WM_Dev/src/gitbase.de/cms/tibi-admin.kaputt/` (eigenes `.git`) | defekte Kopie per Namensgebung | löschen nach Backup-Abgleich |
| `/WM_Dev/src/gitbase.de/cms/tibi-server.bak/` | Server-Backup-Kopie | löschen nach Abgleich |
| `/WM_Dev/src/gitbase.de/cms/tibi-docs-kaputt/` (eigenes `.git`) | defekte Doku-Kopie | löschen nach Abgleich |
| `/WM_Dev/src/gitbase.de/cms/tibi-admin/`, `tibi-admin-dev/`, `tibi-admin-master/` (READMEs sagen alle „tibi-svelte-starter", alte Svelte-Geschichte) | alte Starter-/Admin-Varianten, unklar ob referenziert | klären, dann archivieren/löschen |
| `/WM_Dev/src/gitbase.de/cms/tibi-admin-server/` (Python `run.py`, `uploads/`) | artfremder Uploader-Dienst | prüfen, ob noch deployed; sonst archivieren |
| `/WM_Dev/src/gitbase.de/cms/tibi-starter/` vs. `tibi-svelte-starter/` | zwei Starter-Varianten parallel | eine als kanonisch erklären, andere archivieren |
| `tibi-docs-legacy/` (Docpress + `node_modules/` eingecheckt) | Legacy-Doku inkl. `node_modules/` | nach Volltext-Abgleich archivieren/löschen |