Observability pricing agent swarm demo - #12
Conversation
…nders /agent/run returns the agent's output as a JSON string nested in data.answer, but parseResult only handled a top-level string — so every result field was undefined and the FINAL COMPARISON table rendered all dashes even on a fully successful run. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The full results were only printed to the terminal, so closing it lost the data. Each completed run now also writes the same JSON payload to results/pricing-<timestamp>.json (gitignored). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ar-only handling Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Clean on the things that actually matter for a public repo: no secrets, no internal hosts, no committed The terminal-status list is hardcoded and misses one. Both the poll loop and the "N/M runs finished" counter test against The prompt asks for JSON in prose when The root README says "10 Browser Agents in Parallel". The demo ships 5 and the folder README says 5. That table is what people land on from a video description. Minor, your call: nothing tells the reader that each run bills browser time, and 5 agents against a 15-minute per-run cap is real spend for someone who copy-pastes the command. One README line plus an explicit What I verified: the token is read only from the environment and never printed or written anywhere, |
Summary
Adds the
observability-pricing-agentsdemo: one script that fans out one Browserless/agent/runbrowser agent per observability vendor in parallel, polls a live terminal dashboard, and normalizes the structured results into a pricing comparison table.On top of the original demo commit, this branch includes three fixes/improvements found by actually running it:
data.answerpayload/agent/runreturns — without this every field wasundefinedand the final comparison table rendered all dashes even on a fully successful runresults/pricing-<timestamp>.json(gitignored) so closing the terminal doesn't lose the dataBROWSERLESS_TOKENenv var (no.envsupport)Test plan
results/node --check index.mjspasses; the save path was verified by replaying a captured run's payload through the identical logic🤖 Generated with Claude Code