fix(providers): make local backend selection artifact-trust-aware master
Three defects in the bundled local-provider subsystem: - select_local_backend routed covered-arch NVIDIA Linux hosts into a cuda lane that can never install, with no vulkan fallback. Selection now takes an ArtifactTrust tri-state: vulkan when no trusted CUDA runtime artifact is present, holding cuda only when the proof is transiently unavailable and persisted state records an installed cuda target. - journal install-provider stopped at terse stderr-only failures on install errors. All three install paths now guard at the boundary and print the persisted status JSON; the boundary reads and prints, it never synthesizes a status record. - sol check recommended solstone-journal-cuda on Linux arm64, which pip cannot resolve there. The recommendation is now keyed to the install-menu arch gate (Linux + x86_64 + NVIDIA detected) rather than the llama backend choice. Selection stays read-only, never raises, and performs no network access. Hardware gates are unchanged, so every pre-existing non-cuda reason string is byte-identical. sol check on x86_64 + NVIDIA with an uncovered llama arch such as sm_75 now recommends solstone-journal-cuda where it previously said solstone-journal. That is intentional: the recommendation axis is ONNX transcription support, not the llama backend. Phase 0 of the runtime-artifact-distribution arc (local-inference-cuda-artifact-trust-plan-260719.md, §5 item 0a). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>