Skip to content

[WRONG BRANCH] release: 2.80.0 - #6706

Merged
lidge-jun merged 16 commits into
mainfrom
codex/promote-main-2.80.0
Oct 7, 2026
Merged

lidge-jun merged 16 commits into
mainfrom
codex/promote-main-2.80.0

Conversation

@lidge-jun

@lidge-jun lidge-jun commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

Summary

Promote the dev candidate c30b5228d0bc5302e4033f0533babe100dacd751 to main as stable 2.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 an ours merge of origin/main; git diff c30b5228d0 HEAD is empty, and git merge-tree --write-tree origin/main c30b5228d0 equals the candidate tree.

2.80.0 contents since v2.79.0 (14 first-parent landings):

Verification

  • Dispatched Cross-platform CI (lane=all) on dev 9099e4bf99: 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.
  • Windows end-to-end on the candidate through a Devin Windows session: exact SHA checkout, frozen installs, typecheck, 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.
  • Push-event Cross-platform CI and Service lifecycle on the merged main SHA, then release.yml dry-run, gate publication.

Checklist

Release authorization: the repository owner asked on 2026-10-07 to run another sweep and complete the deployment.

Summary by CodeRabbit

  • New Features
    • Linux desktop startup checks can now contribute to startup protection when ownership, login registration, and running-process evidence are verified.
    • Claude tool references are preserved as readable “Tool loaded” lines in translated results.
    • Claude models in Cursor receive tool guidance tailored to the available tools.
  • Bug Fixes
    • Improved handling of Qwen model IDs, Devin tool results, Codex recovery, and web-search timeouts during provider pacing.
    • Restart-drain requests now receive a clear retry response.
  • Documentation
    • Updated guides and references to reflect these behaviors and related compatibility details.

github-actions Bot and others added 16 commits October 6, 2026 21:51
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.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>
…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'.
@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner October 7, 2026 07:41
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-07T08:29:54.405367Z 5257b9f Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

✅ Deterministic PR hygiene checks passed.

@github-actions github-actions Bot added the bug Something isn't working label Oct 7, 2026
@github-actions github-actions Bot changed the title release: 2.80.0 [WRONG BRANCH] release: 2.80.0 Oct 7, 2026
@github-actions

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

⏳ DRAFT

  • wrong target branch (main); retarget to dev.

What to do

  • Retarget this PR to dev — all contributions go to dev.

Its title has been prefixed with [WRONG BRANCH].
This pull request was already a draft. Its draft status will be preserved after every issue above is resolved.

@github-actions
github-actions Bot marked this pull request as draft October 7, 2026 07:41
@coderabbitai

coderabbitai Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: lidge-jun/opencodex/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 39659375-736b-448f-ad5a-b585a51d997d
📥 Commits

Reviewing files that changed from the base of the PR and between beba8b7 and 5257b9f.

