Skip to content

feat(gui): edit subagent fallback and explain V2 compatibility - #3878

Merged
lidge-jun merged 9 commits into
devfrom
codex/260907-c5-subagent-fallback
Sep 7, 2026
Merged

feat(gui): edit subagent fallback and explain V2 compatibility#3878
lidge-jun merged 9 commits into
devfrom
codex/260907-c5-subagent-fallback

Conversation

@lidge-jun

@lidge-jun lidge-jun commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

Carry #3252 as an ordered fallback editor with its own Save and polling interval controls. Preserve unavailable configured targets, keep roster/fallback committed caches independent, block unknown legacy-cache writes, fence delayed reads and retain row identity/keyboard focus. Issue #1533 guidance uses existing /api/v2 mode/global/native-pin state, distinguishes native-parent encrypted tasks from readable routed-parent tasks, and honestly reports recovery activation/eligibility as unknown. No roster-reuse switch or runtime fallback-policy change is implemented or claimed.

Verification

  • Cross-platform CI: all required per-chain jobs SUCCESS, exact top head f1b8f2d2f1edee55b68202469f86a5334710688d: Linux 4, macOS 2, gates, storage, API, all keyring/npm smokes and Docker. Overall run status is completed / success; this is not an assertion that every workflow job passed.
  • Explicit user policy defers the six Windows test shards and macos control to one run on the final release-train head. They are excluded only from this per-chain LANDABLE decision. Windows keyring/npm smoke jobs remain required. Lower product CI is represented by the cumulative top-head result.
  • Attempt 1 macOS 1/2 timed out before a test result in codex-inject-write-lock.test.ts. Main explicitly authorized retrying the failed job at the unchanged head. The required-job evidence above uses each job's latest attempt; earlier failure is retained in run history. Independent Astra diagnosis found no proven C-cache interaction, and the same-head macOS control passed that file.
  • Local tests/typecheck/build/install: NOT RUN, explicitly prohibited for this train. Runtime verification is remote CI only.
  • git diff --check: passed.
  • Jason, independent Astra high explorer: PASS after hydration/cache-race/focus corrections; auth/runtime boundaries preserved. Noether, a separate Astra high explorer, diagnosed the exact failed lint job and reviewed the state-owned identity/static-selector repair at the final source head: PASS. No lint rules or production assertions were weakened.

Fallback editor and V2 compatibility guidance

Rendered from the remote CI dashboard artifact with isolated API fixtures; no live proxy settings changed. Artifact build-commit matched f1b8f2d and build-gui-tree matched 3b96491017e3e866e959aea62cab6790b034e101. Browser verified unavailable-model retention, reorder by click and Enter with focus retained, fallback Save feedback, and Desktop false-to-true preference. Screenshot viewport 1440x1013; additional 500px layout inspected. Local build/test/install not run.

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.

Manual dependent PR chain

Native stack: null. Review only this layer’s diff. Main integrates bottom-up after refreshing dev ancestry, live heads/bases, review threads and required gates. This task does not merge. The CI-tested cumulative top tree is the integration target; advancing dev requires another cascade and top-head verification.

Layer Source PR Head
1 #3839 #3873 51b44371860b2ec933d66de1b68ca790be3b81fb
2 #3841 #3874 8eaa5641902b84bec6c97a94de6c2fe6d810c31d
3 #3863 #3875 91b54b79bc780011031b00354621cc9fcaef360e
4 #3860 #3876 abbdb227f385443228656c8440282187cb5dec75
5 #3252 #3878 f1b8f2d2f1edee55b68202469f86a5334710688d

Closes #1533. The underlying upstream protocol limitation #92 remains open.


Maintainer integration decision (MAINTAINERS.md, dev-only admin integration): @lidge-jun integrates lane C's manual chain (#3873#3874#3875#3876#3878) into dev bottom-up. Chain-top evidence at head f1b8f2d2f: Cross-platform CI run 34116228181, aggregate ci = success (attempt 2: macos 1/2 timed out at 20 min in attempt 1 after codex-inject-write-lock.test.ts with no output; independent diagnosis found no causal link to this chain and the same head's macos control passed those tests; the failed job alone was rerun and passed — no code change). Windows 6/6 and macos control also green on this head. Prospective merge tree of origin/dev@522ce5f8c + top = e0b0e5886 = tested tree. Independent source/security/GUI reviews PASS per PR bodies; screenshots from this run's dashboard-preview artifact. Local suites NOT RUN. Maintainer integration, not self-approval.

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (2)
  • ^dev$
  • ^preview$

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Team

Run ID: 3e193c96-fb91-4cc0-a5a5-63a34bd0d60e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Deterministic PR hygiene checks passed.

@github-actions github-actions Bot added the enhancement New feature or request label Sep 7, 2026
@lidge-jun

Copy link
Copy Markdown
Owner Author

리뷰 · 우선순위 63 / 80

이 PR은 #3252를 Lane C 5층(체인 top, base=codex/260907-c4-desktop-opt-in)으로 올린 큰 GUI 캐리입니다. Subagents 화면에 순서 있는 fallback 편집기별도 Save·pollMs(5s–600s) 를 넣고, 커밋된 설정만 캐시하며, discovery에 없는 configured target도 편집 가능하게 남깁니다. 동시에 #1533이 요청한 native-parent → routed-child V2 호환 안내를 붙입니다. /api/v2·native V1 pin(keepNativeChatGptOnV1)·recovery 미노출을 솔직히 말하고, 상세 링크는 업스트림 한계 이슈 #92로 갑니다. roster-reuse 스위치는 구현·주장하지 않습니다. API /api/subagent-model-fallback는 이미 dev에 있습니다.

