Repository navigation
Upgrade Atomic to the stable 0.9.39 release - #672
Merged
Merged
Conversation
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
force-pushed
the
atomic-0.9.38
branch
from
October 19, 2026 04:26
e6e6dd8 to
3e8b40b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upgrades the
atomicharness to the stable Atomic 0.9.39 release and gives each Planner session its workflow journal directly.catalog:harnesspins@bastani/atomic0.9.39;bun.lockresolves@bastani/atomic,@bastani/atomic-natives(and its platform packages) and@bastani/pi-aiat 0.9.39. No other dependency changed.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-wideATOMIC_WORKFLOW_JOURNAL_PATHwhile it runs and restores it on shutdown. Each full Planner session now getsjournal: { 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_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.delete_session, SQLite/export, JSONL conflict-copy import, overlay OSC marks, the Node heap size) touch nothing the harness uses.docs/self-hosting.mdanddocs/hosted-agent.mdname the new version and describe the per-session journal.The connector is unchanged.
Verification
harnesses.test.tsandatomic/full.test.tswere 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 failbun run types,bun run ci@bastani/atomic0.9.39 imports,harnessForbuilds the Atomic harness, the journal resolves to/var/lib/chopin/chopin/atomic/workflows.sqlite, andATOMIC_WORKFLOW_JOURNAL_PATHstays unset. The container started healthy withHARNESS=atomic.bun run e2e e2e/harness.e2e.ts e2e/smoke.e2e.ts e2e/setup-agents.e2e.ts e2e/machines.e2e.ts: 38 passed