2 months ago
8ec7cd5Installing the runtime failed with "archive contains undeclared file build-manifest.json" while the update check simultaneously claimed the runtime was up to date, leaving no way to tell whether it was installed. The install failure is a catalog-vs-archive contract mismatch, verified against the published archive: its SHA-256 matches the catalog's archive_digest exactly, but it ships six files while the catalog's extracted_file_digests declares only five — the generator omits build-manifest.json. verify_extracted_files treated any undeclared extracted file as a hard failure, so a byte-for-byte correct archive was rejected on every platform and generation. Since archive_digest already verifies the whole archive end-to-end before extraction, per-file rejection of extras added no integrity guarantee; tolerate them and keep the declared-file size/digest checks strict. Upstream manifest fix: #228. The contradictory reporting came from the UI rendering "up to date" for every non-update verdict, including not_installed, and from the install action leaving its now-stale check report in place — so a repaired runtime could show "ready" and "not installed" at once. Report only a genuine up_to_date verdict as current, surface not_installed as such, and discard the stale report after an install. Move the runtime install/repair CTA out of the AI Model card into the ONNX Runtime card that already owns runtime status and updates. The model card no longer replaces itself with that CTA, so the model-variant picker and the existing "Check for model updates" button stay reachable while the runtime is missing; only the download actions remain gated. Finally, first-run onboarding asked for language, library, remote provider, and stem mode — but never for a model, even though the model that the first separation auto-downloads is the persisted model_variant. Add a model step so that choice is made and persisted before the user reaches the library. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Parentfc280cd