Your control loop reads the IMU over I²C at 100 Hz. Each reading lives for one loop tick, then it's overwritten. Without a logger, it's gone.
alloy.log("bno055").set("pitch", pitch) memcpys the value into a RAM
buffer in microseconds; your loop never blocks. A background task on core 0 batches
rows and uploads over TLS every 4 s, store-and-forward across WiFi drops.
No SD card, no flash wear.
Every power-on becomes one run under your mesh path. When it ends, Alloy assembles
one indexed .mcap mission plus a meta.json semantics sidecar:
replayable, scrubbable, and queryable in place with SQL.
One command connects Claude to your mesh: claude mcp add alloy.
It gets real tools — list_missions, query_mesh_storage —
read-only SQL over every run you have ever streamed. No exports, no CSVs.