release: SibillaOS 0.9.0 - senses and a span - #8
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The appliance grows senses and a span, each piece built the only way this project builds anything: pinned upstreams, verified artifacts, opt-in toggles, CI that drives the real flow.
Speech:
sibilla speech enableserves/v1/audio/transcriptionsbehind the same keys - whisper.cpp repackaged from its pinned release (v1.9.1), the Whisper model digest-verified from the signed catalog, and a file already in place verifies instead of downloading: air-gapped for free. Audio never leaves the machine.OIDC for the WebUI: bring-your-own IdP via oauth2-proxy (pinned v7.15.4, verified against upstream's own checksums), client secret on stdin, the WebUI container now loopback-only with the gateway fronting it on :3000 in every configuration. API clients keep their bearer keys: humans and machines authenticate differently because they are different.
Fleet:
sibilla fleet apply|check|statuspushes the declarative profile and aggregates drift and health across a plain hosts file, over the operator's own SSH - no agent, no credential store (profiles carry no secrets by design), one exit code per subcommand, cron-ready.The first-boot model menu: a numbered menu of the curated models on the console, defaulting to the installer's choice on timeout - unattended installs unchanged, automation (profiles, air-gapped payloads, cloud images) never sees it, no large or embedding entries offered.
Freshness: ollama 0.32.1 -> 0.33.2, vLLM v0.25.1 -> v0.27.1 (security patches); expert streaming still open upstream, so the large tier's claim is unchanged. Plus a Built on section crediting every pinned upstream by name, author and license.
CI verifies it all: a real spoken WAV transcribed through the authenticated gateway, the full OIDC authorization-code flow against a pinned dex (login redirect, credentials, callback, cookie, authenticated landing, closure on disable), the fleet surface over a real sshd with an unreachable host reddening the aggregate, the menu's whole contract, and the upgrade path from the published 0.8.0.
Release notes: docs/releases/v0.9.0.md