wizard: v1.17.0
1.17.0 (2026-05-09)
Features
- agent: AI-SDK inner-loop runner foundation (Phase D-3, opt-in via env) (#596) (c5f3343)
- agent: bridge wizard-tools MCP into AI-SDK runner + append skill-tier prompt (#649) (0a37b61)
- agent: gate pre-flight context on project size (JIT exploration for large codebases) (#603) (7594bc4)
- agent: structured recovery guidance on wizard-tool errors (#602) (97fbe32)
- evals: Layer 2 static scorers (criteria 2, 3, 7, 11, 12, 15) (#566) (eb5afc0)
- evals: Layer 3 build runner + PR-gate CI workflow (#570) (3b0eefd)
- evals: per-call-site registry + 3 covered call sites (#601) (eb461bc)
- send Idempotency-Key on project create + handle 409 split (#682) (eba3f84)
- signup: server-driven field collection (#539) (3d4818f)
- styled update-available notification box (#648) (7ac8fe2)
- surface structured proxy errors and tighten retry behavior (#681) (2183344)
- tui: cleaner progress UI — text-aligned glyphs, inline status, tighter spacing (#659) (f8170ee)
- tui: live discovery feed during cold start (and gentle logo pulse) (#672) (273938d)
- tui: live substep narration under active task — show what the wizard is doing now (#674) (b833220)
- tui: polish Welcome screen — tighter copy, inline workspace picks, smaller logo on returning runs (#677) (27b7bf5)
- tui: surface specific, useful content in the status pill — events, files, tool outcomes, retries (#683) (db0c32c)
- ui: show live activity for compaction, retries, polls, cold-start (stall visibility) (#594) (555cab9)
Bug Fixes
- agent: cover 502 / 504 in transient retry + 408 in gateway-storm (#607) (940b260)
- agent: grant 120s grace window after compaction before stall detector re-arms (#679) (848471b)
- agent: refresh OAuth token between runAgent retries (#608) (b6492b7)
- ai-sdk: apply ensureV1Suffix to console-query and gateway-probe baseURLs (#616) (c1de589)
- auth: proactively refresh LLM gateway bearer mid-run to prevent 35-min sessions from expiring at the finish line (#669) (fd9d2c1)
- cli: declare AI-SDK + compaction-window env-var passthrough flags (#624) (8347f71)
- commandments: tell agent to use mcp__wizard-tools__load_skill, cap discovery Grep (#629) (d842fdb)
- logger: write log.txt to per-project runs dir again (#686) (58ffaf7)
- p0: confirm_event_plan feedback ends run instead of looping (#610) (521a8fe)
- p0: post-Run screen transitions stuck until terminal resize (#630) (779b82d)
- p0: render event-plan as full-screen overlay (#626) (eb653f3)
- p0: show "Verifying your session" copy on cached-token auth path (#611) (59ab427)
- p0: three regressions surfaced by Excalidraw test runs (#621) (c24989b)
- perf: auto-upgrade stale autoCompactWindow values written by pre-#634 wizard runs (#673) (049d617)
- reliability: preserve user work on AUTH_ERROR — don't auto-revert files when only the gateway bearer expired (#666) (2941de8)
- self-heal: only clear orphan credentials when binding file is actually missing on disk (#678) (516257e)
- self-heal: tighten heuristic post-G1 — bare ampli.json absence is no longer a signal (#615) (3de8ee2)
- signup: wall back-nav once direct signup commits (BA-114) (#632) (0451dd8)
- test: stabilize DataIngestionCheckScreen polling race on Node 22+ (#650) (bf8557b)
- tui: apply Ink rerender bridge to overlay push/pop (#657) (60a0d61)
- tui: batch syncTodos render so subscribers don't see stale activeForm (#658) (7608069)
- tui: clear stale activity narration when journey step transitions to completed (#663) (225c1a1)
- tui: consolidate triple activity displays into one status line (#661) (61ffec4)
- tui: dedupe FileWritesPanel rows — one row per path with edit count (#676) (4010bc8)
- tui: defer + coalesce rerender bridge to prevent infinite update loop (#664) (1883e14)
- tui: disable Ink patchConsole so third-party stdout writes don't clear the frame (#633) (db42bfc)
- tui: file-writes rows pin keyword + metadata, head-truncate path — no more 2-line wraps (#684) (3baf9d2)
- tui: force Ink rerender on every store change to defeat log-update diff-skip (#656) (1ae0cfb)
- tui: honor TodoWrite status in syncTodos so task list updates deterministically (#653) (3e9d67c)
- tui: make cold-start tempo feel productive (optimistic transitions + substeps + ETA) (#662) (7fe48e8)
- tui: offer New project option on returning-user account confirmation (#529) (6def117)
- tui: pin label-resolution rule + reserve icon column width (#660) (e245de9)
- tui: polish Setup Report — table header color, head-truncated file paths, tighter copy, next-action CTA (#668) (3754336)
- tui: tighten ActiveTaskSubsteps spacing — drop blank rows between substep lines (#680) (d8078ce)
- tui: tighten RunScreen spacing + responsive collapse (#687) (0138dc9)
- tui: unify App root tree so event-plan prompt renders without terminal resize (#631) (8d10d0d)
- ux: journey shows 0/4 forever during agent cold-start (#617) (3dbd9b7)
- ux: show "Verifying your session" on AuthPhase=idle (initial mount) (#619) (de8a70e)
- ux: suppress stall heartbeat while confirm_event_plan awaits user decision (#618) (c83b4be)
- ux: truthful error copy + ✗ stepper marker for failed phase (#665) (20da479)
Performance Improvements
- agent: add Haiku tier for one-shot LLM calls (model tiering) (#590) (286a825)
- agent: raise autoCompactWindow 120K->750K to use Sonnet 4.6's 1M context (#634) (fb9b9ad)
- agent: trim commandments and skill menu to reduce per-turn token cost (#645) (09f613c)
- api: share axios instance with keep-alive and 15s default timeout (#641) (43dfd1b)
- mcp: retry transient direct-call failures before agent fallback (#640) (fc37265)
- ship 5 cold-start, LLM, build, and logging fixes from multi-agent review (#637) (2bb438d)
- skills: build skill tree index once instead of re-walking on every lookup (#643) (9f2d6e8)
- tui: drop DissolveTransition tick rate from ~83Hz to 30Hz (#639) (65005ef)
- tui: share a single spinner-frame timer across all BrailleSpinner instances (#646) (4a0e96b)
This PR was generated with Release Please. See documentation.