Repository navigation
Upgrade Atomic to the stable 0.9.45 release - #729
Merged
Merged
Conversation
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>
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.
Moves the Atomic harness to the stable 0.9.45 release.
Versions.
catalog:harnesspins@bastani/atomic0.9.45. The lockfile resolves@bastani/atomic,@bastani/atomic-nativeswith its eight platform packages, and@bastani/pi-aiat 0.9.45, with no older@bastanipackage left. No other package in the lockfile moves.What changed in Atomic, and what it means here.
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 neitherstartupTimeoutMsnorleaseMs.@bastani/atomic/workflows,hostModules, and the optionalRunJournalmembers (changeToken,runVersions,snapshotTail,appendMany): none of these reach Chopin. Planner sessions journal to a SQLite file that Chopin passes ascreateAgentSession({ journal }), and that file uses Atomic's built-in journal. Chopin has no storage adapter orRunJournalof its own.The Atomic adapter needs no code change.
@bastani/pi-ai0.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 suitebun run typesandbun run cipassHARNESS=atomicand imports Atomic 0.9.45bun run e2e(harness, run card, smoke, decisions deck): 35 passed