cyberine
UsageRun recipes

Failover preflight — cost before a run spends anything (cyberine route, cyberine run)

Both cyberine route "<task>" (dry run, nothing dispatched) and cyberine run "<task>" (foreground and --bg, printed once to stderr before dispatch, no prompt) print one compact preflight block: the primary workers, the ranked failover chain with each hop's billing class, current headroom where readable, an estimated cost per hop, and the remaining daily cap:

cyberine route "fix the pagination bug"
# preflight: primary claude, muse (failover chain + cost; nothing spent yet)
#   1. loop-commandcode-free-build (free; 2 credits remaining; 5h 0/5 used; weekly 0/10 used; est free)
#   2. codex (subscription; 5h 42% used; weekly 10% used; est subscription, no marginal cost)
#   3. loop-deepseek-build (credits; credit backend with readable headroom; est ~$0.0123 upper bound (worker))
# daily cap remaining: $8.50 of $10.00 remaining
cyberine route --json "fix the pagination bug"   # same data as structured fields under `preflight`

Per-hop cost reuses the existing estimators only: free for the free lane, subscription, no marginal cost for subscription workers, the run-history footprint upper bound with its basis (worker = this worker's own history for this kind, kind = every worker blended) for metered workers, and unknown when the history has no signal. No prices are invented.

Known Limitations and Deferred Work — failover preflight

  • Headroom is read, cost is estimated. Command Code credits and 5-hour/weekly windows, Claude seat quota status, and codex 5-hour/weekly windows are live reads; anything unreadable degrades to headroom unknown, never blocks dispatch, and never invents a number.
  • Only cyberine run prints it. cyberine run (foreground) and cyberine run --bg print the block to stderr before dispatch; a pinned --fleet shows as primary, an auto-routed run shows (router picks at dispatch). The headroom reads are capped at 3 seconds, after which the block is skipped with one line and the dispatch continues. Chat /run, the TUI's new-task key, queue/cron and autopilot do not print it: they share launchBackgroundRun, and a stderr block there would tear an Ink frame or land in a log nobody reads. Autopilot is therefore Known Limitations work, not covered by this block.