You've already forked lv-civdef-drone-threat-public-address
Import UAPF package
Import UAPF package: lv-civdef-drone-threat-public-address (1).uapf
This commit is contained in:
83
docs/04-validation-report.md
Normal file
83
docs/04-validation-report.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# 04 — Validation Report
|
||||
|
||||
> Records the conformance status of this package against UAPF specification
|
||||
> **v2.2.0** (repo `UAPFormat/UAPF-specification`, `VERSION` = 2.2.0).
|
||||
|
||||
## Result
|
||||
|
||||
```
|
||||
BPMN tasks: 11 | DMN decisions: 3 | CMMN tasks: 9 | targets: 11 | bindings: 19
|
||||
ERRORS: 0
|
||||
WARNINGS: 0
|
||||
RESULT: PASS — package is UAPF v2.2.0 conformant
|
||||
```
|
||||
|
||||
## What was validated
|
||||
|
||||
Schema validation (`schemas/**`, JSON Schema draft 2020-12):
|
||||
|
||||
- `uapf.yaml` against `uapf-manifest.schema.json` — PASS
|
||||
- `resources/mappings.yaml` against `resource-mapping.schema.json` — PASS
|
||||
- `metadata/ownership.yaml` against `ownership.schema.json` — PASS
|
||||
- `metadata/lifecycle.yaml` against `lifecycle.schema.json` — PASS
|
||||
- `metadata/policies.yaml` against `policies.schema.json` — PASS
|
||||
- `enterprise/enterprise.yaml` against `enterprise-index.schema.json` — PASS
|
||||
|
||||
Structural checks (`07-package-format.md`, `04-folder-structure.md`):
|
||||
|
||||
- Level-4 package has ≥1 `.bpmn` file, `resources/mappings.yaml`, and both
|
||||
mandatory metadata files — PASS
|
||||
|
||||
Semantic rules (`11-semantic-validation.md`):
|
||||
|
||||
- SEM-001 BPMN/CMMN element references resolve — PASS
|
||||
- SEM-002 DMN decision references resolve — PASS
|
||||
- SEM-003 binding `targetId` values exist in `targets` — PASS
|
||||
- SEM-009 no duplicate binding for the same source — PASS
|
||||
- SEM-011 every cornerstone carries OMG diagram interchange (BPMNDI / DMNDI /
|
||||
CMMNDI) — PASS
|
||||
- SEM-004/005/006/010 (warnings) — none raised: every user task is bound, no
|
||||
unused targets, declared `requiredCapabilities` match target capabilities,
|
||||
all fallback targets resolve
|
||||
|
||||
YAML safety (`12-yaml-guidelines.md`): manifest `version` is a quoted string.
|
||||
|
||||
## How to re-validate
|
||||
|
||||
```
|
||||
python3 validate.py <workspace-root> <path-to-UAPF-specification-repo>
|
||||
```
|
||||
|
||||
`validate.py` is included at the workspace root. It loads the schemas directly
|
||||
from a checkout of `UAPFormat/UAPF-specification` and implements the schema,
|
||||
structural and SEM-001..011 rules.
|
||||
|
||||
## Two upstream issues found in the specification repository
|
||||
|
||||
This package follows the **normative specification text**, which
|
||||
`specification/00-ssot.md` declares authoritative over any tool or example.
|
||||
While validating, two defects were found in the spec repo itself — neither is a
|
||||
defect in this package, but both are worth reporting to `UAPFormat`:
|
||||
|
||||
1. **Stale reference CLI.** `tools/uapf-cli/uapf.py` checks for `*.bpmn.xml`
|
||||
files, but `specification/07-package-format.md` ("File naming") normatively
|
||||
requires the `.bpmn` / `.dmn` / `.cmmn` extensions, and the canonical
|
||||
examples (`examples/minimal-l4-package/bpmn/process.bpmn`,
|
||||
`examples/approve-expense-l4/bpmn/approve-expense.bpmn`) use `.bpmn`.
|
||||
Consequently the reference CLI wrongly rejects a spec-conformant Level-4
|
||||
package with: `ERROR: Level 4 requires at least one *.bpmn.xml file`.
|
||||
This package uses `.bpmn` / `.dmn` / `.cmmn` per the normative text.
|
||||
|
||||
2. **Malformed schema JSON.** `schemas/enterprise-index.schema.json` contains
|
||||
regex patterns with raw `\.` and `\s` escapes that are not valid JSON
|
||||
string escapes, so a strict JSON parser fails to load it
|
||||
(`Invalid \escape: line 28`). The bundled `validate.py` works around this by
|
||||
repairing the escapes on load; the upstream schema file should be fixed
|
||||
(double the backslashes).
|
||||
|
||||
## Status
|
||||
|
||||
`lifecycle.status: draft`. Conformance is structural and semantic only — it
|
||||
does **not** mean the modelled algorithm is operationally approved. The
|
||||
institutional gaps and open policy questions in `01-institutional-gap-analysis.md`
|
||||
must be resolved before any change to `approved`.
|
||||
Reference in New Issue
Block a user