Skip to Main Content

ballast

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

ballast — Demo video

We built a self-improving agent harness for finance. The agent runs on the Pi coding-agent runtime (sandboxed, with read/bash/write tools) and improves by rewriting its own skill files. Every change has to pass a CI-style test gate before it merges. The agent is Muse Spark, acting as a portfolio agent for each client of a wealth firm. In each run it reads the client's files and financial data feeds (bank, payroll, HR portal, messages), runs tools, and writes a trade recommendation with a reason for every trade. It has to notice life changes like a layoff, a new baby or a parent needing care. Self-improvement: only the skill files change between versions. The model, tools and grading rules stay fixed. When a run fails, Muse reads the failure, finds the root cause, and rewrites the skills, adding a plain-English lesson (e.g. "After a layoff, I build six months of cash first"). Verify before merge: every skill change goes through the gate. It must: - beat the current version on held-out clients (3 runs each) - break no regression tests - pass a backtest on real market data - get approved by an independent reviewer (Gemini) Otherwise it's rejected. If a shipped version starts failing, it rolls back. What we found: the held-out pass rate went from 65% to 95%, and backtest cash shortfalls went from 3 to 0. A control run that rewrote skills from shuffled failures gained nothing, so the gains come from real learning. The gate also rejected a later version whose gain was too small, and blocked a change that hard-coded one client's number.

Team