⛔ Files ignored due to path filters (1)
  • desktop/src-tauri/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (70)
  • desktop/src-tauri/Cargo.toml
  • desktop/src-tauri/tauri.conf.json
  • devlog/_plan/261006_lane_c_provider_compat/000_roadmap.md
  • docs-site/src/content/docs/guides/claude-code.md
  • docs-site/src/content/docs/guides/combos.md
  • docs-site/src/content/docs/guides/desktop-app.md
  • docs-site/src/content/docs/ko/guides/claude-code.md
  • docs-site/src/content/docs/reference/adapters.md
  • docs-site/src/content/docs/reference/architecture.md
  • docs-site/src/content/docs/reference/cli/lifecycle.md
  • docs-site/src/content/docs/reference/management-api.md
  • docs-site/src/content/docs/troubleshooting/windows-memory.md
  • package.json
  • scripts/test-layout/layout.json
  • src/adapters/cursor.ts
  • src/adapters/cursor/live-transport.ts
  • src/adapters/cursor/native-exec-fs.ts
  • src/adapters/cursor/native-exec.ts
  • src/adapters/cursor/protobuf-request.ts
  • src/adapters/cursor/request-builder.ts
  • src/adapters/cursor/tool-definitions.ts
  • src/adapters/cursor/tool-guidance.ts
  • src/adapters/cursor/tool-naming.ts
  • src/adapters/cursor/tool-wording.ts
  • src/adapters/devin.ts
  • src/adapters/openai-chat/messages.ts
  • src/claude/inbound.ts
  • src/codex/autostart-health.ts
  • src/codex/journal.ts
  • src/codex/shim-overlay.ts
  • src/combos/jev.ts
  • src/server/index.ts
  • src/server/messages-native-scope.ts
  • src/server/responses/combo-requested-effort.ts
  • src/server/responses/core-combo.ts
  • src/service/desktop-startup.ts
  • src/web-search/header-deadline.ts
  • src/web-search/loop.ts
  • structure/adapters/registry.md
  • structure/clients/claude-desktop.md
  • structure/codex-home.md
  • structure/data-planes/protocol-paths.md
  • structure/gui-and-management-api.md
  • structure/ops/service-and-sidecars.md
  • structure/providers-and-adapters.md
  • structure/providers/chat-compat.md
  • structure/providers/cursor.md
  • structure/providers/jev-decision.md
  • structure/runtime.md
  • structure/transports/responses.md
  • tests/adapters/openai/openai-chat-qwen38-leading-system.test.ts
  • tests/claude-integration/claude-inbound-tool-reference.test.ts
  • tests/claude-integration/messages-native-scope.test.ts
  • tests/cli/cli-help.test.ts
  • tests/codex-integration/codex-journal-recovery.test.ts
  • tests/codex-integration/codex-shim-migration.test.ts
  • tests/codex-integration/issue-452-empty-503.test.ts
  • tests/fixtures/cursor-tool-wording.json
  • tests/fixtures/test-layout-expected.json
  • tests/helpers/responses-core-source.ts
  • tests/providers/cursor/cursor-blob-claude-client-tools.test.ts
  • tests/providers/cursor/cursor-tool-definitions.test.ts
  • tests/providers/cursor/cursor-tool-wording.test.ts
  • tests/providers/devin-chat-wire-fixes.test.ts
  • tests/responses/chat-native-combo.test.ts
  • tests/routing/jev-decision.test.ts
  • tests/server/combo-requested-effort.test.ts
  • tests/server/server-jev-combo-e2e.test.ts
  • tests/service/service-desktop-startup-linux.test.ts
  • tests/web-search/web-search-pacing-deadline.test.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

This 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.

Changes

Cursor Claude tool handling

