Conversation
Co-authored-by: cecli (openai/gemini_cli_local/gemini-2.5-pro)
- Remove closure safe gaurd because it is unreliable - change bit mixing scheme to not interleave so un-affected lines has more consistent output hashes - Standardize on "content ID" nomenclature instead of "content hash"
Co-authored-by: cecli (openai/gemini_cli_local/gemini-2.5-pro)
Co-authored-by: cecli (openai/gemini_cli_local/gemini-2.5-pro)
…s run on event loop of workers and not the main one
…o-retries feat: add retry logic for empty LLM responses (CLI-49)
… search is a boundary of a block
_generic_chat_command creates a temporary coder for /agent (and other
slash commands with args). Files added by ContextManager during the
turn were on the temp coder and got discarded when SwitchCoderSignal
switched back to the original.
Now transfer abs_fnames and abs_read_only_fnames from the temp coder
back to the original before raising SwitchCoderSignal. This ensures
files added during /agent turns persist in the session and are visible
to subsequent GET /sessions/{id} (files_in_chat).
py-cymbal's Cymbal CLI interprets hyphens in search queries as SQL FTS5 NOT operators, causing 'no such column' crashes when the model passes hyphenated terms like 'vault-store' or 'home-entry'. Sanitize all symbol queries by replacing hyphens with underscores before passing to Cymbal. This is semantically correct (code symbols use underscores, not hyphens) and prevents the crash regardless of which py-cymbal version is installed. The root cause is in py-cymbal's Go binary (unquoted FTS5 input) — a fix has been reported to the Cymbal team (dwash). This cecli-side workaround provides immediate defense.
…safety fix(tools): sanitize ExploreCode queries for Cymbal FTS5 safety
…ibuteError
The reflected_message attribute was only initialized in init_before_message(),
which is called from the normal run() loop. Code paths that bypass run() — such
as run_one_shot() used by spec generation, or run_message() used by headless
agent sessions — could trigger check_for_file_mentions() before
init_before_message() was ever called, raising:
AttributeError: 'EditBlockCoder' object has no attribute 'reflected_message'
This occurred in production when a local model (qwen3.6:35b) emitted a
[ContextManager] file reference during a spec-gen explore turn, causing
check_for_file_mentions to access self.reflected_message on line 2541.
Fix: set self.reflected_message = None in Coder.__init__() so the attribute
always exists regardless of entry point.
… the command line
…e-init fix(coders): initialize reflected_message in __init__ to prevent AttributeError
fix(commands): transfer abs_fnames back after /agent temp-coder turn
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.
Addresses:
Includes:
ReadRangeparamsGreptool to default to case insensitive regex searches