You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of #4930 → Lane A #5 (Bet 6). Fully data-independent and parallelizable — slot anytime.
Scope (incremental)
Verifiable sim: theater invalidators/stabilizers/timingMarkers are already structured — bind them to feed metrics so branch predictions get resolved and scored like forecasts (the sim earns its own track record; kills the "narrative theater" criticism).
Persistent actor memory: actor postures/objectives evolve across runs (continuity records exist; today each run mostly resets) — the genuinely valuable MiroFish idea, without the thousand-agent cost.
Bridge the two engines: a forecast with routeFacilityKey auto-runs the deterministic run-scenario supply-chain worker → "if this lands: top exposed countries/sectors" card with real trade math. Demo-able differentiator, zero new data needed.
Part of #4930 → Lane A #5 (Bet 6). Fully data-independent and parallelizable — slot anytime.
Scope (incremental)
routeFacilityKeyauto-runs the deterministicrun-scenariosupply-chain worker → "if this lands: top exposed countries/sectors" card with real trade math. Demo-able differentiator, zero new data needed.trigger-simulationqueue (bounded templates, not free-form) — builds on the 202 async-job contract in feat(forecast): adopt the 202 async-job contract on trigger-simulation (conditional 202/200) #4811.Done when
At least the verifiable-sim binding lands (sim branches resolved + scored); the other three are independent follow-ups.
Related: #4930, #4811 (trigger-simulation 202 contract), #5007 (scoring machinery).