Skip to content

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 00:06
· 158 commits to main since this release
56ae4d4

Team & worker workflows land in force this release, alongside a batch of
CLI ergonomics and error-classification fixes.

New commands & capabilities

  • --version / -v now print the version, alongside the existing hadron version (#393).
  • node mv — mv alias for node move, matching ls/rm on its siblings (#450).
  • memory create / new / add — aliases for the memory set upsert, so the create verb is discoverable like every other noun (#308).
  • agent create --install-into <app> installs a new agent into an App's cast pool in one run, so it is castable immediately (#543).
  • agent create / agent update --persona-prompt-file / --system-prompt-file (and - for stdin) — supply the CLI's longest text fields from a file rather than an inline argument that a shell would mangle (#541).
  • team worker release <name> clears the hold on a name and reports what the server actually did — the released holder, whether the team-chat announcement went out (#554, #522, #524).
  • team worker list now shows who holds each name and whether anyone is actively driving it (#487, #523).
  • team chat read walks backward: --before <seq>, --limit, and a prevBefore cursor for stable paging under a chat being posted to (#548, #556).
  • team role list / team worker cast warn when a role definition and an agent's persona role diverge — the silent direction that used to pass unremarked (#542).
  • team session log names the bound worker in its receipt (✓ logged … as Vera) and in --json (workerName/workerId), so a misattributed append-only record is caught on sight (#559).
  • coding review run buckets the review checklist against a diff and returns the checks a change could fire, with their bodies, in one response; coding now resolves its memory from the repository and says which source answered (#551, #561, #562).
  • spec reports abstract-length headroom and escalates at the 2000-char wall, and gains two lint rules that catch a corrupted spec (#539, #547).

Improvements

  • App references are validated client-side (--app, --install-into, the app group's positionals, app set-active): a bad ref is refused with a message naming the flag and the canonical hrn:app:<root>:<slug> forms, before any request — instead of leaking the server's GraphQL internals and teaching the retired :: grammar (#540).
  • Error classification honors the GraphQL envelope code over the HTTP status, on both the curated commands and the raw hadron api path — so a 4xx/5xx that carries a typed code (e.g. WORKER_TAKEN, NOT_FOUND) exits with the right code rather than a generic failure; a gateway 5xx with a real body is classified from it (#563, #544).
  • Required flags now say so in their usage, and a command reports the whole missing set at once rather than one flag at a time (#536, #534, #538).
  • Session lifecycle is sturdier: a refused session end no longer takes the handoff with it, session start's takeover gate reads derived liveness rather than a merely-open row, and a demoted read no longer fails a bind except where it decides one (#528, #550, #552, #553).

Bug fixes

  • chat post / team chat post: a missing or unreadable --body-file (or a failed --body - stdin read) now exits Usage (2), the documented contract, instead of the generic 1 (#390).

Full changelog: v0.12.0...v0.13.0