Repository navigation
[WRONG BRANCH] release: 2.80.0 - #6706
Conversation
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: JUN <jun@lidgeai.com>
Treat Claude Code system-reminder blocks as protected envelopes when building JEV decision state. Long injected guidance no longer displaces the real request in the task sample. Adds regression tests and updates the guide and structure contract. Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: JUN <jun@lidgeai.com>
* fix(claude): retain ToolSearch references in translated results Preserve client-reported loaded names in paired tool output instead of silently discarding reference-only ToolSearch results. This does not add tool declarations or enable server-side deferral on translated routes. Reported and minimal text projection suggested in #6647 by rhomat27. Co-authored-by: rhomat27 <8294456+rhomat27@users.noreply.github.com> * fix(claude): keep loaded tool names line-separated after parser joins Text-only tool output is joined without separators downstream, so adjacent Tool loaded markers fused ("Tool loaded: ReadTool loaded: Write"). Give each marker its own line breaks and assert the parsed toolResult content. Pack the new layout entry onto the existing claude-inbound line: dev's layout.json sits at 1999 lines and a 2000th trips the file-size ratchet. --------- Co-authored-by: Ingwannu <ingwannu@users.noreply.github.com> Co-authored-by: rhomat27 <8294456+rhomat27@users.noreply.github.com> Co-authored-by: JUN <jun@lidgeai.com>
…#6657) Co-authored-by: JUN <jun@lidgeai.com>
…spaced ids (#6685) * docs(devlog): plan the provider compat lane * fix(openai-chat): apply the Qwen3.8-27B template rule to gateway-namespaced ids LiteLLM serves the model as openai/Qwen3.8-27B, which the leading-system matcher did not accept, so the developer reminder went out as developer and the pinned template answered 400. Accept any leading path segments while the last segment still has to name the checkpoint. Closes #6674
…#6640) * fix(cursor): preserve bare client tool names for Claude Code sessions When Claude Code connects via /v1/messages using a Cursor-backed model, bare tools (Bash, Read, Write, Edit, Grep, Glob, Task, etc.) were previously aliased with the ocx_client_ prefix. This caused catalog/prompt contradiction with Claude Code's system prompt, triggering fallback to Cursor-native execution frames. OpenCodex's redirect hint (Re-issue this operation NOW through one of the tools: ocx_client_*...) was then flagged by frontier Claude models as prompt-injection, causing refusal loops and halting execution. - Conditionally exempt Claude bare tool names from ocx_client_ aliasing when no Codex shell bridge (exec_command/shell_command) is present in the turn. - Pass the turn's catalog to cursorToolWireName across tool definitions, guidance notes, native exec hints, and request building. - Suppress neighboring-agent tool name warnings in tool guidance when running without a Codex shell bridge. - Add unit tests verifying Claude Code tool preservation and Codex shell bridge aliasing. * fix(cursor): address CodeRabbit review feedback on tool naming and replay - Pass request visible catalog through conversationTurns to toolCallStep so replayed calls use consistent wire names. - Remove overly broad regex from isClaudeClientBareToolName, strictly matching known Claude tools. - Restrict unavailable neighboring-agent warning suppression in tool guidance to catalogs containing Claude bare tools. - Add regression tests for catalog-aware replay, MCP-only neighboring-agent warnings, and response name mapping. * fix(cursor): import OcxTool for catalog-aware replay signatures * test(cursor): move Claude client replay coverage under size cap * fix(cursor): budget Claude client aliases with catalog context * fix(cursor): resolve client tool choices before catalog filtering --------- Co-authored-by: JUN <jun@lidgeai.com>
…fact is group-writable (#6680) * fix(codex-shim): name the path and chmod fix when a private shim artifact is group-writable * test(codex): cover quoted legacy shim chmod recovery --------- Co-authored-by: JUN <jun@lidgeai.com>
…on in doctor (#6679) * fix(service): credit Linux desktop Start at Login as restart protection in doctor * fix(service): validate Linux desktop startup evidence conservatively * fix(service): leave a relocated XDG_CONFIG_HOME uncredited for Linux desktop startup auto-launch 0.5.0 writes the login entry under ~/.config/autostart. When XDG_CONFIG_HOME points elsewhere the session searches another autostart directory, so that entry proves registration but not login startup. * test(service): run the Linux desktop startup fixtures only off Windows The fixtures build POSIX paths with execute bits and symlinks, and the diagnostic itself only runs on Linux, so the Windows shard cannot exercise it. * fix(service): compare XDG_CONFIG_HOME to ~/.config after path resolution --------- Co-authored-by: JUN <jun@lidgeai.com>
…recovery (#6686) * fix(codex): stay quiet on no-op journal recovery and warn on incomplete recovery Co-authored-by: agentHits <140916359+agentHits@users.noreply.github.com> * fix(server): answer a restart drain with a retryable server_restarting code Closes #6642. * docs(server): qualify the Codex retry behavior behind server_restarting * fix(codex): warn when a no-op journal recovery cannot remove the journal --------- Co-authored-by: agentHits <140916359+agentHits@users.noreply.github.com>
…r new advisories (#6687) release.yml's dependency audit refused 2.79.0 on a critical advisory published after the candidate was cut: proxy-addr <2.0.8 is vulnerable to IP spoofing via IPv4-mapped IPv6 trust subnets (GHSA-jqcg-44mw-7w3h), reached through @modelcontextprotocol/sdk > express. gui/ reports source-map-js <1.2.2 (GHSA-68fv-2mgg-jv7q, vite > postcss). bun audit fix, lockfiles only, every bump inside its declared range: proxy-addr 2.0.7 -> 2.0.8, fast-uri 3.1.7 -> 3.1.8, ip-address 10.4.0 -> 10.7.1, and in gui/ source-map-js 1.2.1 -> 1.2.2. Both audits now report no vulnerabilities at --audit-level=high.
* fix(jev): preserve applied effort transitions in combo logs Preserve the caller-to-JEV effort transition in request and attempt requestedEffort labels for the Responses child. Native Chat children keep the caller effort label since they do not apply the JEV override. Telemetry-only change; outbound effort, routing and retry policy are unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * test(layout): keep the combo-requested-effort registration under the layout file-size threshold --------- Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: JUN <jun@lidgeai.com>
* fix(cursor): use factual tool redirects for Claude-family models Explicit Claude-family Cursor targets now receive factual tool guidance and native-tool refusals, without instructions to conceal the redirect. The routing-commentary sniffer is no longer armed for them. Empty catalogs report no available tools; other model families keep their legacy wording. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * test(layout): keep the cursor-tool-wording registration under the layout file-size threshold * fix(cursor): name redirect tools with the request catalog --------- Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: JUN <jun@lidgeai.com>
…s MAX_PATH (#6694) The ocx-recover-compaction-state- mkdtemp prefix pushed the private-backup path past 260 chars on machines with a deep TMPDIR; openSync handles long paths but the icacls spawn does not, failing with EICACLS 'path not found'.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
✅ Deterministic PR hygiene checks passed. |
⏳ DRAFT
What to do
Its title has been prefixed with |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
⛔ Files ignored due to path filters (1)
📒 Files selected for processing (70)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThis pull request updates Cursor tool handling, Linux desktop startup checks, web-search deadlines, JEV combo effort reporting, and several adapter and runtime behaviors. It also updates supporting tests and documentation, plus package and desktop versions. ChangesCursor Claude tool handling
Linux desktop startup diagnostics
Web-search pacing-aware deadlines
JEV sampling and combo effort
Restart-drain response
Codex state recovery and shim migration
Devin tool-result mapping
Claude tool-reference translation
Native Messages tool-scope accumulation
Qwen model compatibility
Version updates
Lane C roadmap
Priority: ➖ Normal Estimated code review effort: 4 (Complex) | ~60 minutes Change: Other Merge Risk: ⚪ Minimal · up to No actionable issue remains from this review. The change is mergeable subject to the planned release checks. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 32.43% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 74 functions across 42 files. (28 skipped: 28 unsupported.)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Release promotion of 2.80.0 into
|
Summary
Promote the
devcandidatec30b5228d0bc5302e4033f0533babe100dacd751tomainas stable2.80.0. The candidate already carries 2.80.0 in all four version sources (package.json,desktop/src-tauri/Cargo.toml,Cargo.lock,tauri.conf.json), so the branch is the candidate plus anoursmerge oforigin/main;git diff c30b5228d0 HEADis empty, andgit merge-tree --write-tree origin/main c30b5228d0equals the candidate tree.2.80.0 contents since v2.79.0 (14 first-parent landings):
tool_referenceresults survive translation so routed models stop re-calling it (fix(claude): retain ToolSearch references in translated results #6660); temporary tool declarations accumulate linearly (fix(messages): accumulate temporary tool declarations linearly #6656).openai/Qwen3.8-27B(fix(openai-chat): apply the Qwen3.8-27B template rule to gateway-namespaced ids #6685); consecutive Devin tool results accumulate without prefix copies (fix(devin): accumulate consecutive tool results without prefix copies #6657); local pacing waits no longer count against the web-search header deadline (fix(web-search): keep local pacing waits out of the header deadline #6700, refs [Bug]: Anthropic web-search bridge holds a turn for the full 200s response-header deadline on a healthy account and reports only a generic timeout #6699).server_restartingcode and Retry-After, and journal no-op recovery is quiet (fix(lifecycle): retryable restart-drain code and quiet journal no-op recovery #6686, carries the journal part of fix: update restart with stale service record; silent journal no-op recovery #6649); Linux desktop Start at Login is credited as restart protection inocx doctor(fix(service): credit Linux desktop Start at Login as restart protection in doctor #6679); group-writable private shim artifacts get a named path and chmod fix (fix(codex-shim): name the path and chmod fix when a private shim artifact is group-writable #6680); recover-history test paths stay under Windows MAX_PATH (test(cli): keep recover-history temp paths under Windows MAX_PATH #6694).Verification
lane=all) on dev9099e4bf99: run 37485211950 success (31 success, 3 condition-skipped). test(cli): keep recover-history temp paths under Windows MAX_PATH #6694 and fix(web-search): keep local pacing waits out of the header deadline #6700 landed afterwards with green exact-head PR CI.ocx start/status/doctor/stop, port release and incremental SSE streaming with[DONE]through a private-network provider all passed. The per-directory Windows test reruns are being reconciled before the publish dispatch.mainSHA, thenrelease.ymldry-run, gate publication.Checklist
maindeliberately: this is a maintainer release promotion (target-branch exception;enforce-targetallows onlydevand is expected to fail here, as on [WRONG BRANCH] release: 2.79.0 #6677).gui/change in this promotion's own diff (the candidate tree is already on dev).Release authorization: the repository owner asked on 2026-10-07 to run another sweep and complete the deployment.
Summary by CodeRabbit