Skip to Main Content

partial

Built at AIE Code Summit 2026 Hackathon · Nov 7, 2026 · San Francisco, CA

Demo video · cap.carl.selfhost.imbue.com/…

partial reconstructs a damaged biosignal recording from its raw serial tape and says which parts it saw and which parts it guessed. A Cerelog research board (8 channels of ADS1299 at 250 samples a second, the board under my silent-speech work) streams a proprietary 37-byte packet over USB. Sessions rot: metadata gets lost, the cue log gets cut, bytes go missing or get garbled, and there is no datasheet or driver source in the folder. An agent on Meta Model API (muse-spark-1.3) is handed the damaged folder with eight small tools (list, read, hex dump, byte histogram, find bytes, write, run Python, summarise an array). It reverse-engineers the wire format from the bytes (sync markers, packet length, timestamp, channel count, int24 big-endian samples, checksum rule), writes and runs its own parser that resynchronises after the damage, recovers the sample rate, usable channels and the trial labels it can ground, draws the channels, and writes reconstruction.json where every claim is {value, observed|inferred, evidence, confidence}. A held-out oracle (a compact port of the real driver, never shown to the agent) then scores it: packet count, timestamp set, byte-identical samples, each claim against the untouched session, and labels where a wrong label marked observed costs double. Built today: the synthetic session generator, the deterministic corruptor, the agent and its tools, the scorer, the CLI, the tests, a live eight-channel scope, and the first real block: I soldered the four electrode leads at Shack15, proved each one by a short test, and recorded 12 trials on my own face at 3:48 PM (jaw clench 14.8 dB above rest). Prior work from October: the real Cerelog driver port, used only as ground truth. Live results on muse-spark-1.3: synthetic block, all 11,122 surviving packets recovered byte-identical to the oracle, 0.88 total, and the agent declined to guess volts per count rather than fabricate it. Real block recorded today, damaged the same way: all 17,049 packets recovered with matching timestamps on the first run, which then ran out of its 40-step budget before writing the report (scored 0.15, honestly); an 80-step rerun is in the repo's examples. Repo: github.com/CarlKho-Minerva/partial

Team