Skip to content

v0.4.2

Choose a tag to compare

@github-actions github-actions released this 28 Aug 11:10
· 140 commits to main since this release

Steer context in tasks, not tokens

One task is a thing you asked plus everything the agent did answering it. agent.conversationMaxPairs (1–100, default 20) says how many the prompt carries, and the context panel now has a selector for it:

 context · 13.6k of 128k window · 11%
 prompt scaffold        5.9k   5% ==========
 conversation              6  <1%
 free                 106.2k  83%
────────────────────────────────────────────
 tasks per turn      −   20  +   sent each turn (1-100)

Every figure above the selector recalculates as you move it, so the cost of the choice is on screen while you make it. Click /+ or press -/+. This replaces the old transcript line, the capped by … sentence and the set auto (a) button.

Tokens remain the ceiling underneath — a task has no bounded size, so N tasks can still exceed a window, and whichever limit cuts more wins.

⚠️ Behaviour change

History is now capped at 20 tasks by default, where previously only the 32k token cap applied. A long, cheap history that used to survive whole will be trimmed. Set agent.conversationMaxPairs to 100 to effectively turn it off:

atomic-agent config set agent.conversationMaxPairs 100

Fixed

  • set auto could shrink the transcript 30× — with no window known it fell back to tokenBudget * 0.35 = 1050 tokens, taking the transcript from 32,000 to 1,050, the opposite of what it promised.
  • Cloud models had no context window at all in the prompt budget — it came only from the llama-server /props probe, so no window clamp was ever applied off the local path. The model catalogue now reaches the budget.
  • config set agent.approvalLevel could never succeed — the one safety-critical key rejected the value it had just been given.
  • Retry-After could corrupt a redirect URL in os.http.request, turning a plain 429-with-redirect into a blocked result.
  • The approval prompt advertised keys that did nothing — the hint strip said y/n while only ctrl+y/ctrl+d worked.
  • The uninstall dialog did not hold the keyboard — the confirmation word landed in the composer behind it, and Esc opened the operator menu on its way out.
  • Plan mode: the composer hint could never render, and the plan buttons were mouse-only. They answer to ctrl+y / ctrl+b / ctrl+d now.

Reliability

A dead socket is a transport failure rather than a tool bug (#262) · a closed pipe or vanished tty no longer crashes the agent (#263) · an empty completion gets one repair before the turn dies (#264) · errno survives being rewrapped (#265) · stacks Sentry can actually read (#266).

Full Changelog: v0.4.1...v0.4.2