🏛️ exo architect · milestone 0 · stub
Exo Architect
An idea becomes an architecture built on XO, the architecture becomes a mock simulation of its data flow, and the simulation becomes implementation candidates — each one timed and measured. Black boxes at every depth; group and ungroup freely.
1Idea
2Architecture
3Mock simulation
4Measured candidates
Mock data flow — click a box to ungroup it
An example system: an order flows through black boxes. "Checkout" is itself a group; click it to see its inner boxes. Events move as dots; each box reports latency from a mock model.
events 0p50 –p95 –depth 0
The API we are aiming for
Tiny, high-level, tag-driven. Backend-agnostic: the same lines run against a mock XO today and the real XO later.
from exo import system, box, flow @box("checkout", emits="order.paid", mock="lat~N(40ms,8)") def checkout(order): ... shop = system("shop") >> checkout >> box("fulfil") >> box("notify") shop.simulate(events=10_000).report() # mock data flow, timed shop.candidates(checkout).race() # real implementations, measured