Skip to content

fix(gui): use server-owned proactive delegation presets - #3993

Merged
lidge-jun merged 9 commits into
devfrom
codex/bug6-01a07e9d-4-preset
Sep 8, 2026
Merged

fix(gui): use server-owned proactive delegation presets#3993
lidge-jun merged 9 commits into
devfrom
codex/bug6-01a07e9d-4-preset

Conversation

@lidge-jun

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

Copy link
Copy Markdown
Owner

Summary

The dashboard duplicated a delegation preset and could reinstall outdated instructions. Use the current server's recommendation when a user explicitly enables or restores the preset, now labelled Always proactive delegation. Missing or malformed recommendations disable installation and restoration while preserving custom editing and clearing; switching servers hides the previous hint and blocks stale writes.

Carries #3951 at db502d486c8d8de80c0143fcfd6f86238d1ce917, preserving all nine GUI locales and five guides. GET/unrelated updates do not migrate stored hints. Only explicit writes exactly matching either released legacy preset canonicalize; other custom text stays byte-identical. Restore edits a draft, and Save persists it.

Manual stack, layer 4 of 6, depends on #3992: Go compatibility → xAI child result → V2 guidance → server preset → canonical reset alias → cooldown recovery. Review only this layer; merge bottom-up through dev.

Verification

  • Local product tests, install, typecheck and build: NOT RUN, per owner instruction. Git hooks disabled per invocation; push uses --no-verify.
  • Prepared 25-file source/security audit passed; actual adopted-head interdiff and hosted CI remain required.
  • Rendered the matching hosted artifact from run34183701289, GUI tree b0bc09ba867906375e52cf0180caa4ea4ea95bea, against synthetic local API responses. Verified enable, exact custom Save, Restore-without-write, Clear, missing/malformed recommendation, error/retry, distinct server recommendation and keyboard focus. No actual account, settings or native delegation was exercised.
  • Browser evidence exposed cramped editing at320px; the final CSS wraps long hints and places the full-width textarea above its actions below640px. Final320/390/768/1024/1440 viewport measurements show no horizontal page overflow. JavaScript bytes are unchanged by that CSS repair; representative Save was verified again on final artifact.
  • Final screenshots are held on an evidence-only branch, preserving the tested product head. Independent visual/functional reviews passed, including visible keyboard focus. Current product verification is CI34185870948 at 727683f44e9f1daa9b6b1e2dbf93167e4ce30cc1; it remains pending.

Delegation preset on desktop

Korean delegation editor at320px

  • Hosted backend/component tests cover explicit-write normalization, custom preservation, draft restoration and stale-server response handling.
  • An earlier macOS run stalled at the existing home-guard child probe and hit the20-minute job limit. The probe harness now awaits bounded execution/reaping/output completion, retaining all10 original probes and38 assertions, with nonzero/hanging/incomplete-output controls. Independent source/security audit passed. No CI timeout was increased or test skipped; the underlying Bun/native cause remains unproven. GUI bytes are unaffected by this test-only correction.

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.

Co-authored-by: luvs01 27862058+luvs01@users.noreply.github.com

Maintainer integration decision

The owner explicitly authorized bottom-up integration of this manual stack into dev. Acting as current maintainer lidge-jun, I choose the dev-only maintainer-integration path in MAINTAINERS.md; this is not self-approval. Independent technical/security review and contributor attribution remain required, and any maintainer objection must be resolved.

This PR's certified candidate head is 727683f44e9f1daa9b6b1e2dbf93167e4ce30cc1 with PR CI34185870948. Cumulative integration head f80f39d20e8395901d3b62758d118ea3a559a9f4 contains current dev 402be7c1f88283eb8465c3aec8437ccecd2542ec; full lane=all run34193218874 is the required final matrix. PR CI34193213502 attempt2 passed after one investigated macOS job cancellation; the full dispatch reran only its failed macOS control after same-head shard evidence passed. Failed attempts remain recorded. These links identify the exact evidence to inspect; any pending, failed, cancelled or skipped required execution blocks landing. The actor, base, head, reviews and checks will be refreshed immediately before each merge.

Serial merge prediction is conflict-free and its final tree equals the cumulative candidate. Because merged branches are automatically deleted, the next owned child is retargeted to dev immediately before its parent lands. PRs remain ordinary/manual; no native stack registration is requested. Local product checks remain NOT RUN by owner instruction.

Final pre-landing verification: full run34193218874 attempt2 SUCCESS, all26 named jobs and mandatory execution steps verified at f80f39d20e8395901d3b62758d118ea3a559a9f4; PR run34193213502 attempt2 SUCCESS. The investigation allowed one retry of each failed/cancelled macOS job; prior failures remain historical, and previously passing jobs were not rerun. Current CI is accepted for this owner-authorized integration.