Layer / File(s) Summary
Catalog-based names and tool budgets
src/adapters/cursor/tool-naming.ts, src/adapters/cursor/tool-definitions.ts, src/adapters/cursor/request-builder.ts, src/adapters/cursor/protobuf-request.ts, tests/providers/cursor/*
Wire names, tool-choice filtering, and encoded-size calculations use the relevant tool catalog. Tests cover bridge-dependent aliases, replay, choices, and byte-budget boundaries.
Model-aware guidance and native execution
src/adapters/cursor.ts, src/adapters/cursor/live-transport.ts, src/adapters/cursor/tool-guidance.ts, src/adapters/cursor/tool-wording.ts, src/adapters/cursor/native-exec*.ts, tests/fixtures/cursor-tool-wording.json, tests/providers/cursor/cursor-tool-wording.test.ts, docs-site/src/content/docs/guides/claude-code.md, docs-site/src/content/docs/reference/adapters.md, structure/providers/cursor.md
Claude-family targets use factual, catalog-aware guidance and redirects. Other targets retain the prior wording. The live transport supplies the model and catalog to serialization and native-execution handling. Tests and documentation cover both behaviors.

Linux desktop startup diagnostics

Layer / File(s) Summary
Linux startup evidence and health
src/service/desktop-startup.ts, src/codex/autostart-health.ts, tests/service/service-desktop-startup-linux.test.ts, scripts/test-layout/layout.json, tests/fixtures/test-layout-expected.json, docs-site/src/content/docs/guides/desktop-app.md, structure/gui-and-management-api.md, structure/ops/service-and-sidecars.md, structure/runtime.md
Linux diagnosis checks the HOME autostart entry, install identity, executable paths, and app-to-proxy process relationship. It credits startup only when two complete evidence reads agree. Tests and documentation cover eligible and rejected evidence.

Web-search pacing-aware deadlines

Layer / File(s) Summary
Deadline handling around paced sends
src/web-search/header-deadline.ts, src/web-search/loop.ts, tests/web-search/web-search-pacing-deadline.test.ts, scripts/test-layout/layout.json, tests/fixtures/test-layout-expected.json, structure/runtime.md
Response-header deadlines pause during local pacing admission and resume for network activity. The search loop uses the pacing-aware deadline for requests and starts a fresh deadline after the deliberate 429 backoff. Tests cover retries, cancellation, streaming, and deadline cleanup.

JEV sampling and combo effort

Layer / File(s) Summary
Protected-envelope and reminder sampling
src/combos/jev.ts, tests/routing/jev-decision.test.ts, docs-site/src/content/docs/guides/combos.md, structure/providers/jev-decision.md
JEV excludes recognized Codex envelopes and Claude Code system reminders from sampled text before clipping. A Codex goal nested inside a reminder is not used as a fallback task.
Combo request and effort reporting
src/server/responses/combo-requested-effort.ts, src/server/responses/core-combo.ts, tests/server/combo-requested-effort.test.ts, tests/server/server-jev-combo-e2e.test.ts, tests/responses/chat-native-combo.test.ts, tests/helpers/responses-core-source.ts, docs-site/src/content/docs/guides/combos.md, structure/providers/jev-decision.md, structure/transports/responses.md
Effort labels include a differing JEV-forced effort and later child transitions. Native Chat children retain caller effort and their own transitions. Tests cover native, bridge, and fallback cases.

Restart-drain response

Layer / File(s) Summary
Drain response and listener CORS
src/server/index.ts, tests/codex-integration/issue-452-empty-503.test.ts, docs-site/src/content/docs/reference/architecture.md, docs-site/src/content/docs/reference/management-api.md, docs-site/src/content/docs/troubleshooting/windows-memory.md, structure/ops/service-and-sidecars.md, structure/runtime.md
During drain, new requests receive JSON 503 responses with server_restarting, a retry message, and Retry-After: 5. CORS follows the receiving listener’s policy. Tests cover public and loopback listeners.

Codex state recovery and shim migration

Layer / File(s) Summary
Journal restoration outcomes
src/codex/journal.ts, tests/codex-integration/codex-journal-recovery.test.ts, scripts/test-layout/layout.json, tests/fixtures/test-layout-expected.json, structure/codex-home.md, structure/runtime.md
Restore results record config and profile rewrites. Reconciliation requires complete restoration and reports recovery only when an artifact was rewritten. Tests cover retained journals and incomplete restores.
Shim migration trust checks
src/codex/shim-overlay.ts, tests/codex-integration/codex-shim-migration.test.ts, docs-site/src/content/docs/reference/cli/lifecycle.md, structure/runtime.md
Shim diagnostics identify non-regular files, wrong ownership, and group/world-writable files. Writable-file errors include a chmod 600 command. Tests cover refusal and the command’s handling of quoted paths.

Devin tool-result mapping

Layer / File(s) Summary
Tool-result accumulation and send history
src/adapters/devin.ts, tests/providers/devin-chat-wire-fixes.test.ts, structure/adapters/registry.md, structure/providers-and-adapters.md
The mapper buffers consecutive same-call-ID tool-result text and flushes it at message or structured-content boundaries. Signed sends reuse the initially mapped history. Tests cover ordering, error state, independent arrays, and traversal bounds.

Claude tool-reference translation

Layer / File(s) Summary
Translated tool-reference output
src/claude/inbound.ts, tests/claude-integration/claude-inbound-tool-reference.test.ts, scripts/test-layout/layout.json, tests/fixtures/test-layout-expected.json, docs-site/src/content/docs/guides/claude-code.md, docs-site/src/content/docs/ko/guides/claude-code.md, structure/clients/claude-desktop.md
Valid tool_reference blocks become ordered Tool loaded: <tool_name> text in paired tool results. Tests cover formatting, malformed names, mixed content, and request immutability.

Native Messages tool-scope accumulation

Layer / File(s) Summary
Temporary declaration checks
src/server/messages-native-scope.ts, tests/claude-integration/messages-native-scope.test.ts, structure/data-planes/protocol-paths.md
Temporary tool declarations append to checker-owned arrays instead of copying the accumulated list. Tests cover large addition sequences, denied shadows, and permanent replacement.

Qwen model compatibility

Layer / File(s) Summary
Gateway-prefixed Qwen matching
src/adapters/openai-chat/messages.ts, tests/adapters/openai/openai-chat-qwen38-leading-system.test.ts, docs-site/src/content/docs/reference/adapters.md, structure/providers/chat-compat.md
Qwen3.8-27B matching accepts leading path segments when the final segment matches a supported model name. Tests cover gateway-prefixed IDs.

Version updates

Layer / File(s) Summary
Package and desktop version
package.json, desktop/src-tauri/Cargo.toml, desktop/src-tauri/tauri.conf.json
Package metadata and Tauri configuration change the version from 2.79.0 to 2.80.0.

Lane C roadmap

Layer / File(s) Summary
Work packages and verification limits
devlog/_plan/261006_lane_c_provider_compat/000_roadmap.md
The roadmap lists work packages, validation requirements, write boundaries, branch synchronization rules, and merge limits.

Priority: ➖ Normal

Estimated code review effort: 4 (Complex) | ~60 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to 5257b

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)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning 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… Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title identifies the 2.80.0 release, which matches the pull request’s stable-release promotion. The “[WRONG BRANCH]” prefix adds noise but does not make the title unrelated or vague.
Full details: Docstring Coverage

Explanation

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.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@lidge-jun
lidge-jun marked this pull request as ready for review October 7, 2026 08:28
@lidge-jun

Copy link
Copy Markdown
Owner Author

Release promotion of 2.80.0 into main, merged by the maintainer under the repository owner's explicit release authorization (2026-10-07). This is an owner-authorized promotion, not a self-approval or an independent review.

  • Exact head: 5257b9f0296a4e090c898cf66c4a467fde88e6fb = candidate c30b5228d0 + ours merge of origin/main; git diff c30b5228d0 HEAD is empty.
  • PR checks on that head: every check succeeded except enforce-target, which allows only dev as a base and fails by design on a main promotion (same as [WRONG BRANCH] release: 2.79.0 #6677). Windows 8/9 failed once on an EPERM while removing a temp directory in tests/server/server-management-auth.test.ts teardown and passed on the single rerun of the failed job.
  • Windows end-to-end (Devin Windows session on c30b5228d0): install, typecheck, ocx start/status/doctor/stop, port release and incremental SSE streaming with [DONE] passed. Its remaining test-file failures were reviewed: the catalog-serialization file and its product code are unchanged since v2.79.0 and pass in hosted Windows CI, the shim failures need pwsh on the VM, and the LocalAppData lock path is by design.
  • dev pre-move to 2.81.0 landed as chore(release): open dev at 2.81.0 before releasing 2.80.0 #6705 before this merge.
  • Next gates: push-event Cross-platform CI and Service lifecycle on the resulting main SHA, then release.yml dry-run and publish.

@lidge-jun
lidge-jun merged commit f8806d6 into main Oct 7, 2026
88 of 92 checks passed
@lidge-jun
lidge-jun deleted the codex/promote-main-2.80.0 branch October 7, 2026 08:28
@lidge-jun lidge-jun mentioned this pull request Oct 8, 2026
3 tasks done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants