axagent experiencelivev0.37.0

release v0.32.0

Serve Studio locally, route cost deliberately

The daemon now serves Studio from localhost, ax cost routability prices main-thread work that could route down, and team, skill, telemetry, and site surfaces expand around that local operating loop.

2026-06-16ax v0.32.023 referenced changes
announcement

How we got here

v0.31.0 put telemetry into `ax serve`; v0.32.0 makes the daemon the place you actually use it. The hosted Studio link gave users a polished demo, but live local data belongs on the same origin as the local daemon. This release serves Studio from `127.0.0.1`, embeds the daemon build into the compiled binary path, and drops the hosted live-Studio link.

At the same time, the cost story moved from observation to routing pressure. With OTLP and transcript cost signals available, ax can ask which main-thread turns were routable and estimate what a cheaper tier would have saved. The rest of the release builds around that loop: a cost view, routing tuner, skill hygiene, team sync primitives, and telemetry-enriched insights.

What changed

Studio is served by the local daemon (#476). `ax serve` now serves the Studio SPA at the daemon root and the CLI banner points at the local URL. That avoids the hosted-demo-to-loopback browser problems and makes same-origin `/api/*` calls the default.

ax serve
# open http://127.0.0.1:1738/

The release added `studio-assets.ts` and the generated embed stub so source runs can read the built Studio bundle from disk while compiled binaries can serve embedded assets.

Cost analysis learned routability (#437, #459, #461). `ax cost routability` estimates which main-thread class-runs could have routed down and what the same-vendor savings would have been. Studio gained a `/cost` view and an interactive regex routing tuner, with screenshots added to the cost blog and showcases.

ax cost routability --days=14

Telemetry started enriching behavior insights (#439). Behavior insights can now attach OTLP-sourced cost and latency through a shared telemetry-rollup helper, keeping transcript cost and OTLP cost separate while making expensive friction visible in the places users already inspect.

Skill hygiene got a token-budget pass (#458). SkillOpt-informed hygiene added bloat, namespace dedupe, and auto-load capture. The practical surface is simple: identify skills that are both large and used, distinguish loaded skills from explicitly invoked ones, and keep personal skill sets from quietly inflating every agent run.

The team mesh started locally (#440, #454, #455, #451). `ax team sync` landed as the first slice of local team improvement sync. Executable-hook trust and `.ax.local/` experiment overlays followed, with `.ax/skills` and `.ax/agents` unignored to seed an ax team rig in the repo.

The site and profile surfaces caught up (#452, #453, #460, #465, #475). The site gained a blog system, a "used by engineers from" strip, a darker landing mock, grouped nav dropdowns, and a darker how-it-works deck. Profiles redefined DEPTH as outcome density and added a radar-axis legend.

Why it matters

The daemon is no longer just the backend behind a separate Studio experience. It is the local product surface. Once Studio, telemetry, cost, skills, and team state all meet on localhost, ax can show what your agents are doing, what it costs, and which work should be routed or tightened next without asking a hosted page to reach back into your machine.

referenced changes

23 linked changes

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

Features

  1. 01ax cost routability — main-thread routability lens (#437) (6b27808)
  2. 02insights: multi-hop telemetry enrichment of behavior insights (#439) (02b43d6)
  3. 03onboarding: privacy block in agent setup prompt (#467) (601bcac)
  4. 04profile: print profile URL after publish + /@<login> alias (91def51)
  5. 05profile: redefine DEPTH as outcome-density + add radar axis legend (#475) (e30fbf7)
  6. 06seed ax team rig (.ax/skills + .ax/agents) + un-ignore it (#451) (30efbc3)
  7. 07serve: serve studio from the daemon at 127, drop the hosted-studio link (#476) (81d643b)
  8. 08site: "used by engineers from" logo strip on landing (#453) (d615fcb)
  9. 09site: blog section + origin-grade article system (#452) (4908e8f)
  10. 10site: dark-instrument Mission Control mock on the landing + cycling wrapped popups (#460) (f680c34)
  11. 11site: embed ax studio /cost screenshots in blog post + showcases (#461) (25ade75)
  12. 12site: grouped header nav dropdowns + dark-instrument how-it-works PROPOSE deck (#465) (40467e5)
  13. 13skills: SkillOpt-informed skill hygiene — token-budget lint, namespace dedup, auto-load capture (#458) (571ec51)
  14. 14studio: /cost view + interactive regex routing tuner (#459) (53ccfa4)
  15. 15studio: instrument-ify /sessions — masthead, hairline ledger, dark story strips (#433) (6259b3d)
  16. 16team: `.ax.local/` experiment overlay + promote (Mesh B) (#455) (2ae4533)
  17. 17team: executable-hook trust layer — `ax team trust` (Mesh A) (#454) (3a18bb6)
  18. 18team: local `ax team sync` — Slice 0 of the team improvement mesh (#440) (281d232)

Bug Fixes

  1. 01cli: doctor honors AX_DB_URL + classify dead-end loop (dogfood) (#456) (347661e)
  2. 02db: route SurrealDB auth through connect() so ax serve never goes anonymous (#431) (#435) (63d19d1)
  3. 03install: profile publish watcher gate 6h -> 2h (#464) (3e31684)
  4. 04signals: exclude harness-injected turns from correction derivation (#442) (86cd863)
  5. 05studio: dark-bridge remaining light-era route stragglers (#436) (224be92)
generated by release please
Show generated changelog for v0.32.0commit-level detail from Release Please

0.32.0 (2026-06-16)

Features

  • ax cost routability — main-thread routability lens (#437) (6b27808)
  • insights: multi-hop telemetry enrichment of behavior insights (#439) (02b43d6)
  • onboarding: privacy block in agent setup prompt (#467) (601bcac)
  • profile: print profile URL after publish + /@<login> alias (91def51)
  • profile: redefine DEPTH as outcome-density + add radar axis legend (#475) (e30fbf7)
  • seed ax team rig (.ax/skills + .ax/agents) + un-ignore it (#451) (30efbc3)
  • serve: serve studio from the daemon at 127, drop the hosted-studio link (#476) (81d643b)
  • site: "used by engineers from" logo strip on landing (#453) (d615fcb)
  • site: blog section + origin-grade article system (#452) (4908e8f)
  • site: dark-instrument Mission Control mock on the landing + cycling wrapped popups (#460) (f680c34)
  • site: embed ax studio /cost screenshots in blog post + showcases (#461) (25ade75)
  • site: grouped header nav dropdowns + dark-instrument how-it-works PROPOSE deck (#465) (40467e5)
  • skills: SkillOpt-informed skill hygiene — token-budget lint, namespace dedup, auto-load capture (#458) (571ec51)
  • studio: /cost view + interactive regex routing tuner (#459) (53ccfa4)
  • studio: instrument-ify /sessions — masthead, hairline ledger, dark story strips (#433) (6259b3d)
  • team: `.ax.local/` experiment overlay + promote (Mesh B) (#455) (2ae4533)
  • team: executable-hook trust layer — `ax team trust` (Mesh A) (#454) (3a18bb6)
  • team: local `ax team sync` — Slice 0 of the team improvement mesh (#440) (281d232)

Bug Fixes

  • cli: doctor honors AX_DB_URL + classify dead-end loop (dogfood) (#456) (347661e)
  • db: route SurrealDB auth through connect() so ax serve never goes anonymous (#431) (#435) (63d19d1)
  • install: profile publish watcher gate 6h -> 2h (#464) (3e31684)
  • signals: exclude harness-injected turns from correction derivation (#442) (86cd863)
  • studio: dark-bridge remaining light-era route stragglers (#436) (224be92)