The self-improvement loop, run locally.
A Go port of SIA (Hebbar et al. 2026, arXiv:2605.27276): a meta-agent seeds a target agent, the target runs and records a trajectory, a feedback agent rewrites it for the next generation.
Research port. The orchestration loop, filesystem layout, and prompt builders are ported faithfully; the prompts are verified byte-identical against fixtures from the Python reference. Agent execution and evaluation sit behind Go interfaces, so the loop runs without a Python runtime.
What it does- Three-agent loop — orchestrates meta, target, and feedback agents over
runs/run_{id}/gen_{n}/generations, matching the reference layout. - Golden-locked prompts — meta and feedback prompt builders reproduce the reference text exactly, verified in tests against generated fixtures.
- Trajectory handling — loads execution trajectories with the reference's single- vs multi-trajectory detection rules.
- Pluggable runners — the engine that runs each agent is an interface, the same seam the reference exposes; bring your own model or harness.
- Harness and weights modes — improvement can target the agent's code or, in weights mode, convert trajectories into token-level samples for local LoRA training.
Each generation runs the target agent, records its trajectory, and feeds that record to the feedback agent that prepares the next generation. Agent execution and evaluation remain Go interfaces. That keeps the orchestration independent of the Python reference and allows weights-mode output to feed local LoRA training in mlx-go-lm.