Nexus Synergy Engagement Package — B02 · Irish Coast Guard (IRCG), Department of Transport
Nexus Synergy Engagement Package — B02 · Irish Coast Guard (IRCG), Department of Transport
STATUS HONESTY. Nexus Synergy Ltd is pre-incorporation, pre-revenue, pre-pilot. The Irish Coast Guard is a TARGET, not a customer — there is no engagement, pilot, LOI, or contact in hand today. The ~178-surface UI gallery is a gallery, not traction. ANTI-COOKIE-CUTTER. The §8 mockups are programmatically generated for this buyer's SAR picture (datum/drift, R115/R117 AW189, RNLI ALBs, three MRCC/MRSC + ARCC) — not a reused shell. PROBABILITIES. Every probability and factor score below is
[PRIOR]— a subjective pre-pilot estimate for prioritisation, re-scored after each real conversation. Not a forecast.
§0 — Header + one-line thesis
Thesis. Give the Irish Coast Guard the one thing its three rescue-coordination centres and the aeronautical RCC do not yet share — a single, role-partitioned, human-gated, fully-audited cross-agency operating picture that turns the long-mandated "virtual JRCC" concept from a phone-and-email coordination model into a live COP, sitting above the existing single-agency SAR planning tools rather than replacing them.
This package extends source card #9 (coast-guard-sar, _master-loi-detail-01-12.md, score 60.6, verdict adjust-down, NEXT) and reuses its verified facts.
§1 — Entity snapshot (cited)
- Buyer of record: Irish Coast Guard (IRCG), a division of the Department of Transport — civil, not military. [verified — gov.ie Dept of Transport]
- Operational owner: IRCG Director Micheál O'Toole. Policy/budget: Joanna Cullen, Assistant Secretary General for the Irish Coast Guard, Dept of Transport (confirmed serving — gave the Oireachtas Fisheries & Maritime Affairs Committee opening statement, 17 Feb 2026). [verified]
- Multi-agency governance gate: the National SAR Committee (NSARC), under an independent chair — the inaugural chair was Sir Alan Massey (ex-CEO UK Maritime & Coastguard Agency), who steered the SAR Framework Review and chaired NSARC's first year before stepping down in July 2020 (current chair to be confirmed); members from IRCG, IAA (Aeronautical RCC), An Garda Síochána, Departments of Defence/Health/Local Government, and the voluntary sector (RNLI). [verified — gov.ie / Our Ocean Wealth; first NSP Annual Report July 2020]
- Operating footprint (2025, the most recent full year): 2,793 incidents coordinated; 933 helicopter missions; 44 Coast Guard units deployed 1,187 times; RNLI lifeboats tasked 798 times; Community Inshore Rescue Service activated 121 times; 1,941 individuals assisted; coordinated across three centres — MRCC Dublin (NMOC), MRSC Malin Head (753 incidents), MRSC Valentia. [verified — gov.ie, published 7 Jan 2026]
- Aviation: Bristow Ireland AW189 helicopters now operating from Shannon, Dublin, Sligo (callsigns Rescue 115/116/117/118), with fixed-wing from Shannon live since Sept 2025. [verified — gov.ie]
- Edge teams: 16 operational IRCG drone teams stood up. [verified — afloat.ie/NSP]
§2 — The pain (web-verified, dated, cited)
- A written, un-delivered "virtual JRCC" mandate. The National Search and Rescue Plan (July 2019) and its review (descended from the AQE Report and the Rescue 116 AAIU recommendations — one of which was literally to "update existing software and resources") include an implementation plan for a new "virtual" Joint Rescue Coordination Centre uniting the IAA's Aeronautical RCC and the IRCG's Marine RCC through "enhanced technologies and greater collaboration" for a more coherent, oversight-able multi-agency response. The mandate is real and on paper; the coherent shared picture is not yet built. [verified — gov.ie NSP; afloat.ie] (Honesty correction, per source-card adversarial check: this mandate dates from the 2018 SAR Review / 2019 NSP, not a fresh 2022–24 funded line; the NSP Report 2022–2024 is an activity report, not a new procurement.)
- Coordination today spans disjoint single-agency tools. Three rescue centres (Dublin/Malin/Valentia) + the IAA ARCC + RNLI + Community Rescue Boats + 16 drone teams each hold a partial picture; the cross-agency fusion happens by voice, email and screen-share, not in one shared COP. The action-loop gap is squarely detect → (no shared enrich/triage/gate) → act.
- Capacity is stretched. 2,793 incidents and a record-busy 2025 (1,941 assisted) on three centres makes a faster shared-situational-awareness picture operationally valuable, not cosmetic. [verified]
- Budget is committed elsewhere. Programme E "Maritime Transport & Safety" is €162.5m in Budget 2026 (most to IRCG) plus €145m IRCG capital (building programme + ILV Granuaile replacement) under the 2026–2030 Sectoral Investment Plan. [verified — gov.ie Budget 2026] The multi-year Bristow SAR-aviation contract is the single largest call on this programme, so a COP pilot would in practice need a discrete innovation/ICT line rather than the headline number — but the precise split of the €162.5m, and whether such a discrete line exists, is not published; treat as our working inference to confirm with the buyer. [budget figures verified; allocation split + discrete-line availability unconfirmed]
§3 — Use-case & value (DECLINE-SAFE framing)
In scope (resilience / safety / coordination only): a cross-agency, multi-asset SAR coordination COP — datum/drift/search-area planning fused with live asset positions (Bristow AW189, RNLI ALBs, Community Rescue Boats, drone teams) across MRCC Dublin + MRSC Valentia + MRSC Malin + IAA ARCC, with a human-gated tasking/assignment loop and a full audit ledger. Demonstrated first on a single mass-rescue or pollution-response scenario, above the existing single-agency SAR planning tools.
Explicitly NOT (Declined-List, refused on the record): no predictive policing; no real-time biometric identification or facial recognition of casualties, crews, or bystanders; no emotion recognition; no social scoring; no untargeted scraping; no psychometric profiling; no individual person risk-scoring. This is lawful, auditable, human-in-the-loop coordination of rescue assets — the structural opposite of every declined category. The decision-support layer reasons over assets, positions, weather, sea-state and search geometry, never over individuals' identities.
Value: shorter time-to-shared-picture across centres; consistent, auditable tasking with a defensible record of who decided what and why (directly answering the R116 "reconstruct the decision" gap); a coherence layer NSARC has mandated but not yet delivered.
§4 — Ontology (this buyer's domain entities + relationships)
Incident ──hasDatum──> Datum ──driftsTo──> DriftPrediction (Copernicus leeway)
│ │
│ └──defines──> SearchArea ──assignedTo──> SARAsset
├──coordinatedBy──> RescueCentre {MRCC-Dublin | MRSC-Valentia | MRSC-Malin | IAA-ARCC}
├──reports──> CasualtyCount {POB, recovered, outstanding, PIW-unconfirmed} (aggregate counts; NOT identities)
└──tasked──> TaskingOrder ──requires──> HumanGate (watch-officer dual-control)
SARAsset {Rescue115/116/117/118 (AW189) | RNLI-ALB | CommunityRescueBoat | DroneTeam}
├──hasPosition──> Track (ADS-B for aviation; AIS/VHF-DSC for surface)
└──hasCapability──> {winch | nightsearch | medical | shoreline | cliff-imagery}
WeatherState ──affects──> SearchArea ; SeaState ──affects──> SARAsset.capability
AuditEntry ──records──> {TaskingOrder, HumanGate, DriftRecompute, CasualtyUpdate}
Key invariant: CasualtyCount is an aggregate over an Incident — it never resolves to a NaturalPerson entity. There is no person-identity node in the operational ontology. Assets and positions are first-class; identities are out of scope by construction.
§5 — Data model (synergy.* tables, RLS + load-bearing CHECK)
SQL58 lines-- SARAsset: a rescue asset and its live position. Vessels/aircraft, never persons. CREATE TABLE synergy.sar_asset ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), org_id uuid NOT NULL, -- RLS: app.current_org_id (ircg-virtual-jrcc) callsign text NOT NULL, -- 'R115','RNLI-Baltimore','CRB-Union-Hall','Drone-Toe-Head' asset_class text NOT NULL CHECK (asset_class IN ('AW189','RNLI_ALB','CRB','DRONE','FIXED_WING')), coordinating_centre text NOT NULL CHECK (coordinating_centre IN ('MRCC_DUBLIN','MRSC_VALENTIA','MRSC_MALIN','IAA_ARCC')), lat numeric(8,5), lon numeric(8,5), pos_source text NOT NULL CHECK (pos_source IN ('ADS-B','AIS','VHF-DSC','MANUAL')), status text NOT NULL DEFAULT 'available', -- available|enroute|on_scene|standby|rtb UNIQUE (org_id, callsign) ); ALTER TABLE synergy.sar_asset ENABLE ROW LEVEL SECURITY; CREATE POLICY org_isolation ON synergy.sar_asset USING (org_id = current_setting('app.current_org_id')::uuid); -- TaskingOrder: assign an asset to a search area. CANNOT dispatch without dual-control human sign-off. CREATE TABLE synergy.tasking_order ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), org_id uuid NOT NULL, incident_id uuid NOT NULL REFERENCES synergy.incident(id), asset_id uuid NOT NULL REFERENCES synergy.sar_asset(id), search_area text NOT NULL, -- 'A-NW','B-inshore' proportionality numeric(4,2) NOT NULL, -- life-safety score, e.g. 0.88 signoff_1 text, -- watch-officer 1 (QES) signoff_2 text, -- watch-officer 2 / duty SMC (QES) dispatched_at timestamptz, -- NULL until the human gate clears -- LOAD-BEARING INVARIANT (human-gated decision): no tasking is dispatched -- to an asset without TWO distinct watch-officer sign-offs recorded. CHECK (dispatched_at IS NULL OR (signoff_1 IS NOT NULL AND signoff_2 IS NOT NULL AND signoff_1 <> signoff_2)), -- temporal: bitemporal validity for playback/audit valid_from timestamptz NOT NULL DEFAULT now(), recorded_at timestamptz NOT NULL DEFAULT now() ); ALTER TABLE synergy.tasking_order ENABLE ROW LEVEL SECURITY; CREATE POLICY org_isolation ON synergy.tasking_order USING (org_id = current_setting('app.current_org_id')::uuid); -- CasualtyCount: AGGREGATE only. CHECK forbids any individual-identity column ever being populated -- (there is none) and enforces that counts are non-negative and internally consistent. CREATE TABLE synergy.casualty_count ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), org_id uuid NOT NULL, incident_id uuid NOT NULL REFERENCES synergy.incident(id), pob_reported int NOT NULL DEFAULT 0, recovered int NOT NULL DEFAULT 0, outstanding int NOT NULL DEFAULT 0, -- LOAD-BEARING INVARIANT (decline-safe by construction): aggregate-only, internally consistent; -- there is no natural_person reference and the counts must reconcile. CHECK (pob_reported >= 0 AND recovered >= 0 AND outstanding >= 0 AND recovered + outstanding <= pob_reported + 0), -- no over-count; no person key exists recorded_at timestamptz NOT NULL DEFAULT now() ); ALTER TABLE synergy.casualty_count ENABLE ROW LEVEL SECURITY; CREATE POLICY org_isolation ON synergy.casualty_count USING (org_id = current_setting('app.current_org_id')::uuid);
§6 — Action-loop pseudocode (detect → … → close)
Python36 linesdef coordinate_sar_incident(org_id, incident): # 1. DETECT — 999/112 relay, EPIRB/PLB, MAYDAY-relay, or AIS-MOB; datum established. datum = establish_datum(incident) # 51 12.4N 010 38.7W # 2. ENRICH — Copernicus leeway/drift, Met Eireann sea-state, EMODnet bathy, live asset tracks. drift = copernicus_leeway(datum, met=meteireann(datum.time), tide=emodnet_tide(datum.pos)) areas = generate_search_areas(datum, drift) # expanding ellipse A; inshore B assets = live_tracks(org_id, sources=["ADS-B","AIS","VHF-DSC"]) # R115/R117, RNLI ALBs, CRB, drone # 3. TRIAGE — rank asset->area by probability-of-containment, ETA, capability, sea-state limit. candidates = rank_assignments(areas, assets, by=["poc","eta","capability_match","seastate_within_limit"]) proposal = candidates[0] # assign R117 -> Area A NW sector # 4. GATE — Decision Room; life-safety proportionality; cross-agency + civil-society review. P = proportionality(necessity=0.93, proportionality=0.86, least_intrusive=0.85) # = 0.88 gate = decision_room( proposal = proposal, personas = [ON_SCENE_CDR, PROPORTIONALITY, RNLI_OPS, CIVIL_SOCIETY("IHRC/accessibility"), DEVILS_ADVOCATE, DOMAIN_EXPERT("SMC")], threshold = P_MIN_LIFE_SAFETY) # 5. TASK — only on TWO distinct watch-officer sign-offs (DB CHECK enforces this anyway). if not (gate.signoff_1 and gate.signoff_2 and gate.signoff_1 != gate.signoff_2): return Disposition.HOLD_AWAIT_SIGNOFF(proposal) # no dispatch crosses the gate order = TaskingOrder(proposal, P=P, signoff_1=gate.signoff_1, signoff_2=gate.signoff_2) # 6. EXECUTE — write tasking to the asset; ARCC de-conflicts airspace; surface assets acknowledge. write_back("ircg-jrcc://tasking", order, deconflict=iaa_arcc_airspace(order)) # 7. BDA — observe effect: recovered/outstanding deltas; re-compute drift if no find. bda = observe(order, recovered_delta=True, recompute_drift_if_negative=True) # 8. CLOSE — log to audit ledger; register prospective re-tasking; debrief. register_prospective(incident, trigger="outstanding>0", action="re-poll drift +30m") return close_incident(incident, bda, audit="CER/NIS2-grade ledger")
§7 — nexus-workflows YAML DAG (declarative, blocking human-gate node)
YAML37 lines# nexus-workflows: virtual-JRCC SAR coordination loop (NO cron; event-triggered) name: ircg-virtual-jrcc-sar-loop on: event: sar.incident.opened tenant: ircg-virtual-jrcc nodes: - id: detect run: synergy.sar.establish_datum - id: enrich needs: [detect] run: synergy.sar.enrich # Copernicus drift + Met Eireann + EMODnet + live tracks - id: triage needs: [enrich] run: synergy.sar.rank_assignments # PoC x ETA x capability x sea-state - id: human_gate # <<< BLOCKING — pipeline halts here until 2 distinct sign-offs >>> needs: [triage] type: human-approval blocking: true quorum: 2 # dual-control distinct_signers: true # signoff_1 != signoff_2 roles: [mrcc_watch_officer, duty_smc] decision_room: personas: [on_scene_cdr, proportionality, rnli_ops, civil_society, devils_advocate, domain_expert] proportionality_min: life_safety on_timeout: hold_and_repoll - id: task needs: [human_gate] run: synergy.sar.write_tasking # writes only if human_gate == approved (DB CHECK backstop) - id: execute needs: [task] run: synergy.sar.dispatch # ARCC airspace de-confliction; asset ack - id: bda needs: [execute] run: synergy.sar.assess # recovered/outstanding deltas; re-drift if negative - id: close needs: [bda] run: synergy.sar.close_and_ledger # CER/NIS2-grade audit ledger; prospective re-tasking
§8 — UI/UX mockups (verbatim generated ASCII)
Figure b02.1 — map_ops (primary). ShellLayout + ClassificationBanner (EU-RESTRICTED/TLP:AMBER) + TopBar/PccPill + LeftSidebar (Map/SAR/Tasking/Ledger glyphs) + MapConsole (RendererChip: MapLibre-2D) rendering datum/drift/search-areas/assets, with the right-docked Inspector + ChatTerminal Decision-Room teaser + HistoryRail/BottomStatusBar. (SVG: _build/figures/coast-guard-sar/uc-map_ops.svg.)

