v0.35.0
·
1258 commits
to master
since this release
Magic Context v0.35.0
Prompt-surface presets (#268)
The agent-facing prompt surface (guidance block + ctx_* tool descriptions) is now configurable. The existing surface is unchanged and remains the default; a new light preset delivers the same rules at roughly half the tokens (~1.8k vs ~3.7k), verified rule-by-rule against a 49-rule checklist and validated on weaker models before shipping.
default:"full"(unchanged surface) or"light".models: per-model routing (provider/modelorprovider/*). On OpenCode and Pi this routes the guidance block; tool descriptions followdefault(plugin v1 registers tools once per process — per-model tool descriptions are planned for the OpenCode v2 plugin API, tracked in #260).guidance_override_path/tool_descriptions: user-level custom overrides for the guidance section and per-tool description text.- Preset changes ride the normal prompt-cache bust path; upgrading with no config sees byte-identical prompts and no cache impact.
Fixes
- Historian fold boundaries, validation, and manual wrapup now keep completed tool invocation/result pairs atomic — a boundary can no longer separate a tool call from its result (the class behind rare provider 400s on folded sessions; fixed across OpenCode, Pi, and the Rust module).
- Dreamer verify tasks now classify provider-outage responses as transient provider failures instead of manifest validation errors, retry with backoff, and abort a run after repeated identical provider failures instead of failing every remaining batch. Banked verification progress survives an outage and resumes.
- verify-broad runs as a resumable cycle on large memory pools: progress banks incrementally across runs instead of restarting and timing out every week.
- compress-cues no longer wedges on memories that reference GitHub issue/PR numbers, and terminates cleanly after repeated rejections.
- Mural cue compression works on projects running module memory authority.
- Synthetic todo state is preserved across turns where the model makes no tool calls (Rust transform mode).
- Windows: stale RPC discovery files from PID reuse or unreadable port files no longer block database migrations (completes the #281 fix).
Behavior notes
cache_ttlper-model matching now uses the same lookup walk asprompt_surface.models: exact key → bare model id → progressive suffix-stripping →provider/*wildcard →default. Configs that previously carried an inertprovider/*cache_ttl key will now match it.- The deprecated
experimental.muralconfig key migrates in place to top-levelmural; rundoctorto persist.
{ "prompt_surface": { "default": "full", "models": { "anthropic/claude-opus-4-6": "light" } } }