You've already forked lv-civdef-drone-threat-public-address
Import UAPF package
50 lines
2.8 KiB
Markdown
50 lines
2.8 KiB
Markdown
# Drone Threat Public Address & Citizen Notification
|
|
|
|
UAPF v2.2.0 process package · `lv.civdef.drone-threat-public-address` · v0.3.0 · **draft**
|
|
|
|
A Level-4 UAPF package modelling the cross-institutional algorithm by which
|
|
Latvia turns a detected drone threat into a timely public cell-broadcast,
|
|
coordinates interception, and runs field response and origin investigation.
|
|
Modelled from the public chronology of the **7 May 2026 Rezekne drone
|
|
incident**, whose defining failure was a ~40-minute delay in alerting the
|
|
public.
|
|
|
|
> Independent modelling demonstrator. **Not** an official algorithm of the NBS,
|
|
> VUGD, the Ministry of Defence or any Latvian state institution.
|
|
|
|
## Cornerstones
|
|
|
|
| Cornerstone | File | Content |
|
|
|-------------|------|---------|
|
|
| Process (BPMN) | `bpmn/drone-threat-public-address.bpmn` | 26 nodes across **6 institution lanes**; non-interrupting **SLA-breach boundary timer**; parallel broadcast / notify / interception; 3-way interception gateway; stand-down loop; handoff to the investigation case. |
|
|
| Decisions (DMN) | `dmn/air-threat-decisions.dmn` | **6 chained, documented decisions** with a clean DRD. Object classification → severity → notification urgency & SLA → broadcast scope; interception authorization; stand-down. |
|
|
| Case (CMMN) | `cmmn/field-response-investigation.cmmn` | 3 stages, 11 human tasks, milestones and entry sentries for field response, origin investigation and public communication. |
|
|
| Resources | `resources/mappings.yaml` | Every process/decision/case element bound to an executing institution, system or agent — with a legend tracing each binding to its diagram element. Guardrails in `resources/guardrails.yaml`. |
|
|
|
|
## What changed in v0.3.0
|
|
|
|
Rebuilt deeper and broader from v0.2.0, and the v0.2.0 defects fixed:
|
|
|
|
- DMN expanded **3 → 6 decisions**; every decision and every rule now carries a
|
|
description; the DRD uses an all-positive, tidy layout.
|
|
- **Interception logic fixed** — `positiveHostileId` was declared as a required
|
|
input but never tested, so the table could reach `engage` without it. It is
|
|
now rule 1: no positive hostile ID → always `hold`.
|
|
- **Cell-broadcast scope** now genuinely consumes `corridorMunicipalities` (a
|
|
FEEL expression, not a quoted string).
|
|
- BPMN expanded from a flat flow to a **6-lane collaboration** with the SLA
|
|
boundary timer that models the Rezekne lesson directly.
|
|
- `mappings.yaml` given an element-level **legend** so the resource↔process
|
|
linkage is readable and machine-checkable.
|
|
|
|
## Documentation
|
|
|
|
`docs/00` chronology · `docs/01` gap analysis · `docs/02` RACI ·
|
|
`docs/03` notification timing & SLA · `docs/04` UAPF-IP integration ·
|
|
`docs/05` validation report (19/19 passed).
|
|
|
|
## Status
|
|
|
|
`draft`. Decision thresholds and SLA values are modelling proposals pending
|
|
institutional review — see `docs/01` and `docs/03`.
|