Figure — Operational picture (map_ops · live MapLibre). Production-fidelity React surface (buildable); the faithful ASCII follows.
+------------------------------------------------------------------------------------------------------+
| Virtual-JRCC SAR COP - SW Approaches mass-rescue (MapConsole + MapLibre-2D) |
+--------------------+---------------------------------------------------------------------------------+
| LAYERS | MAP ========================================================================== |
| [x] SRR boundary | Celtic Sea / SW Approaches - IRCG Search-and-Rescue Region (SRR) |
| [x] SAR assets | ~~~~ Met orange: SW 6-7, gusts 8, seas 4.5m, vis 3km (deteriorating) ~~~~ |
| [x] Datum + drift | |
| [x] Search areas | [DATUM] 51 12.4N 010 38.7W - MOB/abandon @ t0; Copernicus leeway drift |
| [x] RNLI lifeboats | o----> drift vector 2.1kt @ 070T search-area A (expanding ellipse) |
| [ ] AIS traffic | .----------------. R115 (Bristow AW189, Shannon) ON-SCENE CDR |
| [x] Drone teams | | SEARCH AREA A | R117 (Bristow AW189, Dublin) inbound ETA 14min |
| [x] Met / sea-state| | * * * track | RNLI Baltimore ALB 'Alan Massey' 10kt to area B |
| [x] Casualty POBs | '----------------' RNLI Courtmacsherry ALB tasked area B |
| | [AREA B] inshore Community Rescue Boat Union Hall shoreline sweep |
| REPLAY | IRCG drone team (Toe Head) cliff-base imagery |
| MV mass-rescue | CASUALTIES: 11 POB reported | 4 recovered | 7 outstanding | 1 PIW unconf |
| SW Approaches | |
| [<<] t+01:10 [>>] | TASKING CANDIDATE: assign R117 -> Area A NW sector (highest drift PoC) |
| | Proportionality P=0.88 (life-safety) | MRCC watch-officer sign-off REQ |
| SOURCES | [ Open Decision Room ] [ Re-compute drift ] [ Log POB update ] |
| EMODnet bathy | |
| Met Eireann WX | |
| Copernicus drift | |
+--------------------+---------------------------------------------------------------------------------+
| INCIDENTS: 13:48 R115 on-scene | datum re-set 13:52 | 4 of 11 recovered | ARCC de-conflicts airspace |
+------------------------------------------------------------------------------------------------------+
Figure b02.2 — globe_rmp (secondary). The same data on the CesiumJS-globe MapConsole — a recognised SAR picture fusing the three MRCC/MRSC + IAA ARCC with live AW189 ADS-B tracks; right-rail asset/centre list + the human-required gate.

