Skip to content

V0.100.6#563

Open
dwash96 wants to merge 49 commits into
mainfrom
v0.100.6
Open

V0.100.6#563
dwash96 wants to merge 49 commits into
mainfrom
v0.100.6

Conversation

@dwash96

@dwash96 dwash96 commented Jun 7, 2026

Copy link
Copy Markdown
Collaborator

Addresses:

Includes:

Your Name and others added 30 commits June 6, 2026 13:22
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)
_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
JessicaMulein and others added 19 commits June 11, 2026 15:34
…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.
…e-init

fix(coders): initialize reflected_message in __init__ to prevent AttributeError
fix(commands): transfer abs_fnames back after /agent temp-coder turn
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants