feat(iace): CE-Flag auf Komponenten + AIAG-VDA Action Priority (AP)
Build + Deploy / build-admin-compliance (push) Successful in 1m54s
Build + Deploy / build-backend-compliance (push) Successful in 11s
Build + Deploy / build-ai-sdk (push) Successful in 10s
Build + Deploy / build-developer-portal (push) Successful in 11s
Build + Deploy / build-tts (push) Successful in 12s
Build + Deploy / build-document-crawler (push) Successful in 11s
Build + Deploy / build-dsms-gateway (push) Successful in 11s
Build + Deploy / build-dsms-node (push) Successful in 12s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / loc-budget (push) Failing after 15s
CI / secret-scan (push) Has been skipped
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Successful in 2m25s
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / test-go (push) Successful in 41s
CI / test-python-backend (push) Successful in 37s
CI / test-python-document-crawler (push) Successful in 25s
CI / test-python-dsms-gateway (push) Successful in 21s
CI / validate-canonical-controls (push) Successful in 14s
Build + Deploy / trigger-orca (push) Successful in 2m14s

CE-Flag:
- Toggle "Bereits CE-gekennzeichnet" im ComponentForm
- ce_marked Boolean auf Component (via metadata JSONB, kein DB-Change)
- Hinweis "(Nur Schnittstellen bewerten)" im Formular

AIAG-VDA Action Priority:
- CalculateAP(S,O,D) → H/M/L nach AIAG-VDA FMEA Handbuch 2019
- AP-Spalte in FMEA-Worksheet: H=rot, M=gelb, L=grün
- Ergänzt (nicht ersetzt) die bestehende RPZ-Berechnung

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-05-12 09:15:43 +02:00
parent f5664612ad
commit 4e865d2997
5 changed files with 83 additions and 0 deletions
+46
View File
@@ -115,6 +115,52 @@ func (fm *FailureModeEntry) CalculateRPZ() int {
// RPZThresholdAction is the RPZ value above which corrective action is required.
const RPZThresholdAction = 100
// CalculateAP computes the AIAG-VDA Action Priority (H/M/L).
// Replaces pure RPN/RPZ with a 3D severity-occurrence-detection priority matrix
// per the AIAG-VDA FMEA Handbook (2019). Returns "H", "M", or "L".
func CalculateAP(s, o, d int) string {
if s >= 9 {
if o >= 4 || d >= 7 {
return "H"
}
if o >= 2 || d >= 5 {
return "M"
}
return "L"
}
if s >= 7 {
if o >= 5 || d >= 8 {
return "H"
}
if o >= 3 || d >= 5 {
return "M"
}
return "L"
}
if s >= 5 {
if o >= 7 || d >= 9 {
return "H"
}
if o >= 4 || d >= 7 {
return "M"
}
return "L"
}
// S < 5
if o >= 8 && d >= 9 {
return "H"
}
if o >= 6 || d >= 8 {
return "M"
}
return "L"
}
// CalculateAPForFM computes AP for a FailureModeEntry.
func (fm *FailureModeEntry) CalculateAPForFM() string {
return CalculateAP(fm.DefaultSeverity, fm.DefaultOccurrence, fm.DefaultDetection)
}
// AssessmentType represents the type of risk assessment
type AssessmentType string