Repository navigation
Epic: reconcile DevSpace Ultra parity for GPT peer swarm and conversation continuity #104
Description
OWNER CONTRACT DELTA — EXTERNAL WORKER RUNTIME EVALUATION FIRST (2026-09-20)
This Epic remains the product/architecture reconciliation home, but it no longer authorizes DevSpace to implement Ultra-style ChatGPT worker/browser parity by default. #218 now owns the bounded Chat On Steroids pilot. Do not auto-chain #49/#50/#51/#105/#117 while #218 is unresolved. After #218, reconcile which capabilities are KEEP / RETIRE / SUPERSEDE / STILL-GAP. #106 remains a separate Main-controller continuity question and must not be assumed replaced.Current external-runtime gates: #217 Codeg execution plane, #218 CoS ChatGPT worker runtime.
Priority
P0/P1 architecture reconciliation — canonical target for the previously requested DevSpace Ultra behavior.
This Issue records the exact behavioral target after re-reading current enwong93-sketch/devspace-ultra source/docs and comparing it with DevSpace #46–#51 and closed #101.
The requirement is broader than cross-session ownership handoff.
Owner intent / target experience
Normal operation should require the user to interact only with one main ChatGPT controller whenever the surrounding ChatGPT runtime/carrier permits it:
James
-> Main ChatGPT / orchestrator
-> GPT worker-01
-> GPT worker-02
-> GPT worker-03
Main dispatches targeted/parallel work
Workers submit backend results
Main collects/reasons over results
worker conversation reaches pressure/rollover
-> fresh conversation carrier
-> same logical worker identity
-> bounded continuity capsule
-> continue next task
main conversation reaches pressure/rollover
-> bounded Goal/frontier checkpoint
-> fresh main carrier
-> same logical work continues
unexpected main/controller loss
-> crash-safe continuation/takeover (#101 fallback)
Source-derived Ultra capability families
Fresh Ultra evidence (v0.5.x line) shows five distinct capability families that must not be collapsed into one generic 'handoff':
U1 — GPT peer swarm
- main ChatGPT orchestrator;
- multiple independent ChatGPT worker conversations/runtimes;
- generic or targeted dispatch;
- backend task queue;
- submit/collect;
- same-worker follow-up/context continuity.
U2 — Elastic worker carrier lifecycle
Ultra productized lifecycle around workers so the main agent can ensure/start/restore/minimize/wake/recover/scale worker carriers instead of requiring the user to manually prepare every worker conversation.
The implementation in Ultra is Windows/ChatGPT-Classic specific; DevSpace must reproduce the behavioral contract, not copy Windows AppX/runtime cloning assumptions onto macOS.
U3 — Durable logical worker identity
workerId != conversationId
A worker survives replacement of its ChatGPT conversation carrier. Continuation identity/tickets are short-lived/single-use and the old carrier loses authority after successful rebind.
U4 — Proactive worker context continuity / Auto Compact
Before a worker context hard-fails:
context pressure
-> mark compact/rollover required
-> wait for safe/idle boundary
-> build bounded capsule
-> create/bind fresh carrier
-> preserve worker/task identity
-> continue worker loop
Estimated context pressure must remain clearly distinct from exact native token telemetry.
U5 — Proactive Main conversation continuity
The user-facing Main controller is also replaceable before hard context exhaustion. Goal/Plan/current frontier/constraints/next action survive as bounded continuity state without copying the full transcript, raw tool history, hidden reasoning, credentials, or stale transport state.
Closed #101 is the crash/loss fallback; it does not replace proactive Main rollover.
Current DevSpace mapping
| Ultra behavior | Current DevSpace owner | Current assessment |
|---|---|---|
| U1 peer swarm durable store | #46 | correct direction; source exists |
| U1 peer worker identity/protocol | #47 | correct direction; source exists |
U1 production chat_swarm_* tools |
#48 | correct direction; source exists, feature-gated |
| U1 live two-peer canary | #49 | still required as live evidence |
| worker carrier transport experiment | #50 | useful adapter experiment but not sufficient for U2 |
| U3 worker rollover | #51 | correct core contract |
| U4 proactive worker Auto Compact | #51 follow-up gate must become required for parity, not indefinite optional future work | |
| controller crash takeover | #101 / PR #102 | implemented fallback only |
| U2 elastic worker carrier lifecycle | new focused child Issue required | |
| U5 proactive Main continuity | new focused child Issue required |
Important DevSpace hardening that MUST remain stronger than Ultra
Do not import Ultra behavior where it conflicts with current DevSpace fail-closed invariants.
In particular:
server restart
!= task absent
!= retry safe
Keep:
OUTCOME_UNKNOWN != retry permission;- potentially-started work ->
RECONCILE_REQUIRED, not blindclaimed -> queued; - corrupt durable coordination state fails closed, not silent fresh-state reset;
- exact task/attempt/effect identity;
- lease/CAS ownership and stale-carrier fencing;
- no browser/session state minting Nexus/DevSpace task authority;
- no model/worker prose becoming completion authority.
Platform boundary
Current DevSpace delivery scope is macOS only.
Ultra may be used as a behavioral reference, but do not copy:
- Windows AppX clone/package identity mechanics;
- Windows
chatgpt://provisioning assumptions; - cookie/session cloning as an authority mechanism;
- automatic browser/session authority transfer;
- any context estimate presented as exact native token usage;
- restart requeue behavior that can duplicate uncertain work.
The macOS implementation must first determine which supported carrier(s) can satisfy the behavioral contract: native MCP peer conversation, browser/web carrier, OpenCLI adapter, or another bounded supported transport. Carrier choice is execution infrastructure, not Swarm authority.
Required end-state UX
Peer dispatch
User can tell Main:
讓兩個 GPT 分別研究 A / B,再讓第三個 review
Main can deterministically create/resume worker capacity, dispatch tasks, collect results, and target follow-up to one logical worker without manual prompt copy/paste.
Worker rollover
When worker context pressure reaches the configured safe threshold, rollover occurs only at a safe boundary and the same workerId continues on a fresh carrier without duplicate task execution.
Main rollover
When Main context pressure approaches the unsafe boundary, DevSpace prepares a bounded checkpoint/capsule and supports safe continuation into a fresh carrier before the original conversation hard-fails.
Crash fallback
If proactive rollover cannot occur and Main dies abruptly, #101 recovery remains available:
新 Session: 接續剛才的工作
-> latest continuation discovery
-> reconcile active effects
-> fenced takeover
-> continue next gate
Required child work
- Existing test(chat-swarm): run isolated 2-worker ChatGPT live canary #49 — prove live peer swarm baseline on the exact loaded capability identity.
- Existing feat(chat-swarm): add durable worker continuity and conversation rollover #51 — durable worker identity/continuation plus a required subsequent proactive Auto Compact gate.
- Existing exp(chat-swarm): add optional OpenCLI ChatGPT runtime adapter #50 — remain a bounded OpenCLI/runtime-carrier experiment; do not let it masquerade as complete elastic worker lifecycle.
- New child: macOS elastic ChatGPT worker carrier lifecycle (
ensure/start/wake/park/recover/scale). - New child: proactive Main conversation checkpoint/rollover continuity using P0: Crash-safe ChatGPT session continuation after context rollover #101 only as crash fallback.
Closure matrix
This Epic closes only when the exact tested macOS runtime supports, with fresh source/build/capability evidence:
- Main -> >=2 ChatGPT peer workers live dispatch/collect;
- deterministic targeted follow-up to the same worker;
- worker capacity can be ensured/recovered without manual prompt copy/paste in the normal path;
- worker logical identity survives carrier replacement;
- worker Auto Compact/rollover crosses a real bounded pressure gate with no duplicate execution;
- Main proactive continuation crosses a real bounded pressure/rollover gate;
- P0: Crash-safe ChatGPT session continuation after context rollover #101 crash takeover remains a working fallback;
- unknown external effects never authorize blind retry/requeue;
- stale old carriers are fenced;
- full transcript/hidden reasoning/credentials are not copied as continuity state;
- fresh ChatGPT host-visible tool/capability surface matches the claimed runtime.
Claim ceiling
Until every relevant child has exact live evidence:
ULTRA_PARITY_TARGET_RECONCILED — END_TO_END_PARITY_NOT_YET_PROVEN
No child source merge, tool registration, or deterministic unit test alone proves the full Ultra-style user experience.
Activity
James3014 commentedon Sep 11, 2026
Child mapping created
The Ultra-parity delta is now split without rewriting existing Issue history:
ensure/start/wake/park/recover/scale) for U2Additional reconciliation comments were written into #46/#47/#48 so current-main source already present is rebound/accepted rather than accidentally reimplemented.
Current recommended sequencing:
#50 can proceed as a carrier experiment when its own prerequisites are met, but it is no longer treated as the full U2 lifecycle owner.
James3014 commentedon Sep 11, 2026
Ultra 細讀後的 V2 架構裁決與無循環依賴
完整 native admission 修復規格:#108。
研究版本:DevSpace
8da19eb34e2fcdd9cf36faf2064911d5cbed7020;Ultra2c61c79ffe269d31523bac37ae6ecd60c9065a5e。讀取實際 dist/chat-swarm.js、continuity 文件/實作、Classic productization、bootstrap script、browser README 與 content.js,並與 DevSpace tools/coordinator/store/meta/config/tests 對照。未重新跑 tests 或 native canary。需要修正的 baseline
補上 U0:Native peer admission / observability
U0 owner = #108。提供 readonly peer 自查/Main roster,nonsecret request -> exact owner approval -> readback,保留 OAuth + trusted peer context + owner authority。這是減少跨聊天秘密搬運與補充可觀測性,不是承諾消除平台封鎖。不能冒充 OpenAI 支援認證。
Delivery mode 必須顯式
MANUAL_TURN_DRIVEN:現有 test(chat-swarm): run isolated 2-worker ChatGPT live canary #49 第一條原生 baseline;Worker 由真實使用者回合觸發 next。task:null 不代表已 parked 或會自己醒來。MCP_LONG_WAIT:只有目前 Host 確實支援且 native 測過 bounded wait、取消、斷線與 readback 才能聲稱。in-flight tool wait 不等於可啟動已結束的 ChatGPT turn。CARRIER_EVENT_WAKE:P0: macOS elastic ChatGPT worker runtime lifecycle (zero-touch ensure/wake/recover/scale) #105 中明確配置、授權及驗證的 carrier 可接 backend event 並啟動一個 exact target turn。無 carrier support 就回 unavailable,不忙迴圈、不默默改用別條路。同一任務的 evidence 必須標明 mode;native、browser、SDK 的結果不能相互冒名。
V2 工作拆分與依賴
#105 的 recovery 採 #51-A epoch/rebind;#51-B 的自動 rollover 可使用 #105 已驗證 carrier。不得寫成 #105 等整個 #51 完成、整個 #51 又等 #105 的循環。#49 不等 #105 自動造視窗;先保留 manual native baseline。
統一原則
下一個實作入口
交給 implementer 的第一張 Issue 是 #108;先做 G0 evidence rebind,再作 source contract/測試,交獨立驗收。本次只更新規劃,不啟動實作、部署、重啟或新的 Swarm。
James3014 commentedon Sep 12, 2026
Owner parity amendment — Single-Main / zero-touch worker operation is the canonical UX
Fresh Ultra re-read changed the acceptance interpretation materially.
Ultra's productized worker pool is not merely
Main + several manually prepared chats. Its normal operator contract is on-demand:The Main conversation is the normal operator surface. Worker windows may physically exist, but the user does not manage them.
Previous planning error to prevent
#49-style manual peer setup proved useful backend/identity semantics, but it accidentally became the operational model during testing. That must not become the product architecture.
The following is now explicitly non-acceptance for U2/U3/U4/U5 parity:
Canonical product interaction budget
After one-time setup/login/consent:
Revised child ordering
#49 remains baseline/manual peer correctness evidence and may retain historical unfinished control-plane scenarios. It does not define the final UX.
New final parity witness
At least one real macOS acceptance must begin with only the user-facing Main available and then prove:
No manual worker conversation interaction is permitted in the witness.
The strongest parity claim remains unavailable until #117 + #51 + #106 and the final zero-touch witness pass on exact source/build/runtime evidence.
James3014 commentedon Sep 13, 2026
2026-09-13 U4 source progress — Auto Compact planner accepted
Worker-side parity mapping advanced without overstating live capability:
07f5c30a6ec8fcb9bfb511cb2b76ae089d6f6244.#126 adds explicit pressure provenance, compactRequired/safe-boundary/reconciliation decisions, bounded verified capsule and non-authorizing replacement-carrier intent. It does not create a carrier or prove a live pressure-triggered rollover.
U4 therefore remains OPEN at the physical/product layer. Closure still requires #117/#105 real zero-touch carrier creation/recovery plus #120 rebind to prove a real Worker A -> B rollover, same workerId, epoch increment, stale-carrier fence and zero duplicate execution. No #104 closure claim is made.
James3014 commentedon Sep 13, 2026
Ultra parity update: #117 G1 macOS zero-touch worker-runtime source has been integrated into
mainvia PR #131.bb06b4df469b8c6d6c47ed894b3d0e97257a137ada4be27769c72e42ec24882145d8a84a804a499934757239223: macOS Smoke PASS, Ubuntu Smoke PASS, focused macOS continuation + Local Agent PASS; Windows only shows the known 7-test carrier-binding baseline.This advances U2 source capability and consumes the #51/#120 continuation seam, but does not prove end-to-end Ultra parity or live zero-touch worker lifecycle. #117 remains open for native G0/G2-G6 with
manualWorkerInteractionCount=0.Current exact native blocker:
NATIVE_MACOS_CHATGPT_BROWSER_CARRIER_WITNESS_REQUIRED.James3014 commentedon Sep 13, 2026
Ultra parity matrix update — U2 source integrated, live evidence unchanged
#117 G1 source is now merged via clean PR #131 / main
da4be27769c72e42ec24882145d8a84a804a4999.U2 source now includes the managed macOS web carrier runtime, zero-touch provisioning/bootstrap contract, runtime status/ensure/scale/recover/stop/bootstrap tools, durable wake/reconciliation, safe scale-down, exact saved-conversation recovery and per-boot physical carrier revalidation.
This does not check any #104 live closure box by itself. Remaining U2 evidence is #117 G0 + G2-G6 on the exact installed Mac/ChatGPT/dev-c runtime with post-setup manual worker interaction count = 0. Canonical native manifest: #117 comment
5653475229.Downstream after that witness:
Current epic claim remains exactly:
ULTRA_PARITY_TARGET_RECONCILED — END_TO_END_PARITY_NOT_YET_PROVEN.James3014 commentedon Sep 27, 2026
Wave 4 architecture reconciliation — external worker runtime decision complete
Closure classification:
DONE_NO_FOLLOW_UPfor this Epic's current reconciliation contract.The Epic's 2026-09-20 Owner delta explicitly required a post-#218 KEEP / RETIRE / SUPERSEDE / STILL-GAP decision. That decision is now durable:
SUPERSEDEDfor DevSpace custom implementationRETIRERETIRESUPERSEDEDimplementation;KEEPportable invariantworkerId != conversationIdretained as design principleSUPERSEDEDRETIRERESIDUAL_GAP, non-blockingKEEPRESIDUAL_GAP, optionalEvidence boundary:
CHATGPT_DIRECT_CONTROL_PLANE_CANARY_PASS.Affected child Issues #49/#50/#51/#105/#117 are now closed as superseded/retired without rewriting their historical evidence.
#106 is deliberately not closed by this Epic reconciliation. CoS worker-runtime adoption neither proves nor invalidates proactive Main-controller continuity.
Causal watermark:
updated_at=2026-09-20T07:12:15Z3b92d6165e8531765dbaf929c3c298e0b03505bbDONE_NO_FOLLOW_UPba3036020c7d87c90f7cf1c4cfa84fa613b13ce2This closes the reconciliation Epic, not every optional future continuity feature.
AUTO_CHAIN=false.