feat(iace): add data-driven Architektur & Datenfluss explainer tab

Adds an auditor-facing view of the IACE engine: a clickable 10-stage
pipeline flow (Grenzen-Formular → ParseNarrative → Pattern-Gates →
Relevanz → Caps → Gefährdungen → Maßnahmen → Risiko → Normen → Matrix),
plus live library counts, the data-source/license register (incl. the
DIN/Beuth + DGUV exclusions), and the norm-matching logic that reconciles
DIN/ISO/OSHA machine-type vocabulary via canonicalMachineType folding.

Backend: BuildArchitecture() with LIVE counts so the diagram can never
drift; GET /iace/architecture; collectAllNorms() extracted from
SuggestNorms as the single source of truth for the norm-library count.
Frontend: useArchitecture hook + page + new IACE nav tab.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-06-11 09:35:37 +02:00
parent 05a1795ea8
commit 32ba8d16b1
8 changed files with 522 additions and 1 deletions
@@ -58,3 +58,11 @@ func (h *IACEHandler) GetRiskDataSources(c *gin.Context) {
"evidence": iace.AllRiskEvidence(),
})
}
// GetArchitecture handles GET /architecture.
// Data-driven self-description of the IACE engine (pipeline stages, libraries
// with LIVE counts, data sources + licenses, norm-matching logic) for the
// "Architektur & Datenfluss" auditability tab.
func (h *IACEHandler) GetArchitecture(c *gin.Context) {
c.JSON(http.StatusOK, iace.BuildArchitecture())
}