Skip to content

v0.9.17

Choose a tag to compare

@raelli raelli released this 12 Jun 05:40
· 178 commits to main since this release

What's Changed

Architecture deepening + daemon version-skew auto-restart (#114)

  • Daemon auto-restart on version skew: ensureDaemonVersion() compares the launchd plist's ProgramArguments path against the installed plugin's index.js and reloads the daemon when stale — /plugin update no longer leaves an old daemon running
  • /health endpoint on the Python A2A server (diagnostics)
  • Fixed branch: undefined on session-start events (deleted event-builder.js; start.js composes the payload inline)
  • Deleted hollow session.js pass-through
  • Unified doctrine fetch: plan and review share doctrine_enrichment.py with TTL cache + stale fallback

Architecture deepening pass 2 (#115)

  • src/config.js — single owner of every env read, URL resolution, secret fallback, and auth-header decision; fixes the AELLI_BASE_URL default divergence and makes doctowiz probe exactly what production resolves
  • src/a2a-transport.js — one JSON-RPC 2.0 transport replaces four hand-rolled HTTP clients; rejects non-JSON 200 bodies instead of reporting them as completed tasks
  • providers/protocol.py — named AgentRunProvider seam with canonical status vocabulary; both providers contract-tested as substitutable
  • a2a.py: err()/require() — the capability error envelope (the contract daemon.js maps to queue status) now has exactly one owner

Tests: 193 JS + 603 Python

Full Changelog: v0.9.16...v0.9.17