Skip to content

OpenCode VerbalChainsaw Edition v1.17.5-vc1

Choose a tag to compare

@VerbalChainsaw VerbalChainsaw released this 26 Jun 13:40
· 2 commits to dev since this release

46 commits since v1.17.4-vc1. AutoGoal stability hardening + UI polish pass.

Highlights

AutoGoal engine (server.ts)

  • Unified deliverContinuation dispatcher with bounded retry, classify-once semantics, and idempotency (AG-P1-06).
  • withFileLock cross-process state lock (C1).
  • Atomic chain advance with serialized concurrent advances (AG-P1-06.D6+D10).
  • Opt-in backoff for the dispatcher (C2); injectable clock for stale-lock testability (Q7).
  • Sanitize condition / command / agentName at persistence (G-5).
  • Orphan chain file cleanup on boot — abandoned-mid-chain and orphan-from-previous-session both unlink now.
  • Identity-keyed dedup replaces process-wide debounce (AG-P0-03).
  • pickLatestAssistant SDK v2 timestamp contract.

Goal panel UI (app)

  • Cleared chain no longer renders as if running — falls through to draft / empty state.
  • Template "+" button disabled during a live run with explanatory tooltip (was a confusing dead button).
  • Ordered chain refresh via generation-counter discard prevents stale completions overwriting newer state (AG-P1-07).
  • Backpressure option on createOrderedChainRefresh (C3).
  • Visible-source routing for chain row actions — pure selector decides draft / live / terminal action kind (AG-P1-05).
  • Explicit ChainDraftSource provenance for empty-draft survival (AG-P0-04).
  • Token-budget progress driver + stricter chainMatchesGoal.
  • dismiss-terminal archives terminal goal into dismissed set (G-2).
  • In-panel reset for corrupt goal state (CENTER-AUDIT P3-C0).
  • Six hardcoded English aria-labels wired through language.t() for proper i18n.
  • Silent .catch(() => {}) swallows replaced with context-labelled telemetry across the goal-panel + autogoal silent-catch audit (D-NEW-5).

Desktop (Electron)

  • Propagate IPC write rejections from createStorage (CENTER-AUDIT P4-C0).
  • Guard storage IPC wrapper against unhandled rejections.
  • Allow draft stores in renderer IPC allowlist.

Verification

  • Both packages/autogoal and packages/app typecheck clean (tsc --noEmit).
  • autogoal: 1333 of 1340 tests pass (7 pre-existing env-dependent failures unrelated to this release).
  • Windows desktop exe built locally from dev HEAD via bun --cwd packages/desktop package:win.

Install

Download opencode-desktop-win-x64.exe (~120 MB) below and run.