Skip to content

Upgrade Atomic to the stable 0.9.39 release - #672

Merged
lavaman131 merged 1 commit into
mainfrom
atomic-0.9.38
Oct 19, 2026
Merged

lavaman131 merged 1 commit into
mainfrom
atomic-0.9.38

Conversation

@lavaman131

@lavaman131 lavaman131 commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator

Upgrades the atomic harness to the stable Atomic 0.9.39 release and gives each Planner session its workflow journal directly.

  • catalog:harness pins @bastani/atomic 0.9.39; bun.lock resolves @bastani/atomic, @bastani/atomic-natives (and its platform packages) and @bastani/pi-ai at 0.9.39. No other dependency changed.
  • 0.9.39 adds createAgentSession({ journal }) (Workflow journal location can't be set per session from the SDK bastani-inc/atomic#3743). The adapter no longer sets the process-wide ATOMIC_WORKFLOW_JOURNAL_PATH while it runs and restores it on shutdown. Each full Planner session now gets journal: { path } at the same location, $XDG_STATE_HOME/chopin/atomic/workflows.sqlite, and the process environment is left unchanged. Worker sessions get no journal; they have no workflow tool.
  • Atomic still reads ATOMIC_WORKFLOW_JOURNAL_PATH, and the SDK option takes precedence over it. To keep an operator's explicit choice, workflowJournal() returns that variable when it is non-empty, so the session is given the operator's file.
  • The other 0.9.39 changes (RPC delete_session, SQLite /export, JSONL conflict-copy import, overlay OSC marks, the Node heap size) touch nothing the harness uses.
  • docs/self-hosting.md and docs/hosted-agent.md name the new version and describe the per-session journal.

The connector is unchanged.

Verification

  • The journal tests in harnesses.test.ts and atomic/full.test.ts were changed first and failed against the old wiring, where the variable was set during the run. They pass with the per-session journal. The full Atomic workflow test still writes its run to the chosen file and not to Atomic's default.
  • GIT_CONFIG_GLOBAL=/dev/null bun test: 6198 pass, 21 skip, 0 fail
  • bun run types, bun run ci
  • Server Docker image built. Inside it, @bastani/atomic 0.9.39 imports, harnessFor builds the Atomic harness, the journal resolves to /var/lib/chopin/chopin/atomic/workflows.sqlite, and ATOMIC_WORKFLOW_JOURNAL_PATH stays unset. The container started healthy with HARNESS=atomic.
  • bun run e2e e2e/harness.e2e.ts e2e/smoke.e2e.ts e2e/setup-agents.e2e.ts e2e/machines.e2e.ts: 38 passed

@lavaman131 lavaman131 self-assigned this Oct 18, 2026
The harness catalog now pins @bastani/atomic 0.9.39, and the lockfile resolves
@bastani/atomic, @bastani/atomic-natives and @bastani/pi-ai at 0.9.39.

Atomic 0.9.39 lets each SDK session choose its workflow journal through
createAgentSession({ journal }). The atomic adapter used to set the
process-wide ATOMIC_WORKFLOW_JOURNAL_PATH while it ran and restore it on
shutdown, because that variable was the only way to move the journal. Each
Planner session is now given the journal directly, at the same location,
$XDG_STATE_HOME/chopin/atomic/workflows.sqlite, and the process environment
is left unchanged. Atomic still reads ATOMIC_WORKFLOW_JOURNAL_PATH, so an
operator who sets it still chooses the file: workflowJournal() returns that
path when it is non-empty. The hosted-agent and self-hosting guides name the
new version and describe the per-session journal.

Assistant-model: Claude Opus 5.5 (fast)
Assistant-workflow: inline (fast subagents)
Assistant-verification: bun test (6198 pass, 21 skip, 0 fail), bun run types, bun run ci
Assistant-verification: journal tests failed before the per-session wiring and pass after it
Assistant-verification: docker build of the server image; container started healthy with HARNESS=atomic
Assistant-verification: targeted bun run e2e (38 passed)
Co-authored-by: Alex Lavaee <alexlavaee@microsoft.com>
@lavaman131 lavaman131 changed the title Upgrade Atomic to the stable 0.9.38 release Upgrade Atomic to the stable 0.9.39 release Oct 19, 2026
@lavaman131
lavaman131 merged commit 3f751ba into main Oct 19, 2026
24 checks passed
@lavaman131
lavaman131 deleted the atomic-0.9.38 branch October 19, 2026 04:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant