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:
51
docs/01-institutional-gap-analysis.md
Normal file
51
docs/01-institutional-gap-analysis.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# 01 — Institutional Gap Analysis (AS-IS) and TO-BE Targets
|
||||
|
||||
> Non-normative supporting document. This is the analytical core of the package:
|
||||
> it maps each publicly-reported coordination failure to a specific element of
|
||||
> the BPMN / DMN / CMMN models, so the revised algorithm can be designed against
|
||||
> a concrete baseline.
|
||||
|
||||
## Why this package exists
|
||||
|
||||
After the 7 May 2026 Rēzekne incident the Ministry of Defence stated publicly
|
||||
that the inter-institutional **information / notification algorithms** must be
|
||||
reviewed and improved. The problem reported by municipalities and crisis-management
|
||||
officials was not a single mistake but a **structural misalignment**: no single,
|
||||
shared, machine-checkable description of who decides what, when, and on which
|
||||
inputs. UAPF exists precisely to hold that description as versioned, reviewable
|
||||
artifacts. This package is the AS-IS baseline.
|
||||
|
||||
## Gap register
|
||||
|
||||
| # | Reported gap (public record) | Where it lives in the model | TO-BE target |
|
||||
|---|---|---|---|
|
||||
| G1 | Cell-broadcast reached Rēzekne city only after residents had already seen/heard the drones; ~40-min lag vs Ludza/Balvi. | `Task_RequestBroadcast` → `Task_CellBroadcast` | Tighten the trigger so the request is driven by the **predicted corridor**, not by confirmed overflight. `Decision_CellBroadcastScope` already takes `corridorMunicipalities` — make corridor pre-alerting mandatory at `threatLevel = elevated`. |
|
||||
| G2 | Single point of failure: the alert fires only on an explicit NBS request. NBS stated the alert was not sent to Rēzekne because the "incident duration was too short"; the Interior Minister stated VUGD was ready but "a clear algorithm was not triggered". | `Task_RequestBroadcast` (documented GAP) | Define an explicit fallback authority and a time-boxed escalation: if NBS does not issue / decline a request within N minutes of a confirmed corridor, a named role (KVC duty) may trigger. Model as a boundary timer event on `Task_RequestBroadcast` in v0.2. |
|
||||
| G3 | Message content too thin — "possible threat" with no nature-of-threat detail; residents phoned municipalities asking whether tanks or drones were coming. | `Decision_CellBroadcastScope` output `messageTemplate` | Replace generic text with typed templates (`MSG_DRONE_IMMINENT`, `MSG_DRONE_POSSIBLE`, `MSG_AIRSPACE_MONITORING`) carrying threat type, recommended action and an information URL. Templates are an output column in the DMN table. |
|
||||
| G4 | No unified action algorithm across institutions; municipalities reported missing communication with state institutions and unclear ownership (AM vs VARAM vs IZM). | `Task_NotifyAgencies`; `resources/mappings.yaml` | A single resource mapping with explicit RACI per element (this package), reviewed jointly. Notification to KVC, IeM and municipal commissions modelled as a **parallel** branch so it cannot be skipped. |
|
||||
| G5 | Information on number/origin/landing sites of the drones was unavailable for ~5 hours. | CMMN `Stage_Investigation` (`HT_TechExam`, `HT_OriginAttribution`) | Make investigation a first-class case stage with explicit milestones and an information-publishing cadence, not an ad-hoc activity. |
|
||||
| G6 | ~3-day delay before clear public acknowledgement of the drones' (Ukrainian) origin created a perception of concealment. | CMMN `HT_OriginAttribution`, `HT_DisinfoMonitor`, `HT_Press` | Decouple "confirm origin" from "inform public": publish what is known on a fixed cadence; disinformation monitoring runs in parallel from the start. |
|
||||
| G7 | Interception not attempted; criteria ("all safety criteria") were not transparent or pre-agreed. | `Decision_InterceptionAuthorization` | Make the safety criteria an explicit, inspectable DMN table (civilian risk, debris fall-zone, positive ID, firing-position readiness, BAP availability) rather than a verbal judgement. |
|
||||
| G8 | School-closure and resident-guidance decisions lacked timely recommendations from IZM. | `Task_LocalResponse` (IZM consulted) | Bind IZM as a consulted resource on `Task_LocalResponse` with a pre-agreed guidance template issued automatically at `threatLevel >= elevated`. |
|
||||
|
||||
## Modelling stance
|
||||
|
||||
- The BPMN / DMN / CMMN in v0.1.0 deliberately model the **AS-IS** algorithm
|
||||
*plus* the minimum corrections needed for it to be internally consistent
|
||||
(parallel notification, typed messages, explicit interception table).
|
||||
- Items requiring a **policy decision** — notably G2 (fallback trigger
|
||||
authority) — are flagged in `docs/02-raci.md` and left as open questions for
|
||||
v0.2; they must not be silently encoded by a process author.
|
||||
- Nothing here is operationally approved. Lifecycle status is `draft`.
|
||||
|
||||
## Open questions for the institutional steward
|
||||
|
||||
1. **G2** — Who is the named fallback authority if NBS does not act within the
|
||||
escalation window, and what is the window length?
|
||||
2. Should cell-broadcast corridor pre-alerting be automatic at
|
||||
`threatLevel = elevated`, or remain a human decision?
|
||||
3. Is the cell-broadcast platform owned operationally by VUGD only, or jointly
|
||||
with VARAM for the early-warning evolution? This changes the `Task_CellBroadcast`
|
||||
binding.
|
||||
4. What is the mandated public-information cadence during an active incident
|
||||
(G5/G6)?
|
||||
Reference in New Issue
Block a user