axagent experiencelivev0.37.2

release v0.36.0

Close the routing loop, expose OTLP health, grow the community graph

v0.36.0 links routing advice to outcomes, adds an OTLP health command, moves hooks toward a dispatcher, and expands the public community/profile surfaces.

2026-06-29ax v0.36.027 referenced changes
announcement

How we got here

By v0.35.0 ax could advise on routing and measure paired work blocks, but the feedback loop was still incomplete. Advice fired before a child session existed, OTLP telemetry flowed into tables without a direct health command, and hook installation was still a collection of individual guards rather than one coordinated path. The v0.36.0 range is the consolidation pass: record what the advice said, join it back to the dispatch that followed, expose whether telemetry is flowing, and make hook installation simpler.

The same release also pushes the community side forward. Profiles gained a widget, the site gained pattern and state-report pages, and the graph learned to mine repeated directive and workflow shapes from real sessions.

What changed

Advice now has an outcome ledger (#595): the route-dispatch advice tap writes each PreToolUse[Agent] recommendation to `~/.ax/hooks/advise-log.jsonl`; ingest loads that ledger into the graph; and `ax dispatches --advice` joins advice rows to nearby spawned dispatches. The report can now say whether a suggested cheaper model was followed, ignored, or unmatched.

ax dispatches --advice --days=14
ax dispatches --economy --days=14

OTLP got its own read surface (#609): `ax otel` reports receiver freshness, top-level session coverage, and OTLP cost cross-checks. The release also fixed telemetry correlation by matching bare UUIDs to `session:<uuid>` records in JS and scanning only recent telemetry, so a large `otel_log_event` table no longer turns every ingest into a full historical grouping job.

ax otel --days=14

Hooks moved toward one dispatcher (#603, #605, #606, #607, #612, #613): `ax hooks install --all` became the one-shot install path, the hooks SDK gained a dispatcher that multiplexes guard verdicts in one process, and the daemon path added a `/hooks/eval` fast path plus opt-in daemon install mode. The site copy was corrected to describe route-dispatch as advice rather than automatic routing.

Directive and workflow mining became inspectable (#592, #598): the graph now derives n-gram lift for directive candidates and mines recurring skill-arc workflows. `ax directives mine`, `ax directives ngrams`, and `ax directives workflows` turn those derived rows into reviewable tables and agent briefs instead of leaving them as hidden ingest artifacts.

Community surfaces expanded: community pattern contributions landed, the nightly compiler produces pattern stats, `/patterns` lets visitors browse those patterns, `/state/<year>` renders a compiled state report, team radar compare arrived, and `ax profile widget` can write a marker-delimited block into a GitHub profile README.

The core graph got less fragile: ingest now sweeps stranded `ingest_run` rows, reapplies additive schema self-heal before ingest, clears derived friction/diagnostic rows on full re-derive, bounds session churn scans to failure candidates, exposes `sessions_churn` through MCP, shows full context startup budget, and derives OpenCode compactions.

Why it matters

v0.36.0 turns several "trust me" systems into inspectable systems. Routing advice can be checked against what actually ran. OTLP can be checked for freshness and coverage. Hook installation has a single path instead of a pile of separate guard commands. And the community/profile additions make the local graph useful outside one machine without losing the evidence trail that made ax useful in the first place.

referenced changes

27 linked changes

Generated from Release Please and grouped by change type. Each row keeps its issue and commit references.

Features

  1. 01add community pattern contributions (#629) (bc8715e)
  2. 02advice: link route-dispatch advice to dispatch outcomes (#595) (386b782)
  3. 03compile community pattern stats (#622) (1354fc0)
  4. 04hooks: daemon /hooks/eval fast-path + guard env-forwarding (B, stage 3a) (#612) (28934ca)
  5. 05hooks: daemon-first shim + opt-in --daemon install (B, stage 3b) (#613) (3f7bb19)
  6. 06hooks: dispatcher core - multiplex all guards in one process (#605) (0672a18)
  7. 07hooks: flip `install --all` to the dispatcher + migrate legacy (B, stage 2b) (#607) (a0f98af)
  8. 08hooks: one-shot `ax hooks install --all` + repo-free install nudge (#603) (a6cabbe)
  9. 09hooks: scaffold + embed the single dispatcher (B, stage 2) (#606) (70a72d7)
  10. 10ingest: derive opencode compactions (#634) (9ad4fd2)
  11. 11mcp: expose sessions_churn as a read-only MCP tool (#311) (#596) (01a6dde)
  12. 12n-gram-lift directive miner (#587) (#592) (bbb5482)
  13. 13otel: `ax otel` — OTLP receiver coverage + freshness view (#609) (dc4267b)
  14. 14profile widget (#626) (2899ef3)
  15. 15show full context startup budget (#635) (b8353cb)
  16. 16site: add state report page (#632) (69d6d70)
  17. 17site: browse community patterns (#631) (9b6e26a)
  18. 18studio: expose session deeplinks in session outputs (#563) (#584) (2b867ba)
  19. 19support team radar compare (#633) (b3b2061)
  20. 20workflow mining — codify recurring skill arcs (#588) (#598) (4cb5211)

Bug Fixes

  1. 01ingest: additive schema self-heal at ingest start (#283) (#601) (6d53e32)
  2. 02ingest: auto-sweep stranded ingest_run rows at ingest start (#282) (#597) (ef40bae)
  3. 03ingest: clear-then-derive friction/diagnostic events on full re-derive (#549) (#602) (847bb6a)
  4. 04otel: correlate telemetry_of by uuid match, session-grain + incremental (#611) (7b45cbd)
  5. 05routability: carry judgment from prose turns onto the edits behind them (#591) (4bb7243)
  6. 06site: routing copy says advise, not auto-route (#594) (30c5406)

Performance

  1. 01bound session churn scans to failure candidates (#620) (ad519d2)
generated by release please
Show generated changelog for v0.36.0commit-level detail from Release Please

0.36.0 (2026-06-29)

Features

  • add community pattern contributions (#629) (bc8715e)
  • advice: link route-dispatch advice to dispatch outcomes (#595) (386b782)
  • compile community pattern stats (#622) (1354fc0)
  • hooks: daemon /hooks/eval fast-path + guard env-forwarding (B, stage 3a) (#612) (28934ca)
  • hooks: daemon-first shim + opt-in --daemon install (B, stage 3b) (#613) (3f7bb19)
  • hooks: dispatcher core - multiplex all guards in one process (#605) (0672a18)
  • hooks: flip `install --all` to the dispatcher + migrate legacy (B, stage 2b) (#607) (a0f98af)
  • hooks: one-shot `ax hooks install --all` + repo-free install nudge (#603) (a6cabbe)
  • hooks: scaffold + embed the single dispatcher (B, stage 2) (#606) (70a72d7)
  • ingest: derive opencode compactions (#634) (9ad4fd2)
  • mcp: expose sessions_churn as a read-only MCP tool (#311) (#596) (01a6dde)
  • n-gram-lift directive miner (#587) (#592) (bbb5482)
  • otel: `ax otel` — OTLP receiver coverage + freshness view (#609) (dc4267b)
  • profile widget (#626) (2899ef3)
  • show full context startup budget (#635) (b8353cb)
  • site: add state report page (#632) (69d6d70)
  • site: browse community patterns (#631) (9b6e26a)
  • studio: expose session deeplinks in session outputs (#563) (#584) (2b867ba)
  • support team radar compare (#633) (b3b2061)
  • workflow mining — codify recurring skill arcs (#588) (#598) (4cb5211)

Bug Fixes

  • ingest: additive schema self-heal at ingest start (#283) (#601) (6d53e32)
  • ingest: auto-sweep stranded ingest_run rows at ingest start (#282) (#597) (ef40bae)
  • ingest: clear-then-derive friction/diagnostic events on full re-derive (#549) (#602) (847bb6a)
  • otel: correlate telemetry_of by uuid match, session-grain + incremental (#611) (7b45cbd)
  • routability: carry judgment from prose turns onto the edits behind them (#591) (4bb7243)
  • site: routing copy says advise, not auto-route (#594) (30c5406)

Performance

  • bound session churn scans to failure candidates (#620) (ad519d2)