deps: bump geny-executor 2.0.3 → 2.0.4 (Claude Code multi-turn stdin)#816
Merged
Conversation
…din) 2.0.4 fixes ``build_stream_json_stdin`` to flatten Anthropic-style multi-turn message history into a single synthetic ``type:user`` envelope. Without this, every second turn of a Claude Code (CLI) Stage-6 session failed with:: Error: CLI '/usr/bin/claude' exited with code 1: Error: Expected message role 'user', got 'assistant' — the CLI's stream-json input grammar rejects envelopes carrying an embedded assistant / tool role. The executor now owns the translation so hosts can keep sending the canonical Anthropic-style multi-turn list shape regardless of which provider is wired up to Stage 6. See CocoRoF/geny-executor#206 for the full root-cause + design. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.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.
Summary
Pulls in geny-executor 2.0.4 which fixes the multi-turn stdin bug — every second turn of a Claude Code (CLI) Stage-6 session was failing with
Error: Expected message role 'user', got 'assistant'.The executor's
build_stream_json_stdinnow flattens canonical Anthropic-style multi-turn message history into a single synthetictype:userenvelope. The CLI's stream-json input grammar strictly rejects envelopes carrying an embeddedassistant/toolrole; the executor owns the translation so hosts can keep sending the canonical multi-turn list shape regardless of which provider is wired to Stage 6.Executor PR: CocoRoF/geny-executor#206
PyPI: https://pypi.org/project/geny-executor/2.0.4/
Test plan
tests/llm_client/pass, 3 new regression guards for multi-turn flatteningclaude_code_cliprovider → tool-call → tool-result iteration completes without "Expected message role 'user'" error🤖 Generated with Claude Code