Each box in the Ox Alpha stress fleet runs the OpenCode agent harness against the OpenRouter API, so the fleet burns Ox Alpha tokens through the account key the app already holds.
When box_new (#98) brings a box to ready:
- Install OpenCode with the published installer (
curl -fsSL https://opencode.ai/install | bash).
- Deliver the OpenRouter API key from the app's
OPENROUTER_API_KEY runtime configuration to the box through the Box file-write endpoint, not through a command argument, so the key never appears in command logs or event streams.
- Configure the default model from the app's
openrouter_model configuration (currently stealth/ox-alpha), so opencode run "..." targets Ox Alpha without per-call flags.
- Record bootstrap success or failure on the box ledger row;
box_list shows it.
The agent then drives OpenCode through box_exec (for example opencode run "fix the failing test"), and can parallelize across up to 10 boxes per conversation.
Central OpenCode auth versus the OpenRouter key was left open; start with the OpenRouter key because the app already holds it and OpenCode reads it natively.
Each box in the Ox Alpha stress fleet runs the OpenCode agent harness against the OpenRouter API, so the fleet burns Ox Alpha tokens through the account key the app already holds.
When
box_new(#98) brings a box to ready:curl -fsSL https://opencode.ai/install | bash).OPENROUTER_API_KEYruntime configuration to the box through the Box file-write endpoint, not through a command argument, so the key never appears in command logs or event streams.openrouter_modelconfiguration (currentlystealth/ox-alpha), soopencode run "..."targets Ox Alpha without per-call flags.box_listshows it.The agent then drives OpenCode through
box_exec(for exampleopencode run "fix the failing test"), and can parallelize across up to 10 boxes per conversation.Central OpenCode auth versus the OpenRouter key was left open; start with the OpenRouter key because the app already holds it and OpenCode reads it natively.