You've already forked lv-civdef-drone-threat-public-address
Import UAPF package
1.7 KiB
1.7 KiB
05 — Validation Report
Package: lv.civdef.drone-threat-public-address v0.3.0
Date: 2026-05-18 · Tool: validate.py
Result: 19 / 19 checks passed
Structural
- All three cornerstone files (BPMN, DMN, CMMN) are well-formed XML.
- All six YAML files parse.
uapf.yamlvalidates againstuapf-manifest.schema.json(UAPF v2.2.0).
Model integrity
- BPMN: 26 flow nodes; every
sequenceFlowsource/target resolves. - DMN: exactly 6 decisions; every
informationRequirementhref resolves. - CMMN: 11 human tasks across 3 stages.
Quality gates added in v0.3.0 (these are the v0.2.0 defects)
- Every DMN decision carries a
<description>. v0.2.0 had none. - No declared-but-unused decision inputs. Every
requiredInputof every decision is used as a decision-table input column or in an output expression. This is the check that proves the v0.2.0 interception defect —positiveHostileIddeclared but never tested — is fixed. - Every
mappings.yamlbinding resolves to a real diagram element, and everytargetIdresolves to a declared target. The resource↔process linkage is now machine-checkable.
What is not validated here
- Semantic correctness of the modelled algorithm — whether these are the
right institutions, thresholds and SLAs — is an institutional review
question, tracked in
01-institutional-gap-analysis.md. - DMN completeness/overlap of
FIRST-hit tables is not formally verified; each table ends with a catch-all rule so no input is left without an output. - Diagram interchange (DI) renders cleanly in
dmn-js/bpmn-js/cmmn-js; visual review in the target viewer is still recommended.
Reproduce
python3 validate.py # exits non-zero on any failure