Sensorium — Sycophancy v0.1.3
Feature
Suggested-tone cues above the composer. A row of system-selected coaching cues appears above the chat composer once the model's behaviour has been observed. Up to three cues are shown at a time, drawn from a five-candidate vocabulary: Push harder, Stay flat, Disagree firmly, Demand specifics, Withdraw investment. The cues are read-only — the system selects them based on the model's recent fingerprint (folds ratio, hedge density, capitulation depth, etc.); you read them as coaching and write your next message in that register. When no triggers fire, the row stays hidden — silence is itself a signal.
Fixes
Three load-path bugs that prevented calibration from starting on fresh installs of v0.1.2 across all platforms:
- Setup-time flavour load. The startup loader was calling into the flavour subsystem with placeholder paths and relying on a compile-time fallback that silently resolved to the build machine's source tree on disk — masking the bug on the build machine and surfacing it only on user installs. Flavour seeding and loading is now done inside Tauri's
.setup()callback with real resource and config-dir paths fromhandle.path(). - Tauri's
_up_/resource mangling. Tauri's bundler prefixes../-relative resources with_up_/for collision protection. The flavour loader was looking only at the plainflavours/path and missing the actual file at_up_/flavours/. Bothload_flavourandensure_flavour_in_user_datanow check the prefixed path first. - Wizard-time defence-in-depth seed. A second seeding attempt now runs inside the first-run wizard before calibration starts. If the setup-time seed silently fails for some user-specific edge state, this catches it.
Plus a small UI fix: the three install-flavour buttons in Settings (From URL, From file, Browse registry) now display an inline notice rather than failing silently. In v0.1.2 those buttons did nothing when clicked.
Bug lineage traces back to v0.1.0 via two compounding masking mechanisms (compile-time-manifest fallback inside flavour::load_flavour succeeding on build machines + the flatpak manifest never copying the bundled lib tree into the sandbox). Both are now fixed.
Packaging
The Linux flatpak manifest was extracting the .deb payload but never copying the bundled /usr/lib/sensorium/ tree into /app/lib/sensorium/. The flatpak shipped without any bundled resources at all. Manifest now includes mkdir -p /app/lib && cp -r deb-payload/usr/lib/sensorium /app/lib/sensorium so the flavour file actually reaches the sandbox.
No new platform support in this release. Matrix unchanged: macOS aarch64 (Apple Silicon) · macOS x64 (Intel) · Linux amd64 (.deb + .flatpak) · Linux arm64 (.deb + .flatpak).
Verification
Sandbox flatpak smoke tests passed on amd64 (Linux x86_64) and arm64 (Apple Silicon Linux). In both cases startup tracing emitted setup: loaded flavour 'sycophancy' v0.1 — the success signal added in the v0.1.3 lib.rs setup callback. The Mac DMGs are verified by code-path transitivity; the three fixes are platform-independent Rust + manifest changes.
SHA-256
| Artefact | SHA-256 |
|---|---|
sensorium_0.1.3_aarch64.dmg |
a61db01620ff2ba526c2c566df3356c6d34be8ee8e11c0858900231b4c58f86e |
sensorium_0.1.3_x64.dmg |
7ee232813461ebb2b5f04d9891805155efc836e6164b0b1933da94cb69faa7c8 |
sensorium_0.1.3_amd64.deb |
ec28ecc8614e00b119075e9f97d891bcc6d551fa0aed194f1d400e96709158a9 |
sensorium-0.1.3-amd64.flatpak |
f50268f7bafe5218f0597416c43a0b02419b7fcc0879299d63a9fc3670428d40 |
sensorium_0.1.3_arm64.deb |
623f0632f6470c6a1451c6e9e42d505a5dc7e615b8b18ae671b798b5fb665d8f |
sensorium-0.1.3-arm64.flatpak |
162b8fb83f61d468bbc955a357fdf7713c27a7d53acfe71a78f52e0c18df55ac |
Licence
Sensorium is licensed under AGPL-3.0-or-later. Source and full licence text: https://github.com/koherarchitecture/sensorium.