Subagents.tsx가 roster와 fallback을 병렬 GET하고, revision/in-flight 가드로 늦은 응답이 로컬 편집을 덮지 않게 합니다. Save는 roster와 fallback이 분리되어 있습니다. SubagentDelegationSection.tsx는 행 identity·포커스 이동·unavailable 표시·poll 검증을 담당하고, routed preferred이면서 native가 V2를 쓸 수 있을 때만 안내를 보여 줍니다. i18n 9로케일·문서·대형 테스트(subagents-fallback.test.tsx)가 따라옵니다. astra 리뷰는 본문상 pending, Cross-platform CI는 top head 8f8ac0d에서 대기 중입니다. types/config 분할과 무관합니다. 원본 #3252 리뷰 점수(47)보다 계약·안내·테스트가 많이 단단해졌습니다.

주의할 점: GUI 표면이 넓고, render 중 ref identity 재구성·포커스 복원 같은 섬세한 코드가 많아 리뷰·회귀 의존도가 큽니다. 스크린샷은 contributor 참고용이고 final V2 guidance 캡처는 top CI preview 후 교체 예정입니다. Lane C는 이 PR이 top이므로 아래층(3873–3876) CI·머지 순서에 묶입니다.

Subagents.tsx load/saveFallback - 병렬 fetch, revision 가드, committed cache만 기록
SubagentDelegationSection.tsx fallback editor - 순서/제거/추가, pollMs 검증, unavailable 유지
SubagentDelegationSection.tsx V2 note - #1533 UX, 링크는 #92(업스트림 encrypted task). recovery 상태를 있다고 거짓말하지 않음
subagents-fallback.test.tsx - 대형 GUI 회귀. roster-reuse 미구현을 문서/테스트와 맞출 것
원본 #3252 - 머지 후 landed-via로 닫을 것

메인테이너의 판단이 필요한 지점

  • 아래층 4개가 초록·랜딩된 뒤 top으로 넣을지
  • astra pending을 머지 게이트에 넣을지(권장: top CI + GUI 테스트 초록이면 진행, astra는 병행)
  • #1533을 이 PR closes로 걸지, 머지 후 수동 close할지
  • preview 스크린샷 교체를 머지 전 필수로 둘지

너의 추천
Lane C top으로, 3873→3874→3875→3876 다음에 머지하세요. fallback 편집과 V2 안내는 #3252/#1533 방향과 맞고 API도 이미 있습니다. 머지 후 #3252는 Landed via #3878 at <commit>로 닫고, #1533도 안내가 충분하면 함께 닫으세요.

이 댓글은 grok-bot이 작성했습니다

@lidge-jun
lidge-jun force-pushed the codex/260907-c5-subagent-fallback branch from 8f8ac0d to 18f1cdf Compare September 7, 2026 10:08
@lidge-jun
lidge-jun force-pushed the codex/260907-c4-desktop-opt-in branch from e2ad433 to de5160f Compare September 7, 2026 10:14
@lidge-jun
lidge-jun force-pushed the codex/260907-c5-subagent-fallback branch from 18f1cdf to 16ac533 Compare September 7, 2026 10:14
RobinBially and others added 9 commits September 7, 2026 20:21
(cherry picked from commit 0f21769)

Co-authored-by: RobinBially <7304732+RobinBially@users.noreply.github.com>
…p ci]

Co-authored-by: RobinBially <7304732+RobinBially@users.noreply.github.com>
… ci]

Co-authored-by: RobinBially <7304732+RobinBially@users.noreply.github.com>
(cherry picked from commit b0d86fa)

Co-authored-by: x3M3x <98298256+x3M3x@users.noreply.github.com>
(cherry picked from commit aba57a0)

Co-authored-by: x3M3x <98298256+x3M3x@users.noreply.github.com>
…atibility [skip ci]

Co-authored-by: x3M3x <98298256+x3M3x@users.noreply.github.com>
… ci]

Co-authored-by: x3M3x <98298256+x3M3x@users.noreply.github.com>
CI 34106956362 gates101697798420: remove render-time ref access and dynamic selector construction while preserving occurrence identity and keyboard focus.

Co-authored-by: x3M3x <98298256+x3M3x@users.noreply.github.com>
@lidge-jun
lidge-jun force-pushed the codex/260907-c4-desktop-opt-in branch from de5160f to abbdb22 Compare September 7, 2026 11:21
@lidge-jun
lidge-jun force-pushed the codex/260907-c5-subagent-fallback branch from 16ac533 to f1b8f2d Compare September 7, 2026 11:21
@lidge-jun
lidge-jun marked this pull request as ready for review September 7, 2026 11:53
@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner September 7, 2026 11:53
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 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-09-07T12:00:08.804400Z f1b8f2d 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.

@lidge-jun
lidge-jun changed the base branch from codex/260907-c4-desktop-opt-in to dev September 7, 2026 11:54
@lidge-jun
lidge-jun merged commit d0fca4a into dev Sep 7, 2026
71 of 74 checks passed
@lidge-jun
lidge-jun deleted the codex/260907-c5-subagent-fallback branch September 7, 2026 11:54

@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: f1b8f2d2f1

ℹ️ 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 gui/src/pages/Subagents.tsx
Comment thread gui/src/pages/Subagents.tsx
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.

3 participants