What
The paid-API tier (tier: api / ApiAdapter, gate, last-resort routing — #2) is fully hermetic-tested (mocked HTTP, gated build_adapter, router last-resort fallback, GUI visibility) but has never been run against a real paid endpoint. This is by design: the project is deliberately anti-key — we don't hold raw provider keys, and we don't mint billable LiteLLM virtual keys or make billed calls just to test.
So the live paid path is wired but unproven end-to-end: the code hooks are in place, but no real request has flowed router → ApiAdapter → LiteLLM virtual key → paid provider → response.
Why this is filed (not fixed)
Minting a budget-scoped LiteLLM virtual key + loading a provider key lives on Monad (the coordinator side) and spends real money — an operator/PM action, out of scope for a builder session. Tracking it here so it's visible rather than buried.
What "done" looks like (for whoever picks this up)
When a real provider key + budget-scoped LiteLLM virtual key exist on Monad:
- Follow the README runbook ("Runbook — enabling a paid key") to wire a
tier: api entry via key_ref.
- Flip
api_billing_enabled: true, run tanglebrain --model <api-id> "..." for an explicit paid call, then exhaust the subs to confirm the router last-resort fallback reaches it.
- Confirm spend lands LiteLLM-side under the virtual key's cap; capture any shape/parse fixes the live provider needs (the adapter reuses the openai-compat transport, so deltas would be in response parsing / error handling).
- Add a gated live test alongside
tests/test_live.py if the path needs ongoing coverage.
Until then: treat the paid tier as hermetically correct but live-unverified. No action needed unless you actually want to use a paid key.
What
The paid-API tier (
tier: api/ApiAdapter, gate, last-resort routing — #2) is fully hermetic-tested (mocked HTTP, gatedbuild_adapter, router last-resort fallback, GUI visibility) but has never been run against a real paid endpoint. This is by design: the project is deliberately anti-key — we don't hold raw provider keys, and we don't mint billable LiteLLM virtual keys or make billed calls just to test.So the live paid path is wired but unproven end-to-end: the code hooks are in place, but no real request has flowed
router → ApiAdapter → LiteLLM virtual key → paid provider → response.Why this is filed (not fixed)
Minting a budget-scoped LiteLLM virtual key + loading a provider key lives on Monad (the coordinator side) and spends real money — an operator/PM action, out of scope for a builder session. Tracking it here so it's visible rather than buried.
What "done" looks like (for whoever picks this up)
When a real provider key + budget-scoped LiteLLM virtual key exist on Monad:
tier: apientry viakey_ref.api_billing_enabled: true, runtanglebrain --model <api-id> "..."for an explicit paid call, then exhaust the subs to confirm the router last-resort fallback reaches it.tests/test_live.pyif the path needs ongoing coverage.Until then: treat the paid tier as hermetically correct but live-unverified. No action needed unless you actually want to use a paid key.