Release notes: v1.8.2
Why this release
v1.8.2 is an operability and trust release: provider routing is fully explainable and diagnosable without changing resolver behavior. Introspection mirrors LlmConnectConfig::resolve() deterministically; no routing algorithm changes.
Top user-facing wins
- Deterministic
ProviderResolutionTrace— structured trace (selected_provider,selected_reason,model_id, orderedcandidates[]witheligible,reason,missing_prerequisites,priority_order) matching the real resolver priority. Secrets are never echoed; only named prerequisites. akmon config explain-provider— print the trace in the terminal or as JSON (--jsononconfig, or global--output json).akmon doctor providers— includes the sameprovider_resolutionblock in text and JSON alongside existing health checks.- Headless
--output json— run summary JSON includes additiveprovider_resolutionfor automation (same schema as above).
Upgrade notes
- No routing or CLI semantics changes for provider selection; this release adds diagnostics only.
- Pair
config explain-provider(why this branch won) withdoctor providers(keys, endpoints, reachability).
Verification checklist
akmon config explain-provider
akmon config explain-provider --json
akmon doctor providers
akmon --output json doctor providers
# After a headless run with --output json, inspect provider_resolution on stdout