Skip to content

Upgrade Atomic to the stable 0.9.45 release - #729

Merged
lavaman131 merged 1 commit into
mainfrom
atomic-0.9.45
Oct 26, 2026
Merged

lavaman131 merged 1 commit into
mainfrom
atomic-0.9.45

Conversation

@lavaman131

Copy link
Copy Markdown
Collaborator

Moves the Atomic harness to the stable 0.9.45 release.

Versions. catalog:harness pins @bastani/atomic 0.9.45. The lockfile resolves @bastani/atomic, @bastani/atomic-natives with its eight platform packages, and @bastani/pi-ai at 0.9.45, with no older @bastani package left. No other package in the lockfile moves.

What changed in Atomic, and what it means here.

  • Worker pool startup deadline: when an operator enables a local worker pool without setting workflows.localWorkers.startupTimeoutMs, the deadline is no longer a flat 30 seconds. It now scales with the worker count and the one-minute load average per CPU core, from 30 seconds up to 10 minutes. I ran a real Planner workflow on a two-worker pool with no startup timeout set: both children ran and the run card ended finished. With a 1 ms timeout, the run card ended failed, and the journal recorded the new "workers were too slow to start" error with the worker logs beside it. The self-hosting guide now describes the new default. Chopin sets neither startupTimeoutMs nor leaseMs.
  • Journal adapters that import @bastani/atomic/workflows, hostModules, and the optional RunJournal members (changeToken, runVersions, snapshotTail, appendMany): none of these reach Chopin. Planner sessions journal to a SQLite file that Chopin passes as createAgentSession({ journal }), and that file uses Atomic's built-in journal. Chopin has no storage adapter or RunJournal of its own.

The Atomic adapter needs no code change. @bastani/pi-ai 0.9.45 has no changelog entry of its own.

Connector. Not changed; it does not depend on Atomic.

Verification

  • bun test: 6734 pass, 22 skip, 0 fail, including the Atomic contract suite
  • bun run types and bun run ci pass
  • The server Docker image builds. It starts healthy with HARNESS=atomic and imports Atomic 0.9.45
  • Targeted bun run e2e (harness, run card, smoke, decisions deck): 35 passed

The harness catalog now pins @bastani/atomic 0.9.45, and the lockfile
resolves @bastani/atomic, @bastani/atomic-natives with its eight platform
packages, and @bastani/pi-ai at 0.9.45, with no older @Bastani package
left. No other package in the lockfile moves.

One change affects a Chopin server, and the self-hosting guide now says
so. When an operator enables a local worker pool without setting
workflows.localWorkers.startupTimeoutMs, the startup deadline is no
longer a flat 30 seconds: it scales with the worker count and the
one-minute load average per CPU core, from 30 seconds up to 10 minutes.
A real Planner workflow on a two-worker pool with no startup timeout set
ran both children and its card ended finished; with a 1 ms timeout its
card ended failed and the journal recorded the new "workers were too
slow to start" error, with the worker logs beside it.

The journal changes do not reach Chopin. Planner sessions journal to a
SQLite file Chopin passes as createAgentSession({ journal }), which uses
Atomic's built-in journal; Chopin has no storage adapter or RunJournal
of its own, so the optional changeToken, runVersions, snapshotTail and
appendMany members, hostModules, and adapters that can now import
@bastani/atomic/workflows need nothing here. The Atomic adapter needs no
code change.

Assistant-model: Claude Opus 5.5 (fast)
Assistant-workflow: inline (fast subagents)
Assistant-verification: bun test (6734 pass, 22 skip, 0 fail), bun run types, bun run ci
Assistant-verification: real Planner workflow on a local worker pool with no startup timeout finished; with a 1 ms timeout it failed with the new startup error and its run card ended failed
Assistant-verification: docker build of the server image; container started healthy with HARNESS=atomic and imports Atomic 0.9.45
Assistant-verification: targeted bun run e2e (35 passed)
User-preference: Keep Atomic and its transitive packages on the same release everywhere
Co-authored-by: Alex Lavaee <alexlavaee@microsoft.com>
@lavaman131 lavaman131 self-assigned this Oct 26, 2026
@lavaman131
lavaman131 merged commit f75791a into main Oct 26, 2026
24 checks passed
@lavaman131
lavaman131 deleted the atomic-0.9.45 branch October 26, 2026 00:10
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