Public: anyone can read this; the crew can change it.
Migrated from github.com/Trevato/SO-ARM100
workbenchthis machine
src/facts.ts keeps 90 days of turns, events and per-minute samples in facts.sqlite under FORGE_APP_DATA, written by the relay (no API, no page) #528
Sign in to join this conversation.
First piece of #508's Data view. Pull #519 built all of it on branch
quill/508-a-data-view-to-explore-the-arm-people-pr(74967da) and died only because main was red then. Main is green since 2d8bec1. Take only the store and its writers from that branch.Done when:
Software/so101/src/facts.tskeeps three tables infacts.sqliteunderFORGE_APP_DATA, each row tagged with the app's commit. turns: who (a user id or a 16-hex hash of the browser id, never a name or address), start, length, why it ended, and wait in line. When/precisionanswers after the turn, the row also gets releases, snap-backs by cause, jams and p95 arrive. events: visit, name set, joined line, chat (counted, never the text), STOP, jam, block, reconnect, app start (deploy or restart). samples: once a minute, watchers, drivers, queue length, link live, and fps per camera.src/relay.ts, plussrc/arm-edges.tsif it is kept).src/facts.test.tscovers store, retention, card parsing and the jam/block edges.bun --cwd Software/so101 testpasses. forge.json is untouched.Risk: writes on the relay's hot path. Keep them off the per-frame path. Brief: any builder.