axagent experiencelivev0.31.0

release v0.29.0

Put a price on every proposal, a meter on your plan

The impact engine backtests a projected value onto every improve proposal, so each card leads with what fixing it is worth. ax quota brings live Claude plan usage to the CLI, statusline, and menubar. Plus the enforce-worktree hook now parks the primary tree on the default branch, and ProfileV1 absorbs the wrapped-style aggregates.

2026-06-13ax v0.29.08 referenced changes
announcement

How we got here

The improve loop could mine proposals and let an agent file them, but every proposal still looked the same on the deck - a hypothesis with a confidence number. The question a user actually asks is "which of these is worth my time?" This release answers it by putting a backtested dollar (or recurrence) figure on each one, so the deck sorts itself by stake.

The other half of the release is about the limits you bump into while running all of this. Frontier models are rate-limited, and there was no way to see how close you were from inside your own tooling. `ax quota` reads the plan usage windows and surfaces them where you already look - the statusline and the menubar.

What changed

The impact engine (#361): every improve proposal now carries a backtested or estimated value, and the card leads with it - the impact chip *is* the headline (`~$X redirectable`, `Nx recurring`), with the mined hypothesis as the body and an accent `FIX ->` line naming the actual mechanism (new skill, edit CLAUDE.md, new hook). A new `GET /api/improve/:sig/impact` endpoint serves the per-form estimate; the next-action cards and the proposals table both render a cheap parsed chip. The improve page got a value-first redesign in the same pass - a three-column accent-topped grid that states problem, stake, and fix in one glance.

ax quota (#365):

ax quota                      # live 5h / 7d Claude plan usage
ax quota --statusline         # one plain line for Claude Code statusLine
ax quota --swiftbar           # SwiftBar / xbar menubar plugin body

`ax quota` reads the Claude Code OAuth token (macOS Keychain, falling back to `~/.claude/.credentials.json`), polls the plan-usage endpoint for the 5h and 7d windows, and caches the result at `~/.ax/quota-cache.json` so statusline and menubar callers can poll freely. It never refreshes the token, and on a fetch failure it degrades to the stale cache - render-only modes show "quota n/a" rather than an error dump. A SwiftBar plugin (`scripts/swiftbar/ax-quota.2m.sh`) puts it in your menubar.

enforce-worktree parks the primary tree (#367): the worktree guard now keeps the primary tree parked on the default branch - the hook-SDK guards that already block edits and checkouts on main extend to keeping the shared checkout where it belongs, so concurrent worktree work can't collide on a dirty primary.

Wrapped aggregates in your profile (#359): the wrapped-style aggregates from v0.28.0 now feed ProfileV1's insights, so your published profile shows the same recap-grade numbers. The profile dossier cards picked up generative dither art and trace minis (#363), and a six-axis agent-sign radar with a compare overlay landed alongside (#364).

Why it matters

A proposal deck without prices is a to-do list you ignore. Putting a backtested value on every card turns it into a ranked list of bets, with the most valuable fix on top. And `ax quota` closes a blind spot that matters more the harder you lean on routing and dispatch - you can finally see your plan headroom from the same statusline where you already watch everything else.

referenced changes

8 linked changes

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

Features

  1. 01axctl: ax quota - Claude plan usage in CLI, statusline, and menubar (#365) (cdaebed)
  2. 02improve: impact engine - backtested projected value per proposal (PR5a) (#361) (2581e33)
  3. 03profile: port wrapped-style aggregates into ProfileV1 insights (#359) (4e361b8)
  4. 04site: /routing marketing page + og-kit shared OG primitives (#366) (599b99e)
  5. 05site: agent-sign radar - six-axis spider chart, compare overlay, raw-values table (#364) (4092f42)
  6. 06site: generative dither art + trace minis on dossier insight cards (#363) (6d93daa)

Bug Fixes

  1. 01ci: community-users validate reports on every PR (required-check safe) (#358) (17a10df)
  2. 02community: compiled outputs move to the community-data branch (#362) (74f24f1)
generated by release please
Show generated changelog for v0.29.0commit-level detail from Release Please

0.29.0 (2026-06-12)

Features

  • axctl: ax quota - Claude plan usage in CLI, statusline, and menubar (#365) (cdaebed)
  • improve: impact engine - backtested projected value per proposal (PR5a) (#361) (2581e33)
  • profile: port wrapped-style aggregates into ProfileV1 insights (#359) (4e361b8)
  • site: /routing marketing page + og-kit shared OG primitives (#366) (599b99e)
  • site: agent-sign radar - six-axis spider chart, compare overlay, raw-values table (#364) (4092f42)
  • site: generative dither art + trace minis on dossier insight cards (#363) (6d93daa)

Bug Fixes

  • ci: community-users validate reports on every PR (required-check safe) (#358) (17a10df)
  • community: compiled outputs move to the community-data branch (#362) (74f24f1)