Skip to content

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 08 Nov 20:49
· 69 commits to master since this release
c0fd0ac

Wakil 0.6.0

A leaner, faster Wakil, built on the hisn 0.4.1 sandbox contract.

This release is mostly about subtraction. The daemon, the remote/web stack and the Connect API are gone, and with them a large surface that Wakil didn't need to be a terminal coding agent. What's left starts in a fraction of the time, ships a smaller binary, and leaves nothing running behind a closed chat.

Smaller

  • Removed the daemon, remote and web stack, the Connect API, and the auth packages (apitoken, jointoken, oidcresolver, tokenresolver, tokenstore), along with api/gen/ and web/.
  • ~31k fewer lines of Go, ~20% smaller binary (≈41 MB, down from ≈51 MB), 15 direct dependencies instead of 17.
  • Removed the ilm session emitter and /assist (ADR 0013). Wakil no longer feeds the ilm-stack.

Faster

  • Start: ~2990 ms → ~149 ms to prompt (rubin, khatam repo). MCP connects in the background; probes, hisn reconcile and sandbox start are deferred past first paint.
  • Exit: near-instant. The old blocking ilm-emitter flush is gone; turn completion is signalled, not polled.
  • WAKIL_TRACE=1 (or --trace) writes a phase timeline to ~/.local/share/wakil/traces/.

hisn 0.4.1

  • Wakil now requires hisn 0.4.1 (ADR 0014) and speaks its detach contract: run --detach returns once the session is ready, and supervisor.pid is read as <pid> <starttime>.
  • Clean shutdown. Closing a chat stops its hisn supervisor; Close, Stop and failed starts all stop the real supervisor and wait on its pid. Sessions no longer leak after a chat ends.
  • A reaped supervisor is now correctly read as dead rather than "unknown", closing a race that could surface a spurious failed tool call.

Docs

  • README rewritten for 0.6.0; stale documentation cleaned up and a docs/ index added.
  • New docs/headless.md for wakil run.

Known follow-ups

  • hisn 0.4.1 is detected by timing; a version check would remove the dependence.
  • Wakil's own prune still affects every dead session of the user; it could scope by name prefix.
  • The rubin exit figure hasn't been re-measured since the ilm-emitter removal.

Changelog

Features

  • 46ce6b1 feat: hisn 0.4.0 session model — named sessions, v2 states, client record, hisn stop
  • 823a7d4 feat: phase timeline (WAKIL_TRACE=1, --trace) for start, /new, /resume and exit; baseline in docs/PERF-0.6.md
  • 783e483 feat: require hisn 0.4.1

Fixes

  • 90a5e42 fix: default hisn gate matches the explicit gate (0.3.3)
  • b9a9841 fix: drop removed store packages from coverage gate
  • 56f7afc fix: hisn 0.4.0 readiness — accept state running from hisn-ls/v2
  • fc0a1e3 fix: hisn 0.4.1 sessions no longer leak; Close and failed starts stop them
  • ab0c340 fix: procAlive treats a reaped supervisor as dead, not unknown

Other

  • 0b2f0e8 b2: address Mashura round 2 (built-in tools, reconnect readiness, races)
  • f4d515b b2: address review findings (races, stale probes, run.sh read-only)
  • f352d56 hisn: adapt to 0.4.1 run --detach contract (supervisor exits, detached mode)
  • a7d3301 ilm removal: address review findings
  • a18447e lsp: probe for the server binary before launch
  • 0c13c20 mashura: retry a VOID once, chunk oversize sources, review a commit range
  • 17113fc mcp: connect servers in the background; remove the Telegram approval bridge
  • fb35108 perf: run.sh uses the real hisn trust store read-only and explains empty runs
  • c0fd0ac release: 0.6.0
  • c04437d remove the ilm-stack emitter
  • 673621c start: defer probes, hisn reconcile and sandbox start off the first prompt
  • 59419a1 test: counsel oracle respmessage coverage
  • 649041a test: doctor hisn fixtures track the 0.3.3 default gate
  • cf4aeca wiring: exit waits on a turn-done signal, not the 50ms Release poll
  • 76004d9 wiring: trace each step of facade Close (exit gap diagnosis)