Product demo
See event history become useful.
Move through one order history. Watch AllSource reconstruct past state, reveal its event timeline and graph, trace pipeline work, rebuild a projection, and answer through MCP.
One event stream. Six ways to use it.
Follow one order from creation to dispatch. Move through its history and watch every AllSource surface answer from the same source events.
Entity
order-1042
Fixture
local · safe
Shared history cursor
As of 09:08:17 UTC · version 6
6 / 6 events applied
Event Timeline
Inspect every fact in sequence. Select one event to move every other view to that exact point.
Time travel without a second database
Replay source events through a timestamp. Current state and historical state come from the same durable stream.
- status
- dispatched
- total
- £129.00
- payment
- authorized
- inventory
- reserved
- delivery_postcode
- E1 6AN
- shipment
- ship_48 · Northline Express
Graph visualisation with provenance
Relationships appear only after their source event exists. Click a node to inspect what the graph knows at this point in history.
Trace one event through a pipeline
Filter, map, and branch accepted events without hiding which event produced each result.
Pipeline input
order.dispatched
- pass
filter()
entity_id = order-1042
- done
map()
normalize payload
- orders
branch()
route → orders
Projection state you can rebuild
Fold the same ordered history into a query-ready shape, then keep it current as new events arrive.
order-summary ready · v6- status
- dispatched
- total
- £129.00
- payment
- authorized
- inventory
- reserved
- delivery_postcode
- E1 6AN
- shipment
- ship_48 · Northline Express
MCP data access agents can reason over
Use explicit, tenant-scoped tools instead of pasting whole histories into prompts. These are real event-store connector tool shapes.
{
"name": "event_timeline",
"arguments": {
"entity_id": "order-1042",
"until": "2026-08-14T09:08:17Z"
}
}{
"entity_id": "order-1042",
"count": 6,
"timeline": [
{
"version": 1,
"timestamp": "2026-08-14T09:00:04Z",
"event_type": "order.created",
"summary": "Order opened for customer cus_mara"
},
{
"version": 2,
"timestamp": "2026-08-14T09:01:18Z",
"event_type": "order.confirmed",
"summary": "Customer confirmed checkout"
},
{
"version": 3,
"timestamp": "2026-08-14T09:02:41Z",
"event_type": "payment.authorized",
"summary": "£129.00 payment authorized"
},
{
"version": 4,
"timestamp": "2026-08-14T09:04:09Z",
"event_type": "inventory.reserved",
"summary": "Two items reserved in warehouse LON-2"
},
{
"version": 5,
"timestamp": "2026-08-14T09:05:32Z",
"event_type": "delivery.address_corrected",
"summary": "Delivery postcode corrected before dispatch"
},
{
"version": 6,
"timestamp": "2026-08-14T09:08:17Z",
"event_type": "order.dispatched",
"summary": "Parcel handed to Northline Express"
}
]
}Durable source
Core keeps the ordered events in WAL + Parquet.
Separate reads
Query Service serves HTTP, realtime, analytics, and projections.
Agent interface
MCP tools expose history and state without bulk prompt stuffing.
Build from working code
Demo explains the model. These examples show real SDK and service integration paths.
Reference projects
Real services in the monorepo that consume AllSource as their data layer. Read the source to see how the pieces fit together end-to-end.
Solution walkthroughs
Long-form pages on how AllSource maps to specific problem shapes — closer to a tutorial than a snippet.