luvs01 and others added 7 commits September 8, 2026 11:49
(cherry picked from commit 481edbb)
(cherry picked from commit 24977adf223210dbf68cfb5d626916f97b47ed9a)
(cherry picked from commit 6fb0fc6)
(cherry picked from commit 21757b71a6007d217ef1f383c739cfc6618fd8e9)
Document the carried v2 wrapper and replay contract while preserving native and legacy policy history.

Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com>
(cherry picked from commit 8000e2482fb06567ac3d3e3474c54c5a4468d92f)
(cherry picked from commit db502d4)
(cherry picked from commit 5b60a4fa70aa5ef34ba043065961d5ea0042b780)
Document response-only recommendations, explicit-write legacy normalization and current-server dashboard draft ownership.

Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com>
(cherry picked from commit e5a6f35b8d82387703958188f4fcbaacb8eec892)
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Deterministic PR hygiene checks passed.

@coderabbitai

coderabbitai Bot commented Sep 8, 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: Advanced

Run ID: db770cf7-9f90-4db1-8c95-2c0c7f4566aa

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 added the bug Something isn't working label Sep 8, 2026
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

✅ READY

  • all PR quality gates passed.

Hygiene

Deterministic PR hygiene checks passed.

@lidge-jun

Copy link
Copy Markdown
Owner Author

리뷰 · 우선순위 55 / 80

이 PR은 bug6 스택 4/6층입니다. base가 #3992 head(codex/bug6-01a07e9d-3-guidance)라서 dev에 직접 못 붙습니다. 하는 일은 Subagents 대시보드의 “Ultra mode”가 GUI에 박아 둔 ULTRA_MODE_PRESET 문자열을 쓰지 않고, 서버가 multiAgentModeHintRecommendation: { text, revision }으로 준 문장만으로 Always proactive delegation 프리셋을 켜고 복원하게 만드는 것입니다. 지금 dev HEAD의 gui/src/components/subagents-workspace/SubagentDelegationSection.tsx는 여전히 로컬 ULTRA_MODE_PRESET 상수를 on/restore에 씁니다. 서버가 문구를 바꿔도 대시보드가 옛 문장을 다시 심을 수 있는 구조입니다.

코드는 토글/에디터가 ultraMode.recommendation 없을 때 install·restore를 비활성화하고, 커스텀 편집·clear는 남깁니다. Restore는 로컬 draft만 바꾸고 Save가 Persist합니다. GET/무관 업데이트는 저장 힌트를 자동 마이그레이션하지 않고, 알려진 legacy preset 두 개와 바이트 단위로 정확히 같을 때만 현재 권고문으로 canonicalize합니다. 9 로케일 라벨 변경, 5 언어 agents 가이드, agent-settings-routes.ts/multi-agent-mode-policy.ts/features.ts, structure 문서, GUI·게이트 테스트가 포함됩니다. #3951 carry입니다. 작성자 로컬 typecheck/build는 의도적으로 안 돌렸고, hosted GUI artifact로 UI QA했다고 적혀 있습니다. CI는 macos 1/2·ci aggregator 실패가 보이므로 draft 유지가 맞습니다.

dev tip의 관심사(reset-credit·Pool cooldown)와 파일 겹침은 거의 없습니다. 다만 서버 권고문 없이 프리셋을 못 켜는 UX는 구버전 서버와 섞일 때 회귀처럼 느껴질 수 있고, 본문이 그 trade-off를 받아들입니다. 320px CSS 접기 수정은 권한 의미와 무관한 레이아웃 개선입니다.

라인 SubagentDelegationSection.tsx - ULTRA_MODE_PRESET 상수 삭제. recommendation 없으면 on 토글·Restore disabled
경로 use-subagent-delegation.ts / agent-settings-routes.ts - recommendation payload를 GUI로 전달. 구서버 malformed 시 install 차단
경로 i18n 9로케일 sub.ultraMode* - Ultra mode → Always proactive delegation 표기 통일
경로 docs agents.md 다국어 - “Restore는 draft, Save가 저장” / byte-identical legacy만 치환 규칙을 명시
경로 base #3992 / carry #3951 - dev 직행 금지. #3951은 랜딩 후 leftover 정리 후보
경로 CI macos 1/2 fail - draft 해제·머지 전 재실행 필요. 로컬 제품 테스트 NOT RUN

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

  • 구서버에서 프리셋 버튼을 아예 막는 정책을 받아들일지
  • #3951을 이 스택으로 supersede하고 landed-via-maintainer로 닫을지
  • UI artifact만으로 충분한지, dev 착지 후 본선 GUI 테스트를 필수로 볼지

너의 추천
#3992가 dev에 들어간 뒤에만 이어서 올리고, CI 실패(특히 macos 1/2)를 녹색으로 만든 다음 ready로 바꾸세요. #3951과 내용을 중복으로 키우지 말고, 랜딩 후 leftover 원본을 닫는 쪽이 맞습니다. 지금은 대기. types/config 대분할 close-don't-rebase 대상은 아닙니다.

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

@lidge-jun
lidge-jun marked this pull request as ready for review September 8, 2026 05:23
@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner September 8, 2026 05:23
@lidge-jun
lidge-jun changed the base branch from codex/bug6-01a07e9d-3-guidance to dev September 8, 2026 07:04
@lidge-jun
lidge-jun merged commit 74f62f9 into dev Sep 8, 2026
46 checks passed
@lidge-jun
lidge-jun deleted the codex/bug6-01a07e9d-4-preset branch September 8, 2026 07:05
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.

2 participants