Skip to content

feat: add Claude subagent force and Remote Link setup recovery - #6489

Merged
lidge-jun merged 15 commits into
devfrom
codex/recover-train-261003-features
Oct 3, 2026
Merged

lidge-jun merged 15 commits into
devfrom
codex/recover-train-261003-features

Conversation

@lidge-jun

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

Copy link
Copy Markdown
Owner

Summary

Add opt-in Claude Code subagent model forcing and improve Remote Link child setup/recovery. This is the separate feature follow-up to merged #6487 and now targets dev. No native GitHub stack is registered.

  • Expose model forcing through Subagents, CLI and management API, default off. Validate current exposure and disabled models; preserve explicit wire selection across saved-setting changes, native passthrough, caller credentials and model-map gates. Fresh model discovery is independent of cache-write success.
  • Keep legacy roster fallback and document the ambiguity of bare native external overrides. Main-model selection and sidecar behavior are unchanged.
  • Distinguish failed SSH discovery from an empty list, add setup guidance/retry, preserve manual aliases and fingerprint confirmation, and require a new confirmation after rescan.
  • Translate the new controls across existing locale catalogs and guard stale force-load completions, including StrictMode effect replay.

Closes #6313
Closes #6223

Verification

  • Final combined root and GUI typechecks passed after incorporating the parent's review repairs.
  • Review follow-ups: first-run force settings now use canonical create-only initialization; existing/corrupt/racing files remain protected. Unadvertised [1m] suffixes require authoritative capacity, preserving exact upstream marked IDs. 103 focused tests and 34 final compatibility tests passed; independent security review PASS. Both Codex threads are resolved on the fixed head.
  • Registry follow-up: both subagent routes now declare the extracted owner, and the parent uses the existing lazy-delegation convention. Scanner behavior is unchanged; 96 focused registry/API/convergence/capability/skill tests passed.
  • Hosted-CI follow-up: the convergence inventory now counts the extracted subagent route module without dropping any path; 25 focused convergence/API tests passed after reproducing the stale inventory failure.
  • 78 union checks passed for test layout, core/Lab boundary, CLI capabilities and generated operating documentation.
  • Focused lane coverage passed: 174 routing tests, 136 launcher/endpoint tests, 53 contract checks, isolated Subagents/RemoteLink/locale batches. Final cancellation tests: 41 passed across force/busy/fallback suites, with delayed-body success/failure cases proven sensitive to removing cancellation.
  • Pinned React Doctor 0.9.11 scans the feature diff cleanly. Structure, size-ratchet, privacy and i18n checks passed. No suppression or gate weakening.
  • Independent runtime/security and visual reviews returned PASS. Eleven fixture screenshots were inspected at desktop, split/tablet and narrow mobile widths. Saves, rollback, failed/empty discovery, retry, Tab/Escape, manual entry, fingerprint confirmation and rescan invalidation were driven against an isolated fixture API.
  • The user prohibited full local suites/heavy builds. One accidental broad GUI invocation was immediately stopped and excluded from evidence; the explicit focused replacement passed. No completed full suite, production/native build, dependency-tree installation, real Claude/provider call or live SSH setup is claimed. Required PR CI is pending; full cross-platform lane=all remains reserved for final dev after both PRs land.
  • Real installed Claude alias behavior, authenticated full-app shell and native/live SSH acceptance remain explicit limits. [Provider compatibility] Codex Web GPT replay fails after routed Responses request loses current-turn IDs and metadata #6220 and Windows Desktop Start at Login writes an unquoted executable path to HKCU Run #6473 stay open.

GUI evidence

Production page components and CSS using synthetic fixture data; no live settings or hosts were modified.

Subagents force selection

Remote Link discovery failure and recovery

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

Maintainer integration decision

Owner lidge-jun elects maintainer integration into dev at adf18d8b95d7a678d40b60eb237b6ee90eff8df6. Exact-head pull_request CI 37105903391, attempt 1, completed successfully with all requested jobs passing. React Doctor and current hygiene/target checks passed. Both actionable review threads are fixed and resolved; fresh inspection found no unresolved threads or maintainer objections. Independent code/security and visual reviews are recorded above. Platform-scoped skipped jobs are not execution evidence; the final full dev dispatch remains after the remaining recovery PR. This is maintainer integration, not self-approval.

Expose a default-off setting across routed launch env, management API, CLI and
the Subagents dashboard. Preserve exported values and native launch behavior.
Include version/settings status, partial writes, tests and localized docs.

Carried from 8e2152fa30913955b6640b61b14f6bc522eb3301 with its message corrected.

Closes #6313
Distinguish failed SSH host discovery from an empty result and add setup guidance, rescan, and retry actions.
Keep action errors inside the active sheet while preserving manual aliases and explicit fingerprint confirmation.
Cover request states and keyboard focus, and synchronize all locale catalogs and Remote Link guides.

Closes #6223

(cherry picked from commit 3fec4a4e312cefe7fe5e11f313e1b6bdefc66148)
@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner October 3, 2026 06:38
@coderabbitai

coderabbitai Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Repository: lidge-jun/opencodex/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: a07c9f71-3abf-4cfe-9f17-bc38cf1a897c
📥 Commits

Reviewing files that changed from the base of the PR and between 3ada270 and adf18d8.

