The research instrument
From radio to evidence.
Follow the data through capture, storage, processing and evaluation. Inspect a component for its readings, dependencies and the evidence behind its status.
The interactive map adds component selection, zoom and a guided walkthrough when JavaScript is available.
- Radios & recorders Channel measurements are recorded to local binary captures.
- Capture archive Sealed segments are uploaded to object storage.
- Decode & ingest Binary records become rows.
- Measurement lake Parquet tables hold queryable measurements.
- Minute reductions Decoded records become per-receiver summaries in blocks; motion is another derived product.
- Detection & fusion Baselines, detection methods and receiver aggregation produce estimates.
- Evaluation Labels, episodes, empty-night false alarms and drift diagnostics support interpretation.
- Research portal Snapshots and experiments publish the resulting evidence.
- Radio 2 nodes reporting
- Sealed 11,523 segments the lake knows
- Awaiting decode 3,382 no packets rows yet
- Queryable 8,141 segments decoded
70.7% of sealed segments have been decoded. The rest are queued; the decoder works through them continuously.
The ingest lock is held — for 4.9 min. One writer at a time: while it is held, nothing else can write the lake.
2 catalogue transaction(s) left open, the oldest for 0.1 h. These are not the lock. They block housekeeping on the catalogue.
| Node | Doing now | Estimates/s | Segments | Decoded | Queued | Progress |
|---|---|---|---|---|---|---|
| ccx33 | No capture reported | — | — | — | — | — |
| monad01 | not reporting | — | 1,283 | 926 | 357 | |
| monad02 | not reporting | — | 1,218 | 867 | 351 | |
| monad03 | not reporting | — | 1,162 | 850 | 312 | |
| monad04 | not reporting | — | 1,173 | 842 | 331 | |
| monad05 | not reporting | — | 1,172 | 864 | 308 | |
| monad06 | not reporting | — | 1,161 | 829 | 332 | |
| monad07 | No capture reported | — | 1,207 | 813 | 394 | |
| monad08 | not reporting | — | 1,030 | 722 | 308 | |
| monad09 | not reporting | — | 993 | 680 | 313 | |
| monad10 | not reporting | — | 1,121 | 748 | 373 | |
| pi5-csi-iax | not reporting | — | 3 | 0 | 3 |
What the lake holds — 7 tables
| Table | Files | Size | Average file |
|---|---|---|---|
| sessions | 4 | 0.0 GB | 0.6 MB |
| timesync | 1,915 | 42.5 GB | 22.2 MB |
| ble | 435 | 0.2 GB | 0.5 MB |
| packets | 623 | 137.4 GB | 220.6 MB |
| blocks | 21 | 0.0 GB | 0.7 MB |
| motion | 125 | 0.1 GB | 1.0 MB |
| fleet_ops | 598 | 0.0 GB | 0.0 MB |
A lake table is Parquet on object storage. Many small files are slower to read than few large ones, because each is a separate request over the network — which is why the average-file column is here and not a detail.
Pipeline figures built 28 s ago. Node state is live at 30 s.
Processing and evaluation
Published analysis snapshot: 4 methods, 4 labels, 160 detection episodes. This is output inventory, not a validation verdict.
Source build: .
- Envelope, our transmitter only
- Doppler 20–60 Hz, our transmitter only
- Delivered-rate collapse
- Envelope, every transmitter
Three clocks. Fleet telemetry refreshes at 30 s. Lake inventory is built every minute and marked stale after three minutes. Processing and evaluation read a separately built analysis snapshot; its build time is shown explicitly.
What a status means. A queue is work waiting, a lock can be useful work, and a published output is not a validation verdict. Unknown readings stay unknown. Open the detector instrument for methods and evaluation, or the published JSON for the readings behind this map.