Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 14:58
26a080c

0.2.0 (2026-10-17)

⚠ BREAKING CHANGES

  • web: POST /api/btw takes a required aside and answers it; GET /api/btw answers asides in place of open and said, filtered by epic; POST /api/btw/leave takes aside in place of to. A conversation of an earlier epic is answered as to /, no longer //.
  • btw: The Epic is answered by the btw setting alone. With it unset, a side question of The Epic is refused rather than answered by the flow's first agent: set it in Settings › General (web) or /settings › General › /btw The Epic (terminal). An epic's own btw agent, POST /api/btw/agent and btw mode's ctrl+g are gone, and GET /api/btw answers no agent.
  • runtime: runtimes take harness instead of affinity, and work on another machine with no setting no longer drops to a harness here when the CLI is missing or a gating hook is hung: set the runtime's harness to local. A saved affinity is still read, as its first entry with self as env.
  • web: hmz web no longer serves only the directory it was started in, and every request about one workspace's runs names it; GET /api/held answers the machine's context.
  • web: the page's addresses move: #/runs/ is #/epics/, #/start is #/new, #/runs?… is #/search?… and #/usage is #/settings/usage.
  • flows: ralph_loop and continue_loop are no longer resumable. stateful_ralph now keeps its session in state, so --resume carries the conversation on. flame_chase keeps only whose turn is next, and rlar keeps only the last review. A failed turn now ends any of these runs.

