You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Status of the BYOS thread in one place. Two things I told you earlier were wrong.
Decisions I need
BYOS: worker/runner level, or park? The ProviderAdapter version I pitched isn't worth building (why below). Worker level is a bigger job and a different shape than I sold you.
Config location, only if 1 is a go: framework config (env-paths/XDG, like the dashboard prefs) or a separate dotfile.
The binary has status = allowed|allowed_warning|rejected and rateLimitType = five_hour|seven_day|seven_day_opus|seven_day_sonnet|weekly. I only observed allowed/five_hour at runtime, the rest are strings in the binary, so that's evidence and not proof.
If allowed_warning fires like the name says, your original #298 design works off the free stream. No usedPercent though, that's all Traycer's private endpoint actually buys.
"BYOS is a new ProviderAdapter" -> it isn't. Our adapter contract is tools-in / tool-calls-out with the agent loop executing them, which is model-shaped. Claude Code is an agent that owns its own tool loop. Verified: told it to read a file, and the whole tool_use -> tool_result -> text ran inside the CLI.
So an adapter can only be generation-only, which throws away the agent and pays subscription prices for text completion. And codex and gemini have no tools-off flag at all, so that shape fits exactly one provider. These CLIs are peers of a worker, not of a model. It's the Runner seam, I named the wrong one of the two.
Status of the BYOS thread in one place. Two things I told you earlier were wrong.
Decisions I need
What I got wrong
"Usage isn't readable" -> it is.
claude -p --output-format stream-jsonalready emits this free on every run. No extra endpoint, no polling, no 429s:{"type":"rate_limit_event","rate_limit_info":{ "status":"allowed","resetsAt":1784079000,"rateLimitType":"five_hour"}}The binary has
status=allowed|allowed_warning|rejectedandrateLimitType=five_hour|seven_day|seven_day_opus|seven_day_sonnet|weekly. I only observedallowed/five_hourat runtime, the rest are strings in the binary, so that's evidence and not proof.If
allowed_warningfires like the name says, your original #298 design works off the free stream. NousedPercentthough, that's all Traycer's private endpoint actually buys."BYOS is a new ProviderAdapter" -> it isn't. Our adapter contract is tools-in / tool-calls-out with the agent loop executing them, which is model-shaped. Claude Code is an agent that owns its own tool loop. Verified: told it to read a file, and the whole
tool_use->tool_result->textran inside the CLI.So an adapter can only be generation-only, which throws away the agent and pays subscription prices for text completion. And codex and gemini have no tools-off flag at all, so that shape fits exactly one provider. These CLIs are peers of a worker, not of a model. It's the Runner seam, I named the wrong one of the two.
Detail and evidence on #496. Nothing committed.