Agent Tracker

loop-cart-20260404-0930
idle checkpoints iteration 0
00:00
Messages press play
Agents
Budget revisions vs information
Target
Release criteria
Protocol parameters
Decisions
Latest decision

No decision yet.

Consults

None raised.

Event stream
Wire this to your backend

The page renders whatever state it is given; the demo above is a recorded replay of the offline demo-cart run so the first frame shows something real.

// 1. one event as it happens (WebSocket, SSE, poll — your choice)
BioSense.push({ who: "bio", msg: "2 levers implicated, 2 questions untestable here" });

// 2. animate a message between two agents on the graph
BioSense.message({ from: "orch", to: "bio", label: "what does losing EXH1 change?" });

// 3. replace dashboard state
BioSense.setState({ loop_id, status, iteration, autonomy, arms, qc, params, budget });
BioSense.setDecision(decisionJson);   // decisions/decision-NN.json
BioSense.setConsults(consultArray);    // consults/*.json

// 4. load files the loop already wrote
BioSense.loadLoopState(json);   // runs/loop-*/loop_state.json
BioSense.loadAnalysis(json);    // runs/loop-*/itN/analysis.json

What maps from disk: loop_state.json gives the ledger, the autonomy gates and the consult list; decisions/decision-NN.json gives the type, reasoning, rejected alternatives, allowed set and policy advice; analysis.json gives per-arm target and QC; the approved protocol gives the parameter table with provenance tags. Only the live agent states come from your Omnigent session rather than from disk.

Drop loop_state.json, analysis.json or a decision-NN.json here

Demo data replays a synthetic CAR-T process-development loop used to test this interface. The gene name, the source paper, the reactor and every number are invented; the decision documents are scripted stand-ins for the orchestrator's reasoning. Nothing here is clinical or manufacturing guidance.