Digital twin

Seven simulators. One scenario player.

Test operations before they're deployed. Run synthetic CSI through the real inference stack. Replay incidents until the response is under five minutes. Each sim is a instrument in its own right.

The suite

Each sim is a digital twin of one part of the operation.

All seven share the same scenario player and the same event schema. What runs in a sim runs unchanged on real hardware.

Sim 1 · Coverage

Coverage Twin

Site coverage models. RF heatmaps. Estimate signal at any point on a floor plan or property. Compare placements before drilling holes.

Sim 2 · CRM

CRM Sim

Customer journey replay — lead → demo → sale. Practise the funnel; measure conversion by step; identify where deals die.

Sim 3 · Demand

Demand Sim

Vertical demand modelling across the 130-vertical scorecard. Pull-through forecasting per market, per channel.

Sim 4 · Growth

Growth Launch Sim

Launch sequencing. Groundswell content effect on pipeline. Pre-launch dry runs that show which channel actually moves the needle.

Sim 5 · Incidents

Incident Sim

Anomaly injection into a live event stream. Measure detect-to-respond. Train operators against scripted incident waves.

Sim 6 · Security

Security Breach Sim

Jamming, spoofing, and intrusion replay. The Jammer Theatre rehearsal stage. Confirm USB-serial failover before a customer sees it.

Sim 7 · Telemetry

Telemetry Sim

Synthetic CSI fields. Replayable scenes. The training source for new TinyML models before they get flashed to a real dongle.

The full sim repo also includes core-prov-sim, mcx-sim, and oss-ran-sim for telco-side operations — surfaced through darknoc.org when published.

The scenario player

One stage. Many plays.

The scenario player drives every sim from the same script format. A scene declares: which sim runs, which event stream feeds it, which actors are present, what they do, and what the expected response is.

scenario: name: "Warehouse blackout drill" sim: incident-sim duration: 600s actors: - forklift_1 (zone B, moving) - person_3 (entering zone A from west) events: - t=120s: lights_off(zone=A) - t=125s: presence_detected(zone=A, source=CSI) - t=125s: lights_on(zone=A, trigger=presence) expected: - latency.lights_on < 1s - operator_alert.count == 0 - report.energy_saved_kwh > 5

Same scene, three audiences: the demo team rehearses it before the customer call; the QA team regresses every release against it; the customer team replays the night they want to investigate.