chore(guards): map all 85 architecture tests to guards, add 4 new guards

Add GR-CORE-LAYERS (layer isolation), GR-CORE-MODULE (module boundaries),
GR-CORE-META (agent/codex system integrity), GR-UI-TAXONOMY (status
taxonomy consistency). Extend existing guards GR-SEC-008, GR-UI-DETAIL,
GR-UI-LIST, GR-UI-A11Y, GR-UI-REUSE, GR-TEST-002, GR-SEC-002 with
their previously unmapped architecture tests. Coverage goes from 23/85
mapped tests (27%) to 85/85 (100%).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-13 20:39:51 +02:00
parent 4e6b586b77
commit ea0b31ba67
2 changed files with 119 additions and 5 deletions

View File

@@ -161,6 +161,34 @@
"reviewer": "security",
"title": "Output escaping in views",
"requirement": "Views (.phtml) MUST use e() for all HTML output. Raw echo is only permitted for pre-built HTML fragments from framework helpers (e.g. ARIA attributes from navActive()). Each raw echo MUST carry an inline '// raw-html-ok: reason' comment."
},
{
"id": "GR-CORE-LAYERS",
"area": "core",
"reviewer": "code",
"title": "Architecture layer isolation",
"requirement": "MUST enforce strict layer separation: Views render only (no DB calls), Services contain no HTML, Repositories are isolated from HTTP/session. No cross-layer violations."
},
{
"id": "GR-CORE-MODULE",
"area": "core",
"reviewer": "code",
"title": "Module boundary isolation",
"requirement": "Modules MUST use MintyPHP\\Module\\* namespaces, declare valid manifests conforming to the schema, register providers correctly, prefix session keys with module.<id>.*, and pass per-module isolation tests."
},
{
"id": "GR-CORE-META",
"area": "core",
"reviewer": "code",
"title": "Agent and codex system integrity",
"requirement": "Guard catalog, enforcement map, quality gates, agent references, and codex skill/docs links MUST be internally consistent. All guard/gate IDs MUST resolve. No orphaned or broken references."
},
{
"id": "GR-UI-TAXONOMY",
"area": "ui",
"reviewer": "code",
"title": "Status taxonomy consistency",
"requirement": "Status enums, filter schemas, data-layer constants, and UI labels MUST stay in sync across all layers. No literal status strings outside taxonomy enums."
}
]
}