📒 Files selected for processing (93)
  • devlog/_plan/261003_lane_e_recovery/000_plan.md
  • devlog/_plan/261003_lane_e_recovery/010_recovery.md
  • devlog/_plan/261003_lane_e_recovery/090_summary.md
  • docs-site/src/content/docs/fr/guides/claude-code.md
  • docs-site/src/content/docs/fr/guides/remote-link.md
  • docs-site/src/content/docs/fr/reference/cli/agents.md
  • docs-site/src/content/docs/fr/reference/configuration/server.md
  • docs-site/src/content/docs/fr/reference/management-api.md
  • docs-site/src/content/docs/guides/claude-code.md
  • docs-site/src/content/docs/guides/remote-link.md
  • docs-site/src/content/docs/ja/guides/claude-code.md
  • docs-site/src/content/docs/ja/guides/remote-link.md
  • docs-site/src/content/docs/ja/reference/cli/agents.md
  • docs-site/src/content/docs/ja/reference/configuration/server.md
  • docs-site/src/content/docs/ja/reference/management-api.md
  • docs-site/src/content/docs/ko/guides/claude-code.md
  • docs-site/src/content/docs/ko/guides/remote-link.md
  • docs-site/src/content/docs/ko/reference/cli/agents.md
  • docs-site/src/content/docs/ko/reference/configuration/server.md
  • docs-site/src/content/docs/ko/reference/management-api.md
  • docs-site/src/content/docs/reference/cli/agents.md
  • docs-site/src/content/docs/reference/configuration/server.md
  • docs-site/src/content/docs/reference/management-api.md
  • docs-site/src/content/docs/ru/guides/claude-code.md
  • docs-site/src/content/docs/ru/guides/remote-link.md
  • docs-site/src/content/docs/ru/reference/cli/agents.md
  • docs-site/src/content/docs/ru/reference/configuration/server.md
  • docs-site/src/content/docs/ru/reference/management-api.md
  • docs-site/src/content/docs/tr/guides/claude-code.md
  • docs-site/src/content/docs/tr/guides/remote-link.md
  • docs-site/src/content/docs/tr/reference/cli/agents.md
  • docs-site/src/content/docs/tr/reference/configuration/server.md
  • docs-site/src/content/docs/tr/reference/management-api.md
  • docs-site/src/content/docs/zh-cn/guides/claude-code.md
  • docs-site/src/content/docs/zh-cn/guides/remote-link.md
  • docs-site/src/content/docs/zh-cn/reference/cli/agents.md
  • docs-site/src/content/docs/zh-cn/reference/configuration/server.md
  • docs-site/src/content/docs/zh-cn/reference/management-api.md
  • docs-site/src/content/docs/zh-tw/guides/claude-code.md
  • docs-site/src/content/docs/zh-tw/guides/remote-link.md
  • docs-site/src/content/docs/zh-tw/reference/cli/agents.md
  • docs-site/src/content/docs/zh-tw/reference/configuration/server.md
  • docs-site/src/content/docs/zh-tw/reference/management-api.md
  • gui/src/components/subagents-workspace/SubagentForceControl.tsx
  • gui/src/i18n/de.ts
  • gui/src/i18n/en.ts
  • gui/src/i18n/fr.ts
  • gui/src/i18n/ja.ts
  • gui/src/i18n/ko.ts
  • gui/src/i18n/pt.ts
  • gui/src/i18n/ru.ts
  • gui/src/i18n/tr.ts
  • gui/src/i18n/vi.ts
  • gui/src/i18n/zh-TW.ts
  • gui/src/i18n/zh.ts
  • gui/src/pages/RemoteLink.tsx
  • gui/src/pages/Subagents.tsx
  • gui/src/styles-remote-link.css
  • gui/tests/remote-link.test.tsx
  • gui/tests/subagents-force.test.tsx
  • scripts/test-layout/layout.json
  • scripts/test-layout/seeds.json
  • skills/ocx/references/01_management_surface.md
  • src/claude/agents-inject.ts
  • src/claude/gateway-cache.ts
  • src/claude/inbound-model-options.ts
  • src/claude/subagent-force-status.ts
  • src/claude/subagent-model.ts
  • src/cli/agent.ts
  • src/cli/capabilities.ts
  • src/cli/claude.ts
  • src/config/diagnostics.ts
  • src/config/load-degrade.ts
  • src/config/subagent-models.ts
  • src/server/claude-messages.ts
  • src/server/management/agent-settings-routes.ts
  • src/server/management/route-registry.ts
  • src/server/management/subagent-model-routes.ts
  • src/types/config.ts
  • structure/clients/claude-desktop.md
  • structure/clients/integrations.md
  • structure/config.md
  • structure/gui-and-management-api.md
  • structure/remote-link.md
  • structure/subagents.md
  • tests/claude-integration/claude-gateway-cache.test.ts
  • tests/claude-integration/claude-native-passthrough.test.ts
  • tests/claude-integration/claude-subagent-model-force.test.ts
  • tests/cli/agent-subagent-force.test.ts
  • tests/cli/cli-capabilities.test.ts
  • tests/codex-integration/codex-convergence-contract.test.ts
  • tests/fixtures/test-layout-expected.json
  • tests/server/subagent-model-force-api.test.ts
 ______________________________________________________________________________________________________________________________
< Gently exceed your users' expectations. Come to understand your users' expectations, then deliver just that little bit more. >
 ------------------------------------------------------------------------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • 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.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 3, 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-03T06:44:25.510994Z a3ad806 PR opened
ℹ️ 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 3, 2026

Copy link
Copy Markdown
Contributor

✅ Deterministic PR hygiene checks passed.

@github-actions github-actions Bot added the enhancement New feature or request label Oct 3, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a3ad80662c

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/server/management/subagent-model-routes.ts
Comment thread src/claude/subagent-model.ts Outdated
Base automatically changed from codex/recover-train-261003 to dev October 3, 2026 06:55
@lidge-jun
lidge-jun merged commit 452f9a4 into dev Oct 3, 2026
37 of 38 checks passed
@lidge-jun
lidge-jun deleted the codex/recover-train-261003-features branch October 3, 2026 07:27
@lidge-jun lidge-jun mentioned this pull request Oct 4, 2026
3 tasks done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant