122 lines
9.9 KiB
JSON
122 lines
9.9 KiB
JSON
|
|
{
|
||
|
|
"task_id": "DOCS-RESTRUCTURE-001",
|
||
|
|
"plan_ref": "agent-system/runs/DOCS-RESTRUCTURE-001/plan.json",
|
||
|
|
"status": "done",
|
||
|
|
"changed_files": [
|
||
|
|
{ "path": "docs/index.md", "summary": "Rebuilt with exactly 4 Diataxis groups (Tutorials, How-to Guides, Explanation, Reference); all 42 files referenced once each." },
|
||
|
|
{ "path": "docs/tutorial-01-erste-schritte.md", "summary": "Renamed from erste-schritte.md; date updated to 2026-03-06; internal links migrated." },
|
||
|
|
{ "path": "docs/tutorial-02-systemueberblick.md", "summary": "Renamed from 00-systemueberblick.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/tutorial-03-setup-und-erster-login.md", "summary": "Renamed from 01-setup-und-erster-login.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/tutorial-04-architektur-request-flow.md", "summary": "Renamed from 03-architektur-request-flow.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/tutorial-05-erste-aenderung-ui.md", "summary": "Renamed from 04-erste-aenderung-ui.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/tutorial-06-erste-aenderung-backend.md", "summary": "Renamed from 05-erste-aenderung-backend.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/tutorial-07-security-tenant-scope.md", "summary": "Renamed from 06-security-tenant-scope.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/tutorial-08-api-erweitern.md", "summary": "Renamed from 07-api-erweitern.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/tutorial-09-advanced-scheduler-sso.md", "summary": "Renamed from 08-advanced-scheduler-sso.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/howto-erste-aenderung.md", "summary": "Renamed from erste-aenderung.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/howto-globale-suche.md", "summary": "Renamed from globale-suche.md; date updated." },
|
||
|
|
{ "path": "docs/howto-importe.md", "summary": "Renamed from importe.md; date updated." },
|
||
|
|
{ "path": "docs/howto-benutzerdefinierte-felder.md", "summary": "Renamed from benutzerdefinierte-felder.md; date updated." },
|
||
|
|
{ "path": "docs/howto-geplante-aufgaben.md", "summary": "Renamed from geplante-aufgaben.md; date updated." },
|
||
|
|
{ "path": "docs/howto-auth-sso-smoke-test.md", "summary": "Renamed from auth-sso-smoke-test.md; date updated." },
|
||
|
|
{ "path": "docs/howto-anfragelimits.md", "summary": "Renamed from anfragelimits.md; date updated." },
|
||
|
|
{ "path": "docs/howto-rbac-permissions-playbook.md", "summary": "Renamed from rbac-permissions-playbook.md; date updated." },
|
||
|
|
{ "path": "docs/howto-request-input-validation.md", "summary": "Renamed from request-input-validation.md; date updated." },
|
||
|
|
{ "path": "docs/howto-docker-lokal.md", "summary": "Renamed from docker-lokal.md; date updated." },
|
||
|
|
{ "path": "docs/howto-docker-produktiv.md", "summary": "Renamed from docker-produktiv.md; date updated." },
|
||
|
|
{ "path": "docs/howto-betriebscheck-doctor.md", "summary": "Renamed from betriebscheck-doctor.md; date updated." },
|
||
|
|
{ "path": "docs/howto-fehlerbehebung.md", "summary": "Renamed from fehlerbehebung.md; date updated." },
|
||
|
|
{ "path": "docs/howto-lokale-entwicklung.md", "summary": "Renamed from lokale-entwicklung.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/howto-dokumentation-erweitern.md", "summary": "Renamed from dokumentation-erweitern.md; IA section updated to Diataxis 4-quadrant model; naming convention documented; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/explanation-architektur.md", "summary": "Renamed from architektur.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/explanation-di-container.md", "summary": "Renamed from di-container.md; added Letzte Aktualisierung line." },
|
||
|
|
{ "path": "docs/explanation-sicherheitsmodell.md", "summary": "Renamed from sicherheitsmodell.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/explanation-einstellungen-speicherung.md", "summary": "Renamed from einstellungen-speicherung.md; date updated." },
|
||
|
|
{ "path": "docs/explanation-docker-betrieb.md", "summary": "Renamed from docker-betrieb.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/reference-domain-glossar.md", "summary": "Renamed from 02-domain-glossar.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/reference-api.md", "summary": "Renamed from api.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/reference-konfiguration.md", "summary": "Renamed from konfiguration.md; date updated." },
|
||
|
|
{ "path": "docs/reference-konventionen.md", "summary": "Renamed from konventionen.md; date updated." },
|
||
|
|
{ "path": "docs/reference-lib-standards.md", "summary": "Renamed from lib-standards.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/reference-benutzer-lifecycle-policy.md", "summary": "Renamed from benutzer-lifecycle-policy.md; date updated." },
|
||
|
|
{ "path": "docs/reference-frontend-css.md", "summary": "Renamed from frontend-css.md; date updated." },
|
||
|
|
{ "path": "docs/reference-frontend-javascript.md", "summary": "Renamed from frontend-javascript.md; date updated." },
|
||
|
|
{ "path": "docs/reference-entwickler-checkliste.md", "summary": "Renamed from entwickler-checkliste.md; date updated; internal links migrated." },
|
||
|
|
{ "path": "docs/reference-codex-prompts.md", "summary": "Renamed from codex-prompts.md; date updated." },
|
||
|
|
{ "path": "docs/reference-agents-overview.md", "summary": "Migrated from docs/agents/overview.md to top-level; added Letzte Aktualisierung line." },
|
||
|
|
{ "path": "docs/reference-agents-roles.md", "summary": "Migrated from docs/agents/roles.md to top-level; added Letzte Aktualisierung line." },
|
||
|
|
{ "path": "docs/reference-agents-flow.md", "summary": "Migrated from docs/agents/flow.md to top-level; added Letzte Aktualisierung line." },
|
||
|
|
{ "path": "tests/Architecture/CodexSkillsContractTest.php", "summary": "Updated 2 assertions to reference new slug docs/reference-codex-prompts.md instead of old docs/codex-prompts.md." }
|
||
|
|
],
|
||
|
|
"guard_evidence": [
|
||
|
|
{
|
||
|
|
"guard_id": "GR-UI-009",
|
||
|
|
"status": "pass",
|
||
|
|
"evidence": "No a11y regression: changes are purely Markdown restructuring (file renames, link updates, date normalization). No HTML, JS, CSS, or interactive UI components were touched."
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"guard_id": "GR-SEC-004",
|
||
|
|
"status": "pass",
|
||
|
|
"evidence": "rg for external asset patterns (, <script src=https>, <link href=https>, @import url(https)) across docs/*.md returned 0 hits. All <script> matches are inline code examples in markdown (explanation-architektur.md, reference-frontend-javascript.md, reference-entwickler-checkliste.md)."
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"commands": [
|
||
|
|
{ "cmd": "git mv (42 renames: tutorials, howto, explanation, reference prefixes + agents/ migration)", "result": "pass" },
|
||
|
|
{ "cmd": "sed -i '' (bulk link replacement across all docs/*.md)", "result": "pass" },
|
||
|
|
{ "cmd": "sed -i '' (date update to 2026-03-06 across all docs/*.md)", "result": "pass" },
|
||
|
|
{ "cmd": "Index structure check: grep '^## ' docs/index.md returns exactly Tutorials, How-to Guides, Explanation, Reference", "result": "pass" },
|
||
|
|
{ "cmd": "Coverage check: comm -23 files vs refs and comm -13 refs vs files both empty; no duplicates in index", "result": "pass" },
|
||
|
|
{ "cmd": "Subfolder check: find docs -mindepth 2 -name '*.md' returns 0", "result": "pass" },
|
||
|
|
{ "cmd": "Link existence check: all /docs/<slug>.md references resolve to existing files", "result": "pass" },
|
||
|
|
{ "cmd": "External asset check (GR-SEC-004): rg for remote URLs in markdown returns 0 real hits", "result": "pass" },
|
||
|
|
{ "cmd": "Format check: all 42 content files have exactly 1 H1 and 1 Letzte Aktualisierung line", "result": "pass" },
|
||
|
|
{ "cmd": "openapi.yaml unchanged: git diff docs/openapi.yaml shows no changes", "result": "pass" },
|
||
|
|
{ "cmd": "docker compose exec php composer cs:check — 0 of 511 files need fixing", "result": "pass" }
|
||
|
|
],
|
||
|
|
"quality_gate_results": [
|
||
|
|
{
|
||
|
|
"gate_id": "QG-001",
|
||
|
|
"result": "pass",
|
||
|
|
"notes": "429 tests, 10703 assertions, 0 failures. (Warnings: 1 deprecation, unrelated to docs.)"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"gate_id": "QG-002",
|
||
|
|
"result": "pass",
|
||
|
|
"notes": "PHPStan level 5: [OK] No errors."
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"gate_id": "QG-003",
|
||
|
|
"result": "pass",
|
||
|
|
"notes": "CoreStarterkitContractTest: 11 tests, 6116 assertions, OK."
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"gate_id": "QG-004",
|
||
|
|
"result": "pass",
|
||
|
|
"notes": "All structural rg checks return 0 violations."
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"gate_id": "QG-006",
|
||
|
|
"result": "pass",
|
||
|
|
"notes": "PHP CS Fixer: 0 of 511 files need fixing."
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"test_results": [
|
||
|
|
{ "name": "T1: Index has exactly 4 Diataxis H2 groups in correct order", "result": "pass" },
|
||
|
|
{ "name": "T2: Coverage check (no orphans, no duplicates)", "result": "pass" },
|
||
|
|
{ "name": "T3: Subfolder check (0 nested .md files)", "result": "pass" },
|
||
|
|
{ "name": "T4: Alt-link check (no old slugs or /docs/agents/ refs remain)", "result": "pass" },
|
||
|
|
{ "name": "T5: Link existence check (all refs resolve)", "result": "pass" },
|
||
|
|
{ "name": "T6: GR-SEC-004 external asset check", "result": "pass" },
|
||
|
|
{ "name": "T7: Document format check (1x H1 + Letzte Aktualisierung per file)", "result": "pass" },
|
||
|
|
{ "name": "T8: openapi.yaml unchanged and linked in reference section", "result": "pass" },
|
||
|
|
{ "name": "T9: QG-001 PHPUnit full", "result": "pass" },
|
||
|
|
{ "name": "T10: QG-002 PHPStan", "result": "pass" },
|
||
|
|
{ "name": "T11: QG-003 Architecture Core Contract", "result": "pass" },
|
||
|
|
{ "name": "T12: QG-004 Structural rg checks", "result": "pass" },
|
||
|
|
{ "name": "T13: Manual docs smoke (/admin/docs)", "result": "skipped", "notes": "Requires manual browser verification: navigation groups, TOC anchors, search on renamed slugs." }
|
||
|
|
],
|
||
|
|
"open_items": [
|
||
|
|
"SC-007: Manual smoke test in /admin/docs pending — verify navigation shows all 4 groups, TOC anchors work, and search returns hits for renamed pages."
|
||
|
|
]
|
||
|
|
}
|