Repository navigation
fix(llm): preserve scoped Gemini thought signatures across tool rounds - #231
Merged
Qiyuanqiii merged 19 commits intoOct 2, 2026
Conversation
…into codex/lane-c-214-required-project-rules-20261001
…223-kimi-reasoning-01a0f0c2 fix(llm): preserve Kimi K3 private assistant history
Qiyuanqiii
marked this pull request as ready for review
October 2, 2026 04:03
Qiyuanqiii
merged commit Oct 2, 2026
fa0b45d
into
codex/lane-b-213-anthropic-thinking-01a0f0c2
25 checks passed
7 tasks
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
When official Google AI Studio Gemini 3 returns thought signatures with tool calls, the Chat adapter previously discarded the private metadata needed for the next request. Preserve the recognized complete signatures at their original assistant-message and tool-call positions through parallel and sequential tools, retries, private persistence and SQLite reopen. Bind replay to the provider, route model, actual mapped wire model, endpoint/runtime, native response identity and accepted ordered tool batch. Public text, events, ordinary JSON and diagnostics exclude private signatures.
Scope is the official HTTPS
generativelanguage.googleapis.comendpoint, using/v1beta/openaior its full Chat endpoint, with no port or 443 and the constructor's existing whitespace/trailing-slash normalization. Actual mapped wire models must be in the Gemini 3 family. A provider display name, proxy/Vertex endpoint orgoogle/wire-model prefix does not establish this scope. Generic Chat assembly, termination, usage and valid upstream model acceptance remain unchanged.The scoped Registry freezes a three-call/two-synthetic-tool qualification plan within the existing 30-second deadline, 256 tokens per call and stream bounds. Both round instructions are present from the original request; continuations contain assistant replay and paired tool results. Old one-round qualification bindings cannot certify sequential signatures. Other providers retain their existing probe and binding.
This is stacked on Draft PR #228 and targets
codex/lane-b-213-anthropic-thinking-01a0f0c2at reviewedfa33f3be532b6878cf4a803d41c9abf4b0d8476f. The own increment is 12 files, 1790 additions and 51 deletions. A normal merge imported only #228's six reviewed test files; neither shared history nor the Anthropic implementation was rewritten.Fixes #219.
Supported boundary and limitations
extra_content.google.thought_signatureis retained, separately for the assistant message and each original tool position. Identical repeated complete values are idempotent; conflicting complete values fail closed. Signature-string fragments are not concatenated.Validation
Parent personally reviewed the complete own increment and merge/evidence proof at exact HEAD
4c8f8abf69759513ebf630dcadffa0b419d5fd68, treed577daa3c74bf18127eb5af18e36cea56c620a91. Supplemental Astra/xhigh review confirmed the metadata-first schema correction and reported no remaining blockers; that review does not replace parent review.go vet ./...— passed in CI 36940980860 against the reviewed tree.e82d91b0.Exact-source CI 36940980860 completed successfully: all 19 jobs passed, including full Go tests, authority-fencing race checks, vet, protocol/Surface checks, Windows/macOS Desktop, TypeScript, Rust, real Edge and LSP gates. GitHub tested merge commit
8b0ebcf4dbb8bd134889321f9b18d8397bc54a05(parentsfa33f3beand4c8f8abf); its tree is exactly the reviewed HEAD'sd577daa3c74bf18127eb5af18e36cea56c620a91.Desktop release 36940980859 completed with a failure: 3 jobs passed, Windows dual-product candidate failed, and attestation/publication were skipped. The failed step was Exercise packaged Standard Code bootstrap, diagnostic
sentinel_evidence_unreadable, phasesentinel_non_persistence. Its sanitized artifact confirms package provenance, reproducibility, start/close/reopen and repository immutability passed first; the 40-case attack matrix remains unexecuted. The underlying path/exception is redacted, so the root cause and any relationship to provider replay remain unestablished. Packaged-bootstrap script andinternal/producte2eare unchanged from the PR base. No rerun, waiver or merge was requested.Own-increment SHA-256:
8b1c1599999bd8238ad59bdd019e2ddbb582ad429f9db66d20772d871b3344bf.Surface governance
No Surface is added, promoted, downgraded, deprecated, or removed.
If the checkbox above is not applicable, every declaration below is complete and the surface registry plus its generated inventory are included.
Registry item(s): N/A — no Surface change.
Target tier / transition: N/A — no Surface change.
Entry criteria / decision: N/A — no Surface change.
Owner: N/A — no Surface change.
Shared Go Application contract: N/A — no Surface change.
Authority impact: N/A — no Surface change.
Supported platforms: N/A — no Surface change.
Release / test evidence: N/A — no Surface change.
Compatibility strategy: N/A — no Surface change.
Deprecation window: N/A — no Surface change.
Removal / rollback plan: N/A — no Surface change.
Audit
Draft only. Central CI passed; Desktop release and its full packaged security matrix remain blocked as described above. #228's separate Windows packaged
sentinel_evidence_unreadablefailure also remains unresolved. No gate is waived. OpenCodeReview remains held by the parent's latest instruction.