Features

  • agents: drive omp (Oh My Pi) as a backend (#283) (5a7ac5a), refs #280
  • agents: offer a flow's callback tools to ACP CLIs and grok over mcpServers (#338) (3bf9af0)
  • agents: offer a flow's callbacks to Antigravity CLI as a plugin (#339) (c9eed02)
  • agents: offer a flow's callbacks to opencode and mimocode (#336) (127ac9c)
  • agents: offer a flow's callbacks to pi, Oh My Pi and DeepSeek Harness (#341) (6bbf96b)
  • agents: offer a flow's own callbacks to Qwen Code (#337) (2ac6d3e)
  • agents: put a flow's own command lines on an agent's PATH (#342) (46e38c6)
  • btw: ask The Epic or a conversation, from a menu laid out as the epic (#455) (43441e8)
  • btw: The Epic asks a conversation through a skill, carried out by a hook (#460) (110b66b)
  • call every agent by its own name, never by the role it fills (#401) (2b0148a)
  • chat like Claude, no all-sessions log, Exomyth fixes, split profiling, TUI parity (#422) (33ed4dd)
  • cli: update hmz itself with hmz update, and say when a newer release is out (#318) (7854f0a)
  • coganchor: route any CLI through a local LiteLLM gateway (#343) (1d49b9e)
  • daemon: let a line said to a conversation between turns answer what to say next (#333) (7d89b54)
  • desktop: a macOS app around hmz web, shipped as a DMG on every release (#310) (02b60eb)
  • desktop: install and keep hmz at the app's own version, by itself (#316) (be44c6b)
  • desktop: lay out the disk image with first-open steps, and line up the web's controls (#396) (3c2689e)
  • desktop: make the title bar one with the page (#314) (a77103a)
  • desktop: open .hmzepic files, importing them into Exomyth (#365) (ad0827d)
  • desktop: update the app by itself, signed, from each release (#315) (d1f2d18)
  • flows: carry a session kept in a flow's state on in a later run (#172) (896a089)
  • flows: offer a role's FakeTools to its agent as tools of the flow's own (#340) (4de535d)
  • flows: one FakeTool, FakeCli and FakeCommand for flows and coganchor (#364) (af428c2)
  • land the open web and LiteLLM gateway pull requests together (#367) (d7f732e)
  • many chats, each its own epic beside the workspace's flow, folding away when idle (#427) (33ed4dd)
  • many daemons in web and desktop, and notifications across them (#385) (6514f96)
  • rewrite specs as api/ and features/, pick the btw agent per epic, refuse cross-machine workspace hooks (#444) (33ed4dd)
  • runtime: back epics up to git repositories (#331) (0beb7cf)
  • runtime: download epics from backup targets (#355) (bab4db1)
  • runtime: export epics as .hmzepic and import them back (#327) (f12acb0)
  • runtime: lay an epic out as an Exomyth timeline (#326) (09d0192)
  • runtime: let docker and swarm runtimes share a host: name prefix, exec user, running container (#426) (33ed4dd)
  • runtime: put environments on Slurm jobs, reached by srun or over TCP (#317) (32b0e45)
  • runtime: say where a harness runs with one setting, not four placements (#446) (33ed4dd)
  • tui: add Exomyth, a timeline of an epic's sessions (#345) (6d0e67f)
  • tui: answer chat's questions in the conversation being read (#334) (046f562)
  • tui: back epics up from /settings, /flow and /epics (#352) (14de0fa)
  • tui: import an epic from a .hmzepic (#354) (9f1f931)
  • tui: show the epics of this directory or of this machine (#325) (194a061)
  • web: add Exomyth, a timeline of an epic's sessions (#344) (d12da19)
  • web: ask a session of any epic beside it, and read epics back out of their logs (#305) (2363cb9)
  • web: back epics up from Settings, launch and the epic menu (#351) (cebac23)
  • web: choose a theme only in Settings (#323) (3c61e7e)
  • web: come with a light and a dark theme for every Chrysos Heir, and pair them under Auto (#321) (f9ff098)
  • web: do what the terminal interface does to flows and epics (#304) (e16e329)
  • web: draw an epic's Exomyth as a flame graph, with its slices in a table (#363) (14929ec)
  • web: draw humanize in NVIDIA's green and Hyacine's colours (#302) (d0731e4)
  • web: hmz web serves a workspace's runs to a browser on this machine (#285) (cae5859)
  • web: import an epic from a .hmzepic (#356) (9437fe0)
  • web: keep only Daemon, Settings and Usage in the sidebar's foot menu (#394) (43e614c)
  • web: lay hmz web out as Codex and Claude lay theirs out (#300) (21a1379)
  • web: make a light and a dark theme a pair of your own, written out together (#328) (af884d4)
  • web: make, edit, import and export themes, and pair any two under Auto (#320) (02dbd5e)
  • web: open a chat on its conversation, and ask in it (#335) (c113c55)
  • web: redesign in NVIDIA's green beside Hyacine's cyan, and her pink apart (#307) (f71dea2)
  • web: right-click menus, full text on hover, and paths browsed for rather than typed (#313) (475b6f6)
  • web: serve every workspace on the machine, as the daemon does (#303) (ef0e9e5)
  • web: several aside conversations, each asking one target picked at its start, with live status (#459) (110b66b)
  • web: stop hmz web when whatever started it goes (#306) (7997c21)

Fixes

  • agents: let fenced Codex initialize TLS on macOS and fail turns that end in error (#281) (15e9995)
  • agents: prefix pi and omp flow tools, let omp take them remotely (#361) (3964e98)
  • agents: refuse a dsh turn that would need a new runtime for a conversation (#362) (8b1c073)
  • agents: retry Codex's dropped streams and start every harness in a virtual config home (#425) (33ed4dd)
  • anchor: copy sessions a CLI logs on another machine into the epic (#324) (069c3fe)
  • carry chats on and draw them whole, and keep hosts up on macOS (#452) (a4c18ed)
  • codex: price cached input as a cache read, not as plain input (#469) (3204d46)
  • coganchor: build a harness's virtual home on its own machine under afar (#445) (33ed4dd)
  • coganchor: keep the turns of the shared-mirror test in the mirror at once (#442) (33ed4dd)
  • coganchor: let a fence write /proc, and let local and user of ALL write what they say (#278) (60cab7e)
  • coganchor: let a fence write /proc, and let local and user of ALL write what they say (#287) (60cab7e)
  • coganchor: let turns working in one mirror at once see each other's work (#423) (33ed4dd)
  • desktop: find the update in the newest release that carries one (#450) (a4c18ed)
  • desktop: keep a strip for the traffic lights over the sidebar's top row (#402) (2b0148a)
  • desktop: keep the traffic lights' strip across the whole window (#403) (2b0148a)
  • flows: drop the trailing comma CodeQL cannot parse in type parameter lists (#293) (5d0fe0b)
  • flows: keep and carry on supervised sessions, whose CLI runs here in a mirror (#424) (33ed4dd)
  • flows: let rlar's reviewer read what the actor said (#290) (a8651f1)
  • flows: two runs fetching one git+ flow at once both get it (#470) (3204d46)
  • line up the sidebar's top row with the traffic lights, and every row on one column (#399) (2b0148a)
  • list a run hmz exec holds as going in hmz web and /epics (#370) (085fd0a)
  • order epics begun in one millisecond, and keep a left view out of the next one's address (#360) (18cd580)
  • runtime: bound docker calls, and let go of a swarm runtime once its service is created (#467) (3204d46)
  • runtime: refuse a host slot that is neither the workspace's nor a chat's (#451) (a4c18ed)
  • telemetry: scrub reports as bundles are, timings and profiles too, only where started (#439) (33ed4dd)
  • tui,web: call an execution of a flow an epic in every label and message (#447) (33ed4dd)
  • web: draw the view an address names, never one left or one under a dialog (#357) (45184e7)
  • web: keep long flow and workspace names inside what shows them (#329) (1e765bc)
  • web: pick an agent and an environment a step at a time, and test the page in a browser (#301) (27dfb41)
  • web: say what an epic's environments are, and fit its spending in the panel (#309) (cc17577)
  • web: size the composer's input as soon as it is shown (#458) (110b66b)

Performance

  • tracing: open only the Codex rollouts a run could have written (#454) (43441e8)

Refactoring

  • flows: strip the builtin loops to their purest form (#298) (f855a01)