memory/merge-notes-first_model_provider.md
When merging upstream/master into integration/zerocode, after resolving conflicts,
destroy ALL traces of first_model_provider and its family.
fn first_model_provider()fn first_model_provider_mut()fn first_model_provider_type()fn first_model_provider_alias()crates/zeroclaw-gateway/src/lib.rs — 4 usages (lines ~489, ~490, ~647, ~2136)crates/zeroclaw-providers/src/lib.rs — fallback logic, multiple usages (~660, ~715, ~724, ~753)crates/zeroclaw-runtime/src/agent/loop_.rs — temperature lookup (~4598)crates/zeroclaw-channels/src/orchestrator/mod.rsSee commit a1665774b — "fix: delete first_model_provider*, enforce explicit provider alias resolution"
Root cause: first_model_provider* returned an arbitrary provider entry, causing
cross-agent provider contamination (e.g. the_writer getting clamps' max_tokens=128000
instead of its own 64000).
Replacements (per a1665774b):
provider_runtime_options_for_alias(config, family, alias)config.resolved_model_provider_for_agent(agent_alias)config.providers.models.find(family, alias)config.providers.models.iter_entries() for enumerationgit merge upstream/master (resolve conflicts)grep -rn "first_model_provider" crates/ — find every hita1665774b changes for each call sitecargo check — confirm it compiles