mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-17 04:37:03 +00:00
Consolidation pass over the fallback feature, no intended behavior changes beyond noted validation and event-shape cleanups: - Unify the two parallel notice types: FallbackPlanNotice is gone; ModelFallbackNotice now owns the runtime NoNearbyReasoningLevel case and the shared ChainEmpty wording. Notices emit through a new Emitter::notice_scoped with their own level, and each distinct notice is emitted once per run instead of on every LLM call. - Move canonical_model_id onto Catalog so chain keys are written and read through one function; reject provider-qualified fallback keys, which could never match at dispatch and were silently dead config. - Type FallbackTarget as ProviderId/ModelId, removing repeated ProviderId::new re-wrapping at every use site. - Derive FallbackPlan's current route from a position index instead of storing current/requested_controls copies; advance() no longer has unreachable None branches. - Bundle the agent invocation's live state (session, bridge, lease, forwarder, accounting) into LiveAgentInvocation; failover_agent_session drops from 21 parameters to 7 and the six copies of the abort/discard/classify teardown collapse into two methods. - Share one route_request builder between one_shot and its failover loop; complete_one_shot_request takes the request by value instead of deep-cloning the message payload per call. - Event::Failover carries FailoverProps directly; the props' original route and attempt fields are now required, and reasoning efforts are typed ReasoningEffort instead of strings. - Reuse RunModelSettings/RunModelControls in fabro-api via with_replacement, add the missing controls property to the OpenAPI schema, regenerate the TS client, and add the type-identity/JSON parity test. - Smaller cleanups: ReasoningEffort::closest_supported uses enum discriminants; ModelFallbackPolicy gains len(); resolve_model_fallbacks takes a provider slice; duplicate-target filtering lives only in the resolver. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| auth | ||
| demo | ||
| prompts | ||
| server | ||
| worker_control | ||
| automation_materializer.rs | ||
| canonical_host.rs | ||
| canonical_origin.rs | ||
| csp.rs | ||
| diagnostics.rs | ||
| error.rs | ||
| git_checkout.rs | ||
| github_webhooks.rs | ||
| install.rs | ||
| interp.rs | ||
| jwt_auth.rs | ||
| lib.rs | ||
| manifest_validation.rs | ||
| migrations.rs | ||
| principal_middleware.rs | ||
| request_id.rs | ||
| run_files.rs | ||
| run_files_security.rs | ||
| run_manifest.rs | ||
| run_selector.rs | ||
| run_title_generation.rs | ||
| run_tool_manifest.rs | ||
| security_headers.rs | ||
| serve.rs | ||
| server.rs | ||
| server_secrets.rs | ||
| spawn_env.rs | ||
| startup.rs | ||
| static_files.rs | ||
| test_support.rs | ||
| web_auth.rs | ||
| worker_runtime.rs | ||
| worker_token.rs | ||