What's New
- Translate the 14 placeholder locales, and repair three locale bugs (@mekedron)
- Make the planner prompt editable via planner-prompt.md (@mekedron)
- Syntax highlighting in the Magic tab — YAML, Markdown, and frontmatter combined (@mekedron)
- Hierarchical screen context — outline capture with a ⟨YOUR FIELD⟩ marker (@mekedron)
- Full-screen context, config-first knobs, ChatGPT no-delta stream fix (@mekedron)
- AI chip planner — fast-mode disambiguation with a visible race (@mekedron)
- Overlay keyboard control, adapt.selection workflow, context-blind presses ask (@mekedron)
- Magic Button menu items; chip panel and toast anchor above the field (@mekedron)
- M2 §7.3 library unification, Settings Assistant, Agent Skill, output-length config (@mekedron)
- M1 close-out + M3 provider layer (@mekedron)
- M1 warm collector — frontmost-app AXObserver, Chromium prewarm on activation, warm URL/title backfill, R4 axErrors metric (@mekedron)
- Config.yaml engine tuning + opt-in full-content debug logger (@mekedron)
- Context-aware language rules, Chromium AX enablement, Magic settings tab (@mekedron)
- Magic Button press band — snapshot, chips, inserter, toast (@mekedron)
- Magic Button engine core — workflows, router, assembly, verifier (@mekedron)
Bug Fixes
- Catch fence forgeries carrying only a trailing rail (@mekedron)
- Bind the warm cheap capture to the app it names (@mekedron)
- Keep the press band's timing loops paced across cancellation (@mekedron)
- Anchor the reply to the conversation that holds the field (@mekedron)
- Stop caching a failed AX enablement, and a probe that eats the clipboard (@mekedron)
- Keep a flagged draft, a hand-edit's blast radius, and a written-back name (@mekedron)
- Bind three async press paths back to the press they started for (@mekedron)
- Bill the retried generation, and stop the debug menu racing a real press (@mekedron)
- Stop enabling assistive mode in every app the user touches (@mekedron)
- Close the press band's cancel gap and two privacy fail-opens (@mekedron)
- Speak each OpenAI model's own dialect (@mekedron)
- Speak each OpenAI model's own dialect (@mekedron)
- Secure subrole in the AX walk, library path case, press identity on result (@mekedron)
- Base_url crash, main-thread pasteboard read, no_cloud match docs (@mekedron)
- Review round 7 — fence forgery, AX off main on re-assert, stream cancellation (@mekedron)
- Review round 6 — AX off the main actor, planner spend, no_cloud quoting (@mekedron)
- Review round 5 — capture identity, privacy fail-open, insert/undo guards (@mekedron)
- Review residuals — CLI stream idle timeout, toast cancels generation (@mekedron)
- Review round 4 — UTF-16 AX ranges, caret position, selection-probe trigger (@mekedron)
- Review round 3 — silent press death, hard planner cap, budget.ms, grounding (@mekedron)
- Review round 2 — paste target identity, library data loss, tool confinement (@mekedron)
- Self-targeted Magic presses keep focus; onboarding gains the chips shortcut (@mekedron)
- Codex review round — clipboard fidelity, constraint budget, insert races (@mekedron)
- Chip panel — Escape dismisses, mouse chip selection no longer steals target focus (@mekedron)
- Run-debug.sh no longer hangs non-interactive callers — app output goes to a log file when stdout is not a TTY (@mekedron)
- Nearest-first web walk, hold-to-insert release semantics, first-mouse toast (@mekedron)
- Web-sweep locality ladder, Mail compose capture, chip dedup, insert-anyway reliability (@mekedron)
- Continuation seam — the continue workflow starts with the space/punctuation the join needs (@mekedron)
Other Changes
- One leaf read for every surrounding walk (@mekedron)
- Comment style rule, drop comment archaeology, count untranslated strings (@mekedron)
- Press-band reducer, parser escape parity, planner/inserter residuals (@mekedron)
- Deflake the stream watchdog suite (@mekedron)
- Settings Assistant + Agent Skill pages, §7.3 unification, config updates (@mekedron)
- M1 spike results + QA matrix protocol, M3 provider layer (@mekedron)
- Agent tooling — liquid-glass skill, orchestrator config, local Claude settings (@mekedron)
- Magic Button internals — press pipeline, workflows, collector, invariants (@mekedron)
Full Changelog: v2.2.1...v2.3.0