Figure — Recognised maritime picture (globe_rmp). Production-fidelity React surface (buildable); the faithful ASCII follows.
+--------------------------------------------------------------------------------------------------+
| Virtual-JRCC Recognised SAR Picture (CesiumJS globe MapConsole) |
+-------------------------------------------------------------------+------------------------------+
| CesiumJS globe - IRCG SRR (Ireland) camera pitch -68deg | SAR ASSETS (live) |
| | R115 AW189 ON-SCENE |
| _.--''''--._ MRSC Malin Head (N coast) | R117 AW189 inbound |
| .-' IRELAND '-. o coordinating: N + NW | R118 AW189 standby |
| / o Malin \ | RNLI Baltimore u/way |
| | o Dublin NMOC | MRCC Dublin (NMOC) = lead JRCC | RNLI Courtmac. u/way |
| | (lead MRCC) | | CRB Union Hall tasked |
| \ o Valentia / MRSC Valentia (SW) | Drone-Toe-Head up |
| '-._ *R115 *R117_.-' * = live aviation tracks | |
| '--..____..--' | CENTRES |
| ~~ Celtic Sea SRR ~~ IAA ARCC airspace de-confliction | MRCC Dublin LEAD |
| EMODnet bathy base + S-101 ENC + live AW189 ADS-B feed | MRSC Valentia link |
| | MRSC Malin link |
| | IAA ARCC joined |
| | |
| | GATE: human-req |
| | watch-officer 2/2 |
+-------------------------------------------------------------------+------------------------------+
| Virtual-JRCC shared picture: 3 MRCC/MRSC + ARCC fused | tasking human-gated | full audit ledger |
+--------------------------------------------------------------------------------------------------+
§8b — Field-unit (Pixel) surfaces
The same scenario on the Pixel 10 Pro Fold field unit (Nexus Field app), tightly coordinated with the dashboard COP above — command pushes the task, the unit accepts + ACKs, shares position and reports back to the COP. Built on the same synergy.field_unit / field_task / field_report contract; see §9 and the cluster coordination composite.
Figure §8b.1 — Folded cover · tasking glance (ground_glance): the incoming IMMEDIATE task, ACCEPT + ACK, alert chips, bearing-to-objective.
Figure §8b.2 — Unfolded inner display · field COP: two-pane mini-map + task list + teammate roster + air/command coordination + PTT, with the Material-3 NavigationBar + Report FAB.
§9 — UI/UX flow (literal click-path)

Figure §9.0 — Dashboard ↔ field-unit coordination loop (cluster B): the command COP, the Pixel field unit, and the wire between them annotated with the real synergy-server endpoints — LIVE (/api/v1/cop/picture, /viewport/state) vs PENDING-for-demo (/api/v1/field/{tasks,reports}).
Interaction path: MapConsole incident pin → [ Open Decision Room ] (right-docked ChatTerminal) → review proportionality P=0.88 + persona bubbles → MRCC watch-officer [ /dual-control sign ] (signer 1) → duty SMC [ /dual-control sign ] (signer 2, distinct) → tasking writes to R117 → Area A NW → IAA ARCC airspace de-confliction → asset ack on the Inspector rail → BDA delta (recovered ++) → [ Re-compute drift ] if outstanding > 0 → close to the HistoryRail audit ledger.
[pin] --open--> [Decision Room] --P=0.88--> [sign 1] --distinct--> [sign 2] --write--> [task R117->A-NW]
|
[close+ledger] <--BDA(recovered++)-- [asset ack] <--de-conflict-- [IAA ARCC] <--+
|
'--outstanding>0--> [re-drift +30m] --> (loop)
§10 — Decision-Room transcript (the gated decision)
[On-scene CDR | R115 | L2 edge]
R117 has the fuel + winch for Area A NW; I hold overhead Area A.
Recommend assign R117 to NW sector, highest drift PoC. Surface picture clear.
[Proportionality | L3 Mistral-Large-EU]
Life-safety: 7 outstanding, deteriorating Met (SW 6-7, seas 4.5m).
Necessity 0.93, proportionality 0.86, least-intrusive 0.85 -> P=0.88.
Tasking is proportionate. No person-level data touched (aggregate POB only).
[RNLI ops | duty launch authority]
Baltimore + Courtmacsherry ALBs hold Area B; sea-state within ALB limit.
Concur R117->A NW; we do not need the helo inshore. No conflict.
[Civil-society / accessibility | IHRC-aligned reviewer]
Confirm casualty handling stays aggregate-count only; NO biometric capture
of recovered persons, NO facial ID, NO identity inference. -> condition logged.
Survivor data, once ashore, is HSE/medical, not this COP. Affirmed.
[Devil's advocate | L2 Mistral-7B local]
Could the drift datum be stale? Last fix 18min old.
-> trigger [Re-compute drift] BEFORE dispatch; if PoC shifts >2nm, re-rank.
[Domain expert | SMC (Search & Rescue Mission Coordinator)]
Drift recompute returns same NW bias (Copernicus leeway confirms).
Concur: assign R117 -> Area A NW. Set re-poll +30m if no find.
GATE: human-required | dual-control 2/2 distinct
Proportionality P=0.88 [N:0.93 P:0.86 L:0.85]
Conditions carried: + aggregate-count-only (no biometric) + re-drift confirmed + re-poll +30m
DB CHECK enforces: no TaskingOrder.dispatched_at without TWO distinct watch-officer sign-offs.
VERDICT: ACCEPT (conditional) -> sign 1 = MRCC Dublin watch-officer ; sign 2 = duty SMC
§11 — Write-back + BDA + PROV-O chain + deltas-only regulatory traceback
Write-back. On 2/2 sign-off, one chain fires: TaskingOrder(R117 → Area A NW) → ircg-jrcc://tasking bus → asset endpoint; IAA ARCC airspace de-confliction request fires in parallel. JSON-LD signed, lawful-basis stamped (maritime SAR coordination, Dept of Transport mandate), aggregate-only casualty payload.
BDA (loop close). Observe recovered / outstanding deltas at the asset interface (ObsLvl 3 — measured); if outstanding > 0 and no find within the re-poll window, the loop re-computes drift and re-ranks. Prospective item: re-poll +30m registered; incident debrief generates a LessonLearned entity.
PROV-O chain (finding → close):
TaskingOrder-b02 ← wasGeneratedBy ← AssignmentRankingSkill ← used ← (Datum, DriftPrediction(Copernicus), Met-bundle, LiveTrack-bundle). DecisionRoomTranscript ← wasAttributedTo ← {On-scene CDR, Proportionality, RNLI-ops, Civil-society, Devil's-advocate, SMC}. TaskingOrder-b02 ← wasDerivedFrom ← DecisionRoomTranscript ∩ dual-control 2/2. BDA-recoveredDelta ← wasGeneratedBy ← AssetAck. Every node Merkle-anchored to the audit ledger at interval τ.
Deltas-only regulatory traceback (only what differs from §4.0 defaults):
- GDPR: the COP holds no personal data operationally (aggregate counts, asset positions). Once survivors are ashore, identity/medical data is the HSE's, under a separate controller — carve-out, not in this tenant.
- EU AI Act: SAR-asset tasking decision-support is not an Annex-III high-risk use (no person-level effect order; no biometrics; no profiling). FRIA still produced as a courtesy artefact. Art. 5 prohibitions (applicable 2 February 2025) are structurally unreachable here.
- NIS2 / CER: the audit ledger doubles as resilience evidence for IRCG as a maritime-transport entity.
§12 — Buyer & stakeholders
| Role | Named | Status |
|---|---|---|
| Operational owner | Micheál O'Toole, IRCG Director | [verified serving, Feb 2026] |
| Policy / budget | Joanna Cullen, Asst Sec Gen IRCG, Dept of Transport | [verified — Oireachtas submission 17 Feb 2026] |
| Multi-agency gate (chair) | NSARC independent chair (current holder TBD; inaugural chair Sir Alan Massey stepped down July 2020) | [verified structure; current holder TBD] |
| Aeronautical RCC | IAA ARCC lead | [Named contact TBD] |
| Voluntary sector | RNLI Ireland operations | [Named contact TBD] |
| Procurement | Dept of Transport / Office of Government Procurement (eTenders) | [verified channel] |
§13 — Competition / incumbency + comparator
- CLS Group THEMIS SAR — the incumbent single-agency SAR decision-support, deployed across all three IRCG centres (MRCC Dublin + MRSC Malin + MRSC Valentia) as SaaS, IAMSAR-compliant, with oil-slick drift modelling. [verified — CLS]
- Critical Software "Oversee" — RCC command-and-control / incident management incumbent at IRCG. [verified]
- Open ground: the cross-agency virtual-JRCC fusion layer above these single-agency tools is the only un-occupied slot — and both EU incumbents are positioned to extend into it.
Comparator — Palantir/Esri-class integrated EM. Wins: the non-bypassable dual-control DB CHECK (no tasking dispatch without two distinct sign-offs) is mechanical enforcement, not an overridable workflow gate; the civil-society/accessibility persona seated inside the decision; aggregate-count-only casualty model enforced at the schema; sovereign-EU AI router refusing out-of-jurisdiction model calls. Losses: CLS THEMIS's mature, battle-tested SAR drift + IAMSAR planning is deeper and already live across all three centres; we are the coordination layer above, never the planner replacement. Ties: EMODnet/Copernicus integration, audit/ledger posture.
§14 — Readiness (honest, pre-pilot)
- Reuse (real): the storm-replay COP + maritime/flood pillars (Met Éireann, EMODnet, Copernicus drift), the triple-renderer map (MapLibre-2D + CesiumJS globe), the human-gated action loop, the audit ledger, the Decision Room. The live
/synergy-consolealready renders 117 maritime entities (incl. DOLPHIN-21). [demonstrable] - Real gaps: no live ADS-B feed for Bristow AW189; no THEMIS/Oversee integration; no IAA ARCC data contract; no IRCG drone-team telemetry; mass-rescue drift parameters are demo-grade, not validated against IRCG datum practice. Demo-ready, not deploy-ready.
- Honest framing: the single-agency COP is occupied (THEMIS); we can only win the harder cross-agency layer. This is a fast-follow off a Naval-Service/MDA beachhead, not a standalone NOW row.
§15 — ENGAGEMENT PLAYBOOK (first-contact → signed contract)
| Stage | Trigger | Owner | Activity / template | Exit criterion | Deliverable |
|---|---|---|---|---|---|
| 1. First contact | A Naval-Service/MDA or Patrick-Walsh path reaches an IRCG / Dept-of-Transport / NSARC member | Founder | Warm-intro email (below) | Reply + a discovery slot | Booked discovery call |
| 2. Free discovery | Slot booked | Founder | 60-min agenda (below); listen, surface pain, Declined-List check | Named sponsor agrees the cross-agency gap is worth solving | Discovery write-up |
| 3. Scoped demo | Sponsor asks "show me on our kind of data" | Founder | Mass-rescue replay on the §8 surfaces; lead with dual-control CHECK + civil-society seat | "Could we try this on a narrow real slice?" | 30-min replay demo |
| 4. Pilot | Demo exit-ask = yes | Founder + partner vehicle | 1-page pilot proposal (below), funded via a discrete ICT/innovation line or non-dilutive grant | Success criteria met or credibly trending | Time-boxed pilot |
| 5. LOI | Pilot criteria met | Founder (own name, s.45) + sponsor | LOI checklist (below); solicitor-reviewed; Declined-List affirmation | Signed LOI naming sponsor + next step | Signed LOI (Patrick-check trigger) |
| 6. Contract | LOI + partner vehicle + procurement route | Partner vehicle (MAHI/Dogpatch) + buyer procurement | OGP/eTenders or sub-threshold; Defence-procurement Art.346 not applicable (civil) | Award | Signed contract |
Warm-intro email (adapted, unsent draft):
Subject: A no-cost cross-agency SAR operating-picture discovery session [Name] — [warm-intro context, via the maritime/MDA conversation]. We build an EU-sovereign common-operating-picture and decision platform, and we run a free discovery session: we map how the three rescue centres and the ARCC share a picture today, and where tasking decisions stall. If it's useful, we show a faithful mass-rescue replay with a single human-gated, fully-audited tasking decision — on your kind of data, not generic demo data. We publicly refuse biometric ID, predictive policing, and any individual risk-scoring: this is asset coordination and resilience, human-gated and auditable, directly answering the long-mandated "virtual JRCC" coherence goal. Could I show you 20 minutes? — [Founder]
60-min discovery agenda (adapted): 0:00–0:05 frame + permission (unclassified abstraction); 0:05–0:20 walk a recent multi-asset incident detect→close, who touched it in what order, how many systems; 0:20–0:35 lawful basis (aggregate vs personal data), NIS2/CER scope, where AI/model calls run; 0:35–0:45 who owns the problem operationally (O'Toole) vs budget (Cullen) vs governance (NSARC), is there a discrete ICT line short of the Bristow envelope; 0:45–0:55 sketch their loop onto detect→enrich→triage→gate→task→execute→assess→close, find the cross-agency gap; 0:55–1:00 reflect 1–3 pains, ask for the scoped demo. No money, no LOI asked here.
1-page pilot proposal (filled for IRCG):
- Title & sponsor: "Virtual-JRCC cross-agency SAR COP pilot" — sponsor: IRCG (O'Toole ops; Cullen budget); NSARC informed.
- Problem (their words): "Three centres + the ARCC + RNLI + drone teams coordinate a major incident by voice and email; there is no shared, auditable operating picture."
- One thing we prove: "We can fuse the three MRCC/MRSC + ARCC into one shared, human-gated SAR picture and reduce time-to-shared-tasking-decision from X to Y on a mass-rescue replay." (X/Y baseline TBD week 1.)
- Scope in/out: IN — one mass-rescue scenario, datum/drift/search-area + live(/replayed) asset tracks, dual-control tasking, audit ledger. OUT — replacing THEMIS/Oversee; any biometric/identity/predictive capability (Declined-List, excluded).
- Data & lawful basis: aggregate counts + asset positions only; EU-hosted; classification × isolation = TLS / hardened EU-RESTRICTED containers.
- Success criteria: 2–4 sponsor-agreed metrics (time-to-shared-picture; tasking-decision lead-time; audit completeness). Baselines TBD week 1.
- Timeline: 8–12 weeks, mid-point checkpoint.
- Commercials: €0 to IRCG if grant-funded; else discrete ICT line. Production band Tier-1 €120–240k/yr only if asked.
- Roles: founder + partner vehicle (build); IRCG SMC + watch-officer (domain); named POCs both sides.
- After: LOI if criteria met.
- Funding vehicle: Research-Ireland Defence Innovation Challenge Search and Rescue named challenge (academic-routed — via a CeADAR/UCD partner, not a direct company application) or a discrete IRCG ICT line; EUDIS/EDF maritime track (consortium-only).
LOI checklist (this buyer): parties (IRCG + Founder in own name, s.45 ratifiable); statement of intent (proceed to next phase, conditional on funding/procurement); scope carried from pilot; success criteria referenced; named sponsor (O'Toole + Cullen); indicative timeline + next step; indicative commercials ("to be scoped under OGP/eTenders" — not a contract); conditions (funding line, DPA, accreditation); non-binding except confidentiality; mutual NDA; Irish law; Declined-List affirmation; signatures dated; ⚖️ solicitor review before sending.
§16 — PM / timeline
Stage \ Month M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12
First contact ##
Free discovery ###
Scoped demo ####
Partner-vehicle gate [====CRITICAL: V 0.10->0.45/0.75 must resolve for a PAID pilot====]
Pilot (8-12wk) ########
LOI ###
Procurement/contract ####################
(OGP/eTenders or sub-threshold)
Milestones: ^discovery booked ^demo exit-ask=yes ^pilot criteria met ^signed LOI ^award
Critical path: the partner-vehicle / Stamp-1G gate (V) is the binding constraint for any PAID pilot or contract — a free discovery + non-binding MOU can proceed solo immediately, but money cannot move until either MAHI/Dogpatch acts as contracting prime (V→0.75/0.45) or the founder reaches Stamp 4 (V→1.0).
RACI:
| Activity | Founder | Warm-intro sponsor | MAHI / partner-vehicle | Buyer champion (O'Toole) | Buyer procurement (Cullen/OGP) |
|---|---|---|---|---|---|
| Secure intro | R | A/R | C | I | I |
| Free discovery | R | C | I | A | I |
| Scoped demo | R | I | C | A | I |
| Pilot delivery | R | I | A (contracts/invoices) | C | I |
| LOI | R | C (Patrick-check) | C | A | I |
| Procurement/contract | C | I | R | C | A |
§17 — Funding / procurement vehicle
- Primary (buyer budget): a discrete ICT/innovation line carved from Programme E (€162.5m Budget 2026) or the €145m IRCG capital — not the Bristow-committed bulk. Sub-OJEU scoped pilot via Dept of Transport / OGP eTenders. [verified envelope; discrete line unconfirmed]
- Non-dilutive (our side): 35% refundable R&D Tax Credit — blocked until incorporation (Stamp 4); Research-Ireland Defence Innovation Challenge Search and Rescue is academic-routed (company cannot apply directly — via CeADAR/UCD); EUDIS/EDF maritime is consortium-only. [verified]
- Vehicle to contract: MAHI as contracting prime or a Dogpatch-brokered entity (lifts the legal gate); founder solo cannot sign a paid contract.
§18 — TWO-STAGE FORMULA SCORECARD
Stage-1 {mandate_pull, access_warmth, demonstrability, decline_safety, white_space, cycle_speed, pillar_fit} — each [PRIOR], dated 2026-06-05:
| Factor | Score | Dated rationale [PRIOR] |
|---|---|---|
| mandate_pull | 3 | Virtual-JRCC written mandate (2019 NSP / R116) is real but NOT a fresh funded line; budget Bristow-committed [2026-06-05] |
| access_warmth | 1 | Cold to civil Dept-of-Transport/IRCG; warm assets (Patrick, MAHI) point at Defence, not Transport [2026-06-05] |
| demonstrability | 4 | Reuses maritime + flood pillars + storm-replay; mass-rescue replay demo-ready on IRCG domain [2026-06-05] |
| decline_safety | 5 | Fully decline-safe: SAR coordination, aggregate-count-only, no biometric/predictive drift possible [2026-06-05] |
| white_space | 2 | CLS THEMIS + Critical Oversee own single-agency; only cross-agency fusion open, incumbents can absorb [2026-06-05] |
| cycle_speed | 2 | Multi-agency NSARC consensus + OGP procurement = slow; free-discovery route exists [2026-06-05] |
| pillar_fit | 5 | Squarely the action-loop COP core (detect→gate→task→close) [2026-06-05] |
S1 = .22(3)+.22(1)+.18(4)+.14(5)+.10(2)+.08(2)+.06(5) = 2.96. P_LOI = 0.55 / (1 + exp(−1.15·(2.96 − 2.6))) = 0.33 → ~33% (band 22–35% ✓).
Stage-2 {contractability, funding_to_pay, procurement_clarity, incumbency_displacement, time_to_value, reference_leverage} — each [PRIOR]:
| Factor | Score | Dated rationale [PRIOR] |
|---|---|---|
| contractability | 1 | Founder solo on Stamp 1G — no signable vehicle [2026-06-05] |
| funding_to_pay | 2 | €162.5m envelope real but Bristow-committed; needs a discrete unconfirmed ICT line [2026-06-05] |
| procurement_clarity | 2 | OGP/eTenders + multi-body NSARC; no sub-threshold route confirmed [2026-06-05] |
| incumbency_displacement | 3 | Sit ABOVE THEMIS single-agency (integrate), but absorption risk by CLS [2026-06-05] |
| time_to_value | 3 | Demo-ready via reuse; pilot inside a season feasible [2026-06-05] |
| reference_leverage | 2 | Fast-follow off a Naval beachhead; no delivered reference yet [2026-06-05] |
S2 = .24(1)+.22(2)+.18(2)+.16(3)+.12(3)+.08(2) = 2.04. P_raw = 0.70 / (1 + exp(−1.1·(2.04 − 2.8))) = 0.21. Legal gate G = V·T, T = (30−12)/30 = 0.60:
- V=0.10 (solo today): G=0.06 → P(Contract|LOI) ≈ 1.3%, P(Contract) = P_LOI·G·P_raw ≈ 0.4%
- V=0.45 (Dogpatch-brokered entity): G=0.27 → P(Contract|LOI) ≈ 5.7%, P(Contract) ≈ 1.9%
- V=0.75 (MAHI prime): G=0.45 → P(Contract|LOI) ≈ 9.5%, P(Contract) ≈ 3.2%
- V=1.0 (Stamp 4, t_resolve→0 ⇒ T=1): G=1.0 → P(Contract|LOI) ≈ 21.2%, P(Contract) ≈ 7.0%
Score100 = S1·20 = 59.2. Board anchor = 60.6 (to-LOI 22–35%, to-buy 13–21%). Reconciles within ~1.4 pts ✓; to-buy band's upper bound (21%) is met only at the V=1.0 gate, consistent with the source-card "fast-follow, not a standalone NOW" verdict.
§19 — Commercial
- Tier-1 (single-scenario pilot / one region): €120–240k/yr — ACV ~€120–180k; terms: annual, EU-hosted, DPA, audit ledger included. Requirement: a discrete ICT line or grant; partner contracting vehicle.
- Tier-2 (full virtual-JRCC across 3 centres + ARCC): €480k–1.2m/yr — ACV ~€600k. Requirement: NSARC endorsement + OGP procurement.
- Tier-3 (multi-agency SAR + MDA national picture): €2.4–4.8m/yr — ACV ~€3m. Requirement: expansion into the Naval-Service/national-maritime-centre overlap (where SAR and MDA pictures intersect).
- Cost advantage: open-source substrate + sovereign HPC + shared conformity file + no forward-deployed-engineer dependency.
§20 — Legal blockers
- X1 — Stamp 1G (founder) ⚖️ CONFIRM: cannot be director/shareholder/self-employed or sign a paid contract until Stamp 4 ⇒ no paid pilot signable solo. Mitigation: MAHI/Dogpatch-brokered contracting vehicle; EEA-resident director (Patrick/Manuel) or €25k s.137 bond. The cap that makes V=0.10 today.
- X2 — EU AI Act [verified regime]: SAR-asset coordination is not Annex-III high-risk (no person-level effect, no biometrics); Art. 5 prohibitions applicable 2 February 2025 are structurally unreachable here. FRIA produced anyway. Per-use-case ⚖️ CONFIRM.
- X3 — GDPR / data residency [verified]: COP holds no personal data operationally; survivor identity/medical data is HSE's under a separate controller — carve-out. DPA per buyer; EU-hosted.
- X5 — Defence procurement Art.346 [verified]: not applicable — IRCG is civil (Dept of Transport), so standard OGP/eTenders, not a defence exemption.
- Buyer-specific — budget commitment: the Bristow aviation contract is the largest call on the €162.5m and a COP pilot would likely need a discrete line — but the exact split is unpublished; confirm with Cullen's office. [budget verified; split + discrete-line inferred, unconfirmed]
- X7 — Pre-incorporation contracting ⚖️ CONFIRM: sign NDA/MOU in founder's own name (Companies Act 2014 s.45), solicitor-reviewed.
§21 — Warm-intro contact + the SPECIFIC ask
- Path (today: cold/lukewarm). No named warm path into civil Dept-of-Transport/IRCG. Realistic route = spill-over credibility from a Naval-Service/MDA beachhead (where SAR and MDA pictures intersect at the "national maritime security centre"), or a Patrick Walsh test of whether his state/semi-state network touches any NSARC member.
- The specific ask to Patrick Walsh: "After (or alongside) the Naval-Service/MDA conversation, can you test whether your state/semi-state network reaches any NSARC member, the IRCG (Micheál O'Toole), or the Dept-of-Transport IRCG policy owner (Joanna Cullen) — for a free, no-cost discovery on the cross-agency virtual-JRCC coordination gap (object/asset coordination only, explicitly not biometric or identity)?" [
patrick@dogpatchlabs.com, verified] - The specific ask to MAHI (Pieter-Jan Note): carry IRCG as the civil SAR adjacency to the maritime beachhead, and act as the contracting prime that lifts the legal gate (V→0.75). [via founder's direct relationship]
§22 — Open questions + Sources
Open questions:
- Is there a discrete ICT/decision-support line in IRCG's budget short of the Bristow-committed bulk? [TBD — pull eTenders + the NSP virtual-JRCC implementation plan]
- Will CLS (THEMIS incumbent) be invited to extend into the cross-agency layer first? [TBD — incumbency risk]
- Can any NSARC-member relationship be reached via the Naval-Service path? [TBD]
- Current IAA ARCC and RNLI operational POCs. [Named contact TBD]
- Pilot success-criteria baselines (X/Y). [TBD — set with sponsor week 1]
Sources (dated 2026-06-05):
- IRCG 2025 ops (2,793 incidents; 933 helo; 798 RNLI; 121 community; 1,941 assisted; 44 units / 1,187 deployments; Bristow AW189 Shannon/Dublin/Sligo + fixed-wing Sept 2025) — gov.ie Dept of Transport, pub. 7 Jan 2026: gov.ie [verified]
- National SAR Plan + NSARC (independent chair; inaugural chair Sir Alan Massey, stepped down July 2020 — current holder TBD) + virtual JRCC model (IAA ARCC + IRCG MRCC, "enhanced technologies") — gov.ie / Our Ocean Wealth (NSP July 2019); first NSP Annual Report (July 2020): gov.ie ; ouroceanwealth.ie [verified]
- CLS THEMIS SAR deployed across MRCC Dublin + MRSC Malin + MRSC Valentia (SaaS, IAMSAR, oil-slick drift) — incumbent: maritime-intelligence.groupcls.com [verified]
- Critical Software "Oversee" RCC C2 incumbent at IRCG: criticalsoftware.com [verified]
- Budget 2026 Programme E Maritime Transport & Safety €162.5m + €145m IRCG capital (building + ILV Granuaile) — gov.ie: gov.ie [verified; Bristow-committed note: likely]
- Joanna Cullen Asst Sec Gen IRCG (Oireachtas Fisheries & Maritime Affairs submission, 17 Feb 2026): data.oireachtas.ie [verified]
- Source card #9
coast-guard-sar—03-gtm/target-packages/_master-loi-detail-01-12.md(score 60.6; Micheál O'Toole; 16 drone teams; mandate-freshness correction) [internal, cited]
