Platform Overview

The AESOP strategic decision support platform — three Django microservices forming the CALCHAS trilogy.

Architecture Diagram

aesop_intell (XXX) :8000 OSINT Intelligence Collection & Synthesis 28 Django apps — PostgreSQL, Apache AGE, pgvector sentence-transformers, Mistral AI, H3, Celery+Redis HTMX, Leaflet.js PostgreSQL pgvector Apache AGE Mistral AI Redis 0, 1 DB: aesop_intell aesop_modelisation (MIDAS) :8001 Critical Infrastructure Modeling 8 apps: app_midas_core, app_midas_pnaiv (5 sectors), app_midas_is (IS graphs: nodes, edges, dependencies), app_midas_geo (H3 hex tiling + altitude layers), app_midas_propagation (cascade engine), app_midas_injection (3 disruption modes), app_midas_dashboard, app_midas_api PostgreSQL Apache AGE H3 Celery Redis 2, 3 DB: aesop_modelisation aesop_simulation (AESOP) :8002 Military Wargame Simulation 11 apps: app_sim_core, app_sim_belligerant (Will + Capability), app_sim_unit (6 VE + 8 VC tactical units), app_sim_tabord (TABORD), app_sim_turn (10-step OODA), app_sim_combat (Monte Carlo), app_sim_infops, app_sim_c2 (command chain in AGE), app_sim_map (H3), app_sim_montecarlo, app_sim_api PostgreSQL Apache AGE Channels NumPy/SciPy Redis 4, 5, 6 DB: aesop_simulation Enriched OSINT data Infra chessboard Simulation feedback CALCHAS Trilogy Strategic Decision Support Platform

Services Detail

aesop_intell (XXX)

OSINT intelligence collection and synthesis. Gathers, enriches, and structures open-source intelligence for downstream consumption.

28 Django apps

PostgreSQL Apache AGE pgvector sentence-transformers Mistral AI H3 Celery+Redis HTMX Leaflet.js

aesop_modelisation (MIDAS)

Critical infrastructure modeling. Maps and simulates dependencies across vital sectors to evaluate cascade effects.

8 Django apps

  • app_midas_core — Core models and utilities
  • app_midas_pnaiv — 5 PNAIV sectors
  • app_midas_is — IS graphs (nodes, edges, dependencies)
  • app_midas_geo — H3 hex tiling + altitude layers
  • app_midas_propagation — Cascade engine
  • app_midas_injection — 3 disruption modes
  • app_midas_dashboard — Visualization dashboard
  • app_midas_api — REST API

PostgreSQL Apache AGE H3 Celery+Redis Leaflet HTMX

aesop_simulation (AESOP)

Military wargame simulation. Models belligerents, units, orders, and combat through a 10-step OODA turn engine with Monte Carlo resolution.

11 Django apps

  • app_sim_core — Core simulation engine
  • app_sim_belligerant — Will + Capability modeling
  • app_sim_unit — 6 VE + 8 VC tactical units
  • app_sim_tabord — TABORD orders
  • app_sim_turn — 10-step OODA loop
  • app_sim_combat — Monte Carlo combat resolution
  • app_sim_infops — Information warfare
  • app_sim_c2 — Command chain (AGE graph)
  • app_sim_map — H3 battlefield map
  • app_sim_montecarlo — Monte Carlo engine
  • app_sim_api — REST + WebSocket API

PostgreSQL Apache AGE H3 Celery+Redis Django Channels NumPy/SciPy Leaflet HTMX

Port, Database & Redis Allocation

Service Codename Port PostgreSQL Database Redis Databases Django Apps
aesop_intell XXX 8000 aesop_intell DB 0 (Celery broker), DB 1 (cache) 28
aesop_modelisation MIDAS 8001 aesop_modelisation DB 2 (Celery broker), DB 3 (cache) 8
aesop_simulation AESOP 8002 aesop_simulation DB 4 (Celery broker), DB 5 (cache), DB 6 (Channels) 11

The CALCHAS Trilogy

CALCHAS is the overarching strategic concept that binds the three AESOP microservices into a coherent decision-support pipeline. Named after the mythological Greek seer who guided the Achaeans during the Trojan War, CALCHAS represents the platform's ambition: to see clearly through the fog of complex, multi-domain crises.
Stage 1 — XXX (aesop_intell) serves as the eyes and ears of the platform. It continuously collects, enriches, and synthesizes open-source intelligence (OSINT) from diverse feeds. Using sentence-transformers for semantic embedding (via pgvector), Mistral AI for natural-language synthesis, and Apache AGE for knowledge-graph construction, XXX transforms raw information into structured, geolocated, and interconnected intelligence products. These enriched OSINT datasets are then pushed downstream to MIDAS.
Stage 2 — MIDAS (aesop_modelisation) receives intelligence from XXX and uses it to build and maintain a living model of critical infrastructure. Organized around the 5 PNAIV sectors (Political, Normative, Administrative, Infrastructure, Vital), MIDAS constructs dependency graphs of information systems — nodes, edges, and weighted dependencies. Its cascade propagation engine can simulate how a disruption in one infrastructure element ripples through the network. The resulting "infrastructure chessboard" — a complete, scored, and geographically tiled model — is made available to AESOP for wargaming.
Stage 3 — AESOP (aesop_simulation) sits at the apex of the trilogy. It takes the infrastructure chessboard from MIDAS and overlays a full military wargame engine on top of it. Belligerents are modeled with Will (political resolve) and Capability (military strength). Tactical units — 6 types of VE (live forces) and 8 types of VC (cyber/virtual forces) — receive TABORD orders and execute them through a 10-step OODA turn cycle. Combat is resolved via Monte Carlo simulation. Information operations (INFOPS) model influence and perception warfare. The command chain is represented as a graph in Apache AGE, and the battlefield is projected onto H3 hexagonal tiles. Real-time updates flow through Django Channels and WebSocket connections.
The feedback loop: simulation results from AESOP can feed back into XXX, creating a closed analytical loop. Wargame outcomes inform intelligence priorities, which in turn refine the infrastructure models, which produce better simulation scenarios. This cyclical flow is the core strength of the CALCHAS trilogy — each service amplifies the value of the others.