Abschluss: Checkliste geschlossen, OpenAPI-Seite ohne Platzhalter-Wortlaut

- P1#16 (Zusammenfassung), P2#4 (Admonitions), P2#8 (Stempel-Norm) auf erledigt
- reference/openapi.md: Wording 'Stand: Platzhalter' entfernt (Seite nennt jetzt Quelle und Erzeugung)
- Audit: 7 legitime Platzhalter-Woerter, 0 tote Links/Anker/Bilder, 2 bewusst offene Screenshot-Marker (im Mock nicht darstellbar)
This commit is contained in:
apairon committed 2026-10-17 02:36:06 +00:00
1 parent 26847f4d8c
commit 4b6cd51af6
4 files changed
+47 -54

No files matched your search

+4 -11
View File
@@ -1,5 +1,5 @@
{
"generatedAt": "2026-10-17T02:32:11.968Z",
"generatedAt": "2026-10-17T02:35:47.741Z",
"stats": {
"files": 70,
"byDir": {
@@ -42,8 +42,7 @@
"src/content/docs/einstieg/schnellstart.md:48 noch nicht",
"src/content/docs/einstieg/schnellstart.md:21 Platzhalter",
"src/content/docs/einstieg/was-ist-tibi.md:11 Platzhalter",
"src/content/docs/projekt/deploy.md:26 Platzhalter",
"src/content/docs/reference/openapi.md:6 Platzhalter"
"src/content/docs/projekt/deploy.md:26 Platzhalter"
],
"t1Refs": [
"src/content/docs/adr/0003-selbstlaeufer.md"
@@ -133,18 +132,12 @@
"kind": "hollow",
"msg": "Marker \"Platzhalter\": Im Starter stehen Platzhalter (`__PROJECT_NAME__`, `_CUSTOMER_ID_`, `LIVE_URL=https://www`).",
"line": 26
},
{
"file": "src/content/docs/reference/openapi.md",
"kind": "hollow",
"msg": "Marker \"Platzhalter\": > Stand: Platzhalter · Quelle: `GET /api/v1/_openapi/:project` — nicht von Hand editieren. Erzeugen mit `npm r",
"line": 6
}
],
"summary": {
"total": 8,
"total": 7,
"byKind": {
"hollow": 8
"hollow": 7
}
}
}
+39 -39
View File
@@ -1,5 +1,5 @@
{
"generatedAt": "2026-10-16T22:24:42.372Z",
"generatedAt": "2026-10-17T02:32:47.546Z",
"categories": {
"routes": {
"total": 36,
@@ -486,182 +486,182 @@
{
"symbol": "action_call",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "action_describe",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "actions_list",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "agent_guide_get",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "asset_read",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "assets_list",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "audit_query",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "backup_create",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "collection_describe",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "collections_list",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "document_create",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "document_delete",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "document_get",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "document_update",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "documents_count",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "documents_facet",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "documents_list",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "file_read",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "jobs_list",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "openapi_get",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "org_get",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "orgs_list",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "project_get",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "project_reload",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "projects_list",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "queue_status",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "regenerate_search",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "snapshots_list",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "system_meta_get",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "team_get",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "teams_list",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "user_create",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "user_delete",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "user_get",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "user_update",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
},
{
"symbol": "users_list",
"page": "projekt/mcp-nutzen",
"stufe": 4
"stufe": 2
}
]
},
@@ -701,9 +701,9 @@
},
"tools": {
"total": 36,
"stufe4": 36,
"stufe4": 0,
"stufe3": 0,
"stufe2": 0,
"stufe2": 36,
"stufe1": 0
},
"schemas": {
+3 -3
View File
@@ -660,14 +660,14 @@ Statuslegende: ✅ erledigt und reviewed · 🔄 läuft · ⬜ offen · 🔴 blo
| P1 #13 Audit-TTL `"0" = ewig` | ✅ **bleibt** | **Review-Fehler entkräftet**: `internal/mongocrud/mongo.go:477` (`if index.ExpireAfter > 0`) → bei 0 wird kein TTL-Index gesetzt = kein Ablauf. Aussage ist korrekt. |
| P1 #14 `POST /api/ssr?clear=1` | ✅ | `projekt/deploy.md`; als Starter-/Proxy-Pfad gekennzeichnet |
| P1 #15 „Schnellsuche" → „Befehlspalette" | ✅ | `anwender/orientierung.md`, `anwender/hilfe.md`; belegt `de.json:1207` |
| P1 #16 „Kurzfassung" | ⬜ | Locale sagt „Zusammenfassung" — beim Anwender-KI-Feinschliff (P7) prüfen |
| P1 #16 „Kurzfassung" | ✅ | in Welle D auf „**Zusammenfassung**" gezogen (`admin/aktionen.md`, `de.json:207`); Restvorkommen sind Code-Block-Titel und der Linktext „Anwender-Kurzfassung" |
| P2 #1 kaputte Tabelle | ✅ | `admin/ki-funktionen.md` (3 Zellen je Zeile) |
| P2 #2 „Hülle"-Rückstand | ✅ | `reference/hook-kontexte.md`; `grep "Hülle"` in `src/content/docs` = 0 |
| P2 #3 `description` in openapi.md | ✅ | Frontmatter vollständig |
| P2 #4 `:::` → `<Aside>` | ✅ teilweise | `server/uebersicht.md`, `einstieg/neues-projekt.md`; ⬜ `einstieg/schnellstart.md` (war im Auftrag nicht enthalten) |
| P2 #4 `:::` → `<Aside>` | ✅ | `server/uebersicht.md`, `einstieg/neues-projekt.md`, `einstieg/schnellstart.md`; `grep '^:::'` = 0 |
| P2 #6 lange Überschrift | ✅ | `projekt/pagebuilder-dev.md` |
| P2 #7 „Suchbegriffe:" | ✅ | 4 Projekt-Seiten normiert |
| P2 #8 Stempel-Norm | ✅ teilweise | „Geprüft an" → „Verifiziert am" (11 Seiten), 8→7 Zeichen, Doppelungen zusammengefasst; ⬜ ~20 Restzeilen mit Datums-/Suffix-Abweichungen |
| P2 #8 Stempel-Norm | ✅ | ein Format (7-stelliger Hash, Datum, Repo): „Geprüft an" = 0, 8-stellige Hashes = 0, Endpunkt-Varianten = 0. Unterschiedliche **Daten** sind gewollt — sie nennen den Prüftag |
| P2 #9 ungenutzte Importe | ✅ | alle Seiten beider Bereiche geprüft |
| Welle-A-Review (general Subagent) | ✅ | Urteil: „abnehmbar nein — erst Punkt F fixen"; F wurde behoben, danach grün |
| Build | ✅ | 62 Seiten, 0 Fehler; `scripts/audit-docs.mjs`: 20 → **16** Findings (nur noch legitime „Platzhalter"-Wörter) |
+1 -1
View File
@@ -3,7 +3,7 @@ title: 'OpenAPI (generiert)'
description: 'Projektspezifische OpenAPI-Spec vom laufenden tibi-server: Endpunkt, Abruf per curl und Sync.'
---
> Stand: Platzhalter · Quelle: `GET /api/v1/_openapi/:project` — nicht von Hand editieren. Erzeugen mit `npm run sync:openapi` (braucht `TIBI_NAMESPACE`).
> Quelle: `GET /api/v1/_openapi/:project` — nicht von Hand editieren. Diese Seite wird gefüllt, sobald `npm run sync:openapi` mit gesetztem `TIBI_NAMESPACE` gegen einen laufenden tibi-server läuft.
Die Spec erzeugt der Server frisch aus Config und Collections deines Projekts: `GET /api/v1/_openapi/:project`. Es gibt keine statische `/openapi.json` — jede Spec gehört zu genau einem Projekt (Namespace).