mirror of
https://github.com/razzant/ouroboros.git
synced 2026-10-03 12:18:39 +00:00
A dispatched request whose socket died with a typed transport death (httpx ReadError/WriteError/RemoteProtocolError or the requests ProtocolError/ RemoteDisconnected shape, via the explicit __cause__ chain; never a timeout, status/body error, pre-dispatch failure, local provider or loopback route) is provider_outcome_unknown and stays billed at its upper bound. The PRIMARY main-loop round dispatch alone may now send it again at most twice per round, each repeat a NEW execute_physical_attempt with its own ledger row, with a 4 s then 8 s deadline-aware backoff and a counter keyed by the round so the wait episode's free redial cannot re-arm it. The retry decision is made before the durable llm_api_error row is written, so retry_same_request is truthful on every attempt and llm_non_retryable_same_request marks only the exhaustion. Forced-final, fallback candidates, review, safety, probes, web search, consolidation and Background Consciousness keep the default 0; the global classifier is unchanged; BudgetExceeded propagates untouched. Ratchet paydown in the same files: loop_llm_call.py folds the four copies of the error-event identity block into one, drops the redundant kwargs that _handle_main_llm_call_exception/_stop_after_llm_error received beside the context that already carries them, and folds five consecutive pops into a loop; loop.py hoists two function-local imports of an already-imported module and reuses the direct_chat value it had already computed. |
||
|---|---|---|
| .. | ||
| benchmarks | ||
| __init__.py | ||
| README.md | ||
Ouroboros Devtools
devtools/ contains operator-side and benchmark support code that should be
versioned with Ouroboros without becoming part of the runtime core.
Rules:
- Generated logs, datasets, run outputs, Docker layers, and secrets do not live here.
- Default benchmark outputs go under
/Users/anton/Ouroboros/bench_runs/. - Runtime modules must not import
devtools. - This is not an immune-system bypass: touched files are reviewed normally.
- Promote code out of
devtoolsonly through a separate reviewed runtime plan.