mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-11 03:40:05 +00:00
Follow-up cleanup on the portable fallback chain work. - Add `Catalog::require_provider` and `Catalog::provider_id`, replacing the `catalog_provider_id` free function in `start.rs` and two copies of the same `provider(..).ok_or_else(UnknownProvider)` block inside the catalog. - Add `FallbackTarget::new` and use it for the six struct literals that each stringified a provider and model by hand. - Extract per-candidate resolution into `resolve_fallback_candidate`, returning a `FallbackCandidate` that is either a target or the skip reason. This flattens `resolve_fallback_chain` from four levels of nesting to one loop and splits the qualified/unqualified model arms into separate match patterns. - Drop the `seen` HashSet and its per-candidate key clones in favor of a `contains` check on the chain being built; fallback chains hold a handful of entries. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| fabro-acp | ||
| fabro-agent | ||
| fabro-automation | ||
| fabro-checkpoint | ||
| fabro-dump | ||
| fabro-environment | ||
| fabro-github | ||
| fabro-graphviz | ||
| fabro-hooks | ||
| fabro-install | ||
| fabro-interview | ||
| fabro-llm | ||
| fabro-manifest | ||
| fabro-mcp | ||
| fabro-mcp-store | ||
| fabro-sandbox | ||
| fabro-slack | ||
| fabro-store | ||
| fabro-tool | ||
| fabro-tracker | ||
| fabro-validate | ||
| fabro-variable | ||
| fabro-workflow | ||