Repository navigation
OpenCode Desktop — AI Harness Enhancement (Phases 0–3)
OpenCode Desktop — AI Harness Enhancement (Phases 0–3)
Base: opencode v1.18.25 (merge-v1.18.24-25) · Commits a9575281fd..08f1250f18
This release turns the fork into a self-enhanced AI harness following the
harness enhancement plan: context
engineering, dynamic effort routing, workflow orchestration, verification
gates, and durable runtime state — all in-process, no external meta-harness.
What's New
⚡ Workflow DAG Engine (default ON)
The multi-step pipeline engine (removed upstream as a merge side effect) is
fully resurrected: workflow tool, event-driven parallel scheduling,
failure propagation, deadlock detection, 50k-step regression guard.
The model now recognizes pipeline-shaped goals and orchestrates
(PLAN → ORCHESTRATE → REACT) automatically. Disable with
OPENCODE_EXPERIMENTAL_WORKFLOWS=false.
🧠 Task Profile Assessor + Effort Governor (plugin)
Every task boundary is assessed by cheap heuristics (complexity + risk
domains). Complex tasks start at medium effort, complex+risky at high; the
model can still call request_effort to escalate. Risky tasks get an extra
"verify blast radius" system notice. Never lowers user-pinned effort.
🗜️ Context Optimizer (plugin, always-on)
KV-cache-aware pruning: budget gate keeps the provider cache prefix
byte-identical under cap; tail-backward minimal prune when over;
reasoning always stripped; CJK-aware token estimation. Live telemetry:
~90% cache hit rate, 676k+ tokens saved to date.
✅ Automatic Verification Gate (opt-in)
After a task finishes, a pure risk detector (sensitive paths, destructive
prompts, broad refactors) can trigger one reviewer subagent pass whose
findings are injected back before the session goes idle.
Enable with OPENCODE_EXPERIMENTAL_VERIFICATION=true.
⏰ Followup Delivery Mode (V2 sessions)
delivery: "followup" + deliverAt: durably admitted input that stays
pending until its time passes, promoted at the idle boundary like queue.
SessionExecution.schedule wakes the session at the due time.
💾 Durable Background Job Records
Background job lifecycle transitions persist to a new background_job
table (best-effort, never breaks live work). Restarts sweep stale
"running" rows to cancelled ("interrupted by restart"); list/get merge
live entries over recorded history.
Downloads (macOS arm64, prod channel)
Built with the full OPENCODE_CHANNEL=prod chain and passing the
verify-prod.ts acceptance gate (embeds channel prod, uses opencode.db):
opencode-desktop-mac-arm64.dmgopencode-desktop-mac-arm64.zip
CLI binary: rebuilt from this tag (0.0.0-main-202608281721).
Verification
- 89 workflow/DAG tests, 59 prompt-loop tests, 16 effort-router tests,
122 core runner/session tests, 34 background-job tests — green
(typecheck clean across schema/core/opencode) - Desktop package verified:
✅ Verified prod build: node-B0zBKfS0.js embeds channel "prod" and uses opencode.db