Sensorium — Sycophancy v0.1.4 (hotfix)
⚠️ Superseded by v0.1.5 (hotfix, 22 May 2026) — wires the Settings API-key Update/Clear buttons, redesigns the tone-cue row as brainstorming prompts (always shows, model-agnostic), and pulls the chat-model dropdown live from OpenRouter. Mac users should upgrade.
Fix
Settings → Chat model dropdown now actually saves. The header model badge in the title bar shipped with hardcoded anthropic / claude-sonnet-4.6 and was never updated from saved settings. The Settings → Chat model select was a static dropdown with no id; the save handler wrote only probe_selection, never active_model. Net effect: changing the model in Settings was a no-op — the header lied AND messages still went to the previous model.
Five-edit fix across three files:
src/index.html—id="header-model-value"on the header badge span;id="settings-chat-model"on the Chat model select.src/js/settings-modal.js—syncFromSourcereadss.active_modeland pre-selects the dropdown (with a defensive option-prepend if the saved value isn't a built-in); save handler reads the dropdown and writess.active_model;_onChangedpayload carriesactiveModel.src/js/app.js— newupdateHeaderModel(model)helper mirrors the active model into the header span with the/→/typography transform; called on boot afterSettings.get()and on settings save via the extendedonChanged. Save also callschat.setModel(nextModel)so the next message in the same session goes to the new model.
No Rust source change beyond the version bump.
Platform
Mac-only hotfix. macOS .dmg × 2 (Apple Silicon + Intel). Linux .deb + .flatpak users running v0.1.3 should wait for v0.1.5 on/after 4 June 2026 — the bug is platform-independent but the rebuild + sandbox-smoke cycle wasn't worth a same-day hotfix on Linux given how recently v0.1.3 shipped.
This hotfix takes the v0.1.4 label; the planned non-hotfix substance from buffer.md (cue-cadence smoothing / expanded vocabulary / history-replay re-derivation) moves to v0.1.5. Cadence floor (two-week minimum) for the next non-hotfix release remains 4 June 2026.
Verification
Built clean after rm -rf node_modules package-lock.json && npm install (the cross-platform-binding contamination rule carried over from v0.1.3's Parallels VM session). Renderer JS syntax-checked clean (node --check) before build. The fix is a small wiring change with a clear data path: on boot, Settings.get() → updateHeaderModel(active_model) → display; on save, dropdown.value → s.active_model → Settings.update + chat.setModel + updateHeaderModel.
SHA-256
| Artefact | SHA-256 |
|---|---|
sensorium_0.1.4_aarch64.dmg |
54ea455bfeae0453135e90398a4970ab66b8abd406f7a4c1fcb94a0eebea67c9 |
sensorium_0.1.4_x64.dmg |
c72d9c3e6213c5652da407f4d393821e01d1ec56ddb6ae635839e47741cdd693 |
Licence
Sensorium is licensed under AGPL-3.0-or-later. Source and full licence text: https://github.com/koherarchitecture/sensorium.