Skip to content

Epic: reconcile DevSpace Ultra parity for GPT peer swarm and conversation continuity #104

Description

@James3014

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 blind claimed -> 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

  1. Existing test(chat-swarm): run isolated 2-worker ChatGPT live canary #49 — prove live peer swarm baseline on the exact loaded capability identity.
  2. Existing feat(chat-swarm): add durable worker continuity and conversation rollover #51 — durable worker identity/continuation plus a required subsequent proactive Auto Compact gate.
  3. 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.
  4. New child: macOS elastic ChatGPT worker carrier lifecycle (ensure/start/wake/park/recover/scale).
  5. 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions