v0.33.1
v0.33.1
Patch release: seven user-facing fixes from the issue queue, one schema migration (v71).
Fixes
- Memory writes failing with
no such function: mc_privileged_writer(#253).
The authority-guard triggers baked a connection-local SQLite UDF reference chosen at
migration time, so any runtime that had not registered the UDF (older embedded Bun,
node:sqliteon Pi, the dashboard) failed every guarded write. The guard predicate is
now always the durablecontext_privilege_statetable check, and migration v71
rebuilds existing triggers. Affected databases heal automatically on first start. - Active task prompts truncated during context reclaim (#250). A pending/running
subagent task part could be selected for argument clamping, and the clamp mutated the
live object OpenCode spawns the child from — the child received
Fix...[truncated]as its prompt. Open tool arcs are now excluded from every
drop/clamp selector, and clamps rewrite a deep clone swapped into the outgoing wire
array, never the live execution object. - Sub-agents returning a ctx_reduce call instead of their report (#262). A pending
Channel-2 ceiling nudge delivered after a subagent finished started a new turn on the
child, so the parent read the nudge response instead of the report. Subagent delivery
is now gated on a live run, with the claim released safely when a completion races it. - Forked sessions stuck in degraded mode with climbing context usage (#263, #264).
OpenCode/forkcopies the parent's compaction-marker rows; the orphan outranked the
fork's own marker and permanently cut the visible window above the compartment
boundary. Fork-orphaned magic-context markers are now detected and repaired
(OpenCode-native/compactmarkers are never touched), and degraded injection gains a
re-anchor path to the newest visible boundary instead of looping. - Gratuitous cache busts on reasoning-effort switches (#257). Variant changes
flushed queued reclaim ops on every provider, but on OpenAI-compatible routes the
reasoning effort is not part of the prompt-cache key — the flush itself was the only
bust. The flush now fires only on providers whose wire renders the thinking
configuration into the prompt (Anthropic family); elsewhere queued ops ride the next
natural bust. - Pi
thinking_level: "max"rejected by the config schema (#267). Pi 0.83.0's new
level is now accepted for historian, dreamer, and sidekick. - OMO conflict detection missed relocated configs (#258). oh-my-openagent ≥ 4.19
moved its config to~/.omo/omo.jsonc; the conflict detector now reads the new
location (old paths still checked), restoring the compaction-conflict guard.
Also included: Windows CLI fix for .cmd OpenCode shims (#255, community PR #261 —
thank you), lenient historian tier-close parsing with a v70 heal for stranded
compartments (#246), and internal cleanups.
Upgrade notes
Migrations v70–v71 apply on first start. All plugin instances sharing a machine should
be updated together (a newer instance migrates the shared database; older instances
refuse it loudly until updated).