Implementation Roadmap

Ported from the full pack's R0–R6 plan + checklist. gist today is Phase 1 — the R1 models, CRUD, map and seed are built; the spatial/event runtime (R2–R5) is the Phase 2 scope on page 13.

flowchart LR
    R0[R0 Specification - done]
    R1[R1 Spatial Portal - Phase 1 done: models, CRUD, map, seed]
    R2[R2 Spatial Intelligence]
    R3[R3 Event System]
    R4[R4 Orchestrated GIS]
    R5[R5 Governance Demo]
    R6[R6 Enterprise Adapter]
    R0 --> R1 --> R2 --> R3 --> R4 --> R5 --> R6

Build in vertical slices — each release leaves a demonstrable, testable application. Priority order: data correctness → testability → event behaviour → UI refinement → optimisation.

R0 — Specification ✅

Model/field names frozen; DSL/YAML aligned; documentation complete; event contracts and scenarios defined; Mermaid diagrams added.

R1 — Spatial Portal ✅ (Phase 1, built)

  • [x] generate base application (21 models)
  • [x] seed organisations/tenants, roles/permissions, layers/features (98 rows)
  • [x] Leaflet map (/spatialfeature/map) + layer-coloured features + feature details
  • [x] dashboard + AI-Safe CRUD register
  • [ ] enforce tenant-aware queries at the API layer (Phase 2)

Exit: authorised users can understand the sample spatial situation on a map. (met)

R2 — Spatial Intelligence ⏳

Integrate Shapely + a geometry/CRS service (EPSG:4326↔7856); implement intersects / within / contains / proximity; persist relationships; re-evaluate on change; retain ceased history. Exit: relationships are detected automatically.

R3 — Event System ⏳

Generic rule loader + applicable-rule selection; event factory + template materialisation; local event queue + status transitions; audit events; replay/manual evaluation. Exit: feature changes generate deterministic local events.

R4 — Orchestrated GIS ⏳

Outbound HTTP adapter; POST events; acknowledgement; idempotency; retries; orchestration reference; health checks; manual replay; reconciliation. Exit: a spatial change reliably creates downstream coordination.

R5 — Governance Demonstration ⏳

Relationship acknowledgement + assessment state; coordination-case / decision / obligation / action references; stale/unresolved exceptions; reconciliation; provenance chain. Exit: evidence → event → coordination → decision/action → resolution is visible.

R6 — Enterprise Adapter ⏳

Generic inbound feature API; scheduled imports; GeoJSON export; adapter abstraction; simulated ArcGIS REST; WFS/WMS assessment; SpatiaLite/PostGIS migration path; larger datasets. Exit: real GIS adapters can replace the simulator without changing Orchestrator contracts.