Repository navigation
v0.6.3
23 PRs on top of v0.6.2 — the harness release: Fusion and local models that finish the task, and tools that stop damaging the user's work.
Fusion that delivers
- Workers see the request. Every brief quotes the operator's original request; briefs up to 32K chars; a worker's reads are confined to its working directory and the fan-out's write scope (#426).
- Task status is ground truth, not the worker's reply. A task that declared files and wrote nothing is
no_changes; a reply on the forced final step ismax_steps; the delegate result opens with a status table for every task and the call reportsall_ok/partial/all_failed(#426, #428, #431). - A contract between the parts of a fan-out.
fusion.delegatetakesowners,provides,requires,inputsandchecks; parts run in waves ordered byrequires → provides; one refusal names every problem at once (#431, #439, #459). - Check before you accept. New read-only
verify.syntaxandverify.run(command, service or headless page) run against a throwaway copy of the working directory; contract checks run through them (#432). - No more wasted workers. Worker time limits come from measured throughput; a worker is handed back only after it stalls, never mid-generation; reasoning effort and output caps reach the provider;
llm.runMode.fusion.cloudWorkerscaps a cloud fan-out;/runmode statussays what will actually run (#434, #439). - A stalled review must act. A Fusion orchestrator that keeps reading without delegating gets one notice, then can only
fusion.delegateorreply(llm.runMode.fusion.reviewStallSteps, #459).
Local models
- The KV cache survives long turns. Prompts only append between history cuts, sessions keep their llama-server slot across steps and resumes, context and fan-out width are sized from the GGUF header and a throughput probe, sliding-window models launch with
--swa-full(#429, #436). - Bounded thinking.
localModels.reasoningBudgetTokens(default 1,500) caps the reasoning prelude before each tool call;localModels.thinking: offnow applies to every prompt (#453). - Per-request grammar and tool roles. A local orchestrator can no longer generate calls the gate would refuse; workers and orchestrators get their own tool sets (#430).
- Families without a hand-built profile render through llama-server's own chat template (
localModels.useServerTemplate, #435).
Cloud providers
- Native multi-turn messages for OpenRouter, OpenAI-compatible, AIMLAPI and Gemini, with Anthropic
cache_controlbreakpoints, cache-capable routes for Google models and cached tokens on the usage record (#433). - Reasoning fields and tagged tool calls parsed for every OpenAI-compatible kind;
o*/gpt-5models no longer gettemperature/max_tokens(#433). - Provider errors told apart: exhausted credit stops the turn resumably, retry hints are honoured up to 180 s, a context-length rejection learns the window, repacks and retries once (#435).
Tools that protect your work
- Your files are safe. Replacing a pre-existing file saves the previous bytes and says so;
os.fs.restorebrings them back; a file the request names as an input is not replaced withoutoverwrite: true(#438, #459). - Long shell commands detach instead of hanging. After
tools.shell.defaultTimeoutMs(10 min) the agent gets the output so far and a job id towait,killor keep (#452). - Reads outside the working directory ask first through the approval ladder (
fs_read_outside;agent.readScope: unrestrictedto opt out) (#452). - Calls carrying model control markers or unknown argument keys are refused with the expected keys; batched writes run whole under auto-approval;
.js/.jsonwrites are parse-checked;os.fs.grep { literal: true }(#427, #435, #438). - A
replybatched with work tools is a progress note, not the end of the turn (#453). - Bigger defaults for today's contexts: 200 conversation pairs, 32K batch results, 8K render cap, 60 worker steps (#437).
Also
- Atomic Chat (local) provider preset; an External llama.cpp URL on
:1337opens the wizard on it (#424). - Re-run first-time setup any time:
/onboarding(alias/setup), the Setup menu row "Run first-time setup again…", oratomic-agent tui --onboarding. Providers, keys, models, sessions and memory are untouched, and backing out writes nothing (#425). - Downvoted profile facts, pinned ones included, now leave
### profileasmemory.voting.profileFilterThresholdpromised (#423). - Model downloads no longer hang at 9x%. A connection the CDN throttles is swapped for a fresh one, and connections that finish their slice take over the rest of a slow one (#462).
- A message typed while a turn is running is labelled
YOU · steered into the running turn, so the turn's answer is no longer read as its reply;[try again]on a stopped turn re-sends the turn's own request, not the steer (#461). - The forced reply after a
wanderingloop stop says what actually happened instead of "a no-progress loop after 12 blocked attempts" (#460, refs #458).
Config migrates automatically to v69; values you set yourself are kept.