Repository navigation
Upgrade Atomic to the stable 0.9.44 release - #728
Merged
Merged
Conversation
The harness catalog now pins @bastani/atomic 0.9.44, and the lockfile resolves @bastani/atomic, @bastani/atomic-natives with its eight platform packages, and @bastani/pi-ai at 0.9.44, with no older @Bastani package left. Atomic's @earendil-works pi packages stay at 1.4.0; undici moves to 8.12.3 with it. The breaking change in @bastani/pi-ai, appendGrammarToolInputJsonDelta() no longer closing the input, does not reach Chopin: nothing here calls it, and the toolcall_delta events the adapter forwards still carry only the new text. Nothing else the adapter calls changed shape, so it needs no code change. Two changes do affect a Chopin server, and the guides now say so. A workflow now runs up to 1000 stages at once (3 before), nests at most three levels (4 before), and a stage's subagent tool runs up to 1000 children (3 and 4 before), all in the server process without a pool. A Planner workflow under a maxDepth of 1 in the agent directory's extensions/workflow/config.json failed with "maxDepth exceeded", so Planner sessions read that file, and the self-hosting guide names it and the subagent file for throttling. Intercom messages the Planner sends a busy stage now arrive after its tool calls instead of cancelling them, unless sent as an interrupt; the hosted agent guide says so. Worker pools now run under a coordinator process. A real Planner workflow with an operator-enabled pool ran its two children in separate worker processes, kept the pool's tables in Chopin's journal and no default journal, and finished; with a child that crashes it kept the failed workers' logs beside that journal, inside the 0700 directory, and the run card ended failed. Messages a busy Planner session receives over Intercom are still refused, and one queued on an idle session still starts a turn the adapter stops, so nothing changes there. 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 with a local worker pool finished on worker processes, journaled where Chopin chose; a crashing child failed the run and kept its worker logs there Assistant-verification: a workflow maxDepth set in the agent directory's workflow config limited a Planner's workflow Assistant-verification: docker build of the server image; container started healthy with HARNESS=atomic and imports Atomic 0.9.44 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.44 release.
Versions.
catalog:harnesspins@bastani/atomic0.9.44. The lockfile resolves@bastani/atomic,@bastani/atomic-nativeswith its eight platform packages, and@bastani/pi-aiat 0.9.44, with no older@bastanipackage left. Atomic's@earendil-workspi packages stay at 1.4.0;undicimoves from 8.10.2 to 8.12.3 with it.What changed in Atomic, and what it means here.
@bastani/pi-ai:appendGrammarToolInputJsonDelta()no longer closes the input. Nothing in Chopin calls it, and thetoolcall_deltaevents the adapter forwards still carry only the new text, so the adapter needs no code change.defaultConcurrency, 3 before) and nests at most three levels (maxDepth, 4 before). A stage'ssubagenttool now runs up to 1000 children (parallel.*, 3 and 4 before). Without a pool, all of them run in the Chopin server process. I gave a Planner workflowmaxDepth: 1in the agent directory'sextensions/workflow/config.json, and it failed withmaxDepth exceeded, so Planner sessions do read that file. The self-hosting guide now lists the new defaults and names that file and the subagent one for throttling. Chopin sets none of these itself.send/askdefault to"steer": a message the Planner sends a busy stage now arrives after the stage's current tool calls finish, where 0.9.43 cancelled them."interrupt"keeps the old behavior. The hosted agent guide says so. A busy Planner session still refuses incoming messages, and a message queued while it is idle still starts a turn that the adapter stops. Neither path changed.Connector. Not changed; it does not depend on Atomic.
Verification
bun test: 6734 pass, 22 skip, 0 failbun run typesandbun run cipassHARNESS=atomicand loads Atomic 0.9.44 and pi-ai 0.9.44bun run e2e(harness, run card, smoke, decisions deck): 35 passed