Repository navigation
Conversation
SessionCoder now keeps a single session open through the Agent SDK's ClaudeSDKClient and feeds it each prompt in sequence, instead of spawning a session per prompt. It remembers the night — what it shipped and what people asked — so "like #3 but slower" works; a generation it shipped itself is referred to by number rather than re-sent, and every generation is on disk for it to Read. The session lives on its own event-loop thread; the worker blocks on each prompt. A prompt past its wall-clock cutoff or a broken session is dropped and the next prompt lazily starts a fresh one; an idle session (20 min) is closed; the model switches in place per submitter; the server's shutdown closes it. The ship tool is bound once and dispatches to the prompt in progress. The thread now shows how long each generation took (entry "seconds"). Live: the second prompt in a session took 17 s against 30 s for the first, building on it without re-reading anything. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N97HVk3sAr5jRGYodXcDoC
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.
What
SessionCodernow keeps one Claude Code session open (the Agent SDK'sClaudeSDKClient) and feeds it the crew's prompts one after another, instead of spawning a session per prompt.# you shipped this one earlier … var/vibe/vibe-0003.py) rather than re-sent; a repo pattern's source still travels. The system-prompt addendum tells it every generation is on disk toReadwhen the crew names a number it doesn't remember (e.g. after a restart).set_model) when a submitter picks a different one.VibeCore.stop()closes the session, so a server shutdown takes the CLI process with it (verified: clean exit, no orphan).secondson each entry,· 17 sbeside the model).Verified
ClaudeSDKClient-shaped session via the injectablesession_factory— one session across prompts (model switch, self-shipped pointer vs. repo source), broken session dropped and restarted with stderr in the error, runaway prompt cut off, idle close and lazy reopen, spoken-code fallback / error result / repair follow-up, end-to-end on the stage withcore.stop()closing the session. Full suite green; black + mypy on CI's lists (with and without the SDK installed locally).serve --stage-key kwith the real CLI — two prompts in a row served by the sameclaudeprocess (same PID), both validated and cut onto the stage, then a clean shutdown.Docs
README "Vibe mode" backend paragraph,
docs/deploy.mdbackend bullet,plan/spec/implementation-notes.mdrow.🤖 Generated with Claude Code
https://claude.ai/code/session_01N97HVk3sAr5jRGYodXcDoC
Generated by Claude Code