You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Track the explicit maintenance and single-writer retirement contract shared by local and managed Runtime Hosts.
When an installation owner or remote operator authorizes a full quit or replacement, the current Host must stop admitting work, preserve durable intent, settle or explicitly interrupt execution, release the sole State Root writer, and report a truthful result. Package deployment, service switching, and replacement verification remain outside the Runtime Host Domain authority.
Current behavior
Current
One Runtime Host owns one State Root's writer lease and durable-work authority.
Surface disconnection does not imply Host retirement. Durable Goals or Scheduled Tasks may intentionally keep the Host resident.
Desktop already has a compatible local update handoff through host.upgrade.prepare, but ordinary Desktop quit does not guarantee retirement when durable residency remains.
After a compatibilityEpoch mismatch, the new Client is rejected before Domain admission. The current UI can wait or cancel, but waiting cannot converge while recurring residency remains.
Managed remote Hosts are operator-owned services. An ordinary Runtime Host Client credential does not authorize package installation, service replacement, or restart.
The Windows epoch 24 to epoch 25 reproduction and screenshot are recorded in this comment.
Lifecycle intents
The product and protocol must distinguish three intents:
Disconnect Surface — release Client-owned resources; Host-owned durable work may continue.
Quit/stop Maka — explicit maintenance authorization; retire the owned local Host without immediately starting a replacement.
Update/replace Host — stage the candidate first, retire the current Host, then let the installation owner start and verify the replacement.
Closing one TUI or Desktop Surface must never stop a shared managed remote Host. Updating a managed remote Host is a separate, explicit operator action.
Delivered for managed replacement; remaining lifecycle adapters are still planned
A retirement request should be narrow, explicitly authorized, fenced to the exact Host identity/epoch, and idempotent. Runtime Host owns only:
reporting authoritative activity, residency, and recovery facts;
fencing new admission;
persisting recoverable Domain intent;
settling or interrupting current execution with an explicit maintenance reason;
preserving unresolved external effects as result_unknown;
releasing Domain resources and the sole writer lease;
reporting structured progress and completion.
The installation-management plane owns artifact resolution and staging, service/application switching, replacement startup and verification, deployment recovery, and rollback only where storage/effect evidence proves rollback safe.
This does not require a permanent cross-version Domain bypass. The normal local update path asks the still-compatible current Host to retire before installing the incompatible replacement. Managed remote replacement uses its operator SSH/service plane.
Recovery expectations
Retirement promises semantic recovery, not byte-exact continuation:
State
Expected behavior after retirement
Scheduled Task schedule
Remains durable and resumes scheduling when a Host runs again
Pending scheduled fire
Reconciles under its existing delivery guarantee
Goal / Automation durable intent
Recovers under its durable contract
Pending Interaction or in-flight Turn
Resumes only from a supported durable checkpoint; otherwise becomes explicitly interrupted/cancelled
External tool effect
Remains result_unknown when its result cannot be proven
Client capabilities and presentation state
Re-published or restored by the reconnecting Surface; not Host recovery state
This tracking issue was investigated and restructured with Codex. Current behavior and the scopes and live states of the linked Issues and PRs were rechecked before conversion.
English
Goal
Track the explicit maintenance and single-writer retirement contract shared by local and managed Runtime Hosts.
When an installation owner or remote operator authorizes a full quit or replacement, the current Host must stop admitting work, preserve durable intent, settle or explicitly interrupt execution, release the sole State Root writer, and report a truthful result. Package deployment, service switching, and replacement verification remain outside the Runtime Host Domain authority.
Current behavior
Current
host.upgrade.prepare, but ordinary Desktop quit does not guarantee retirement when durable residency remains.compatibilityEpochmismatch, the new Client is rejected before Domain admission. The current UI can wait or cancel, but waiting cannot converge while recurring residency remains.The Windows epoch 24 to epoch 25 reproduction and screenshot are recorded in this comment.
Lifecycle intents
The product and protocol must distinguish three intents:
Closing one TUI or Desktop Surface must never stop a shared managed remote Host. Updating a managed remote Host is a separate, explicit operator action.
Ownership boundaries
npxinvocation may own durable local Host execution.Retirement contract
Delivered for managed replacement; remaining lifecycle adapters are still planned
A retirement request should be narrow, explicitly authorized, fenced to the exact Host identity/epoch, and idempotent. Runtime Host owns only:
result_unknown;The installation-management plane owns artifact resolution and staging, service/application switching, replacement startup and verification, deployment recovery, and rollback only where storage/effect evidence proves rollback safe.
This does not require a permanent cross-version Domain bypass. The normal local update path asks the still-compatible current Host to retire before installing the incompatible replacement. Managed remote replacement uses its operator SSH/service plane.
Recovery expectations
Retirement promises semantic recovery, not byte-exact continuation:
result_unknownwhen its result cannot be provenDelivery tracker
npxlaunches (discussion(cli): define durable Runtime Host ownership for npx launches #3244)/exitas Surface disconnect; add explicit stop/restart UX and precise epoch-conflict operator guidance (feat(tui): add explicit local Runtime Host lifecycle and upgrade-conflict actions #3245)Unchecked items are planned tracking slices, not claims about current behavior.
Definition of done
Non-goals
简体中文
目标
跟踪本地与 managed Runtime Host 共享的“明确维护授权 + 单写者安全退场”契约。
当本地 installation owner 或 remote operator 明确授权完全退出或替换时,当前 Host 必须停止准入新工作、保存 durable intent、收敛或明确中断执行、释放唯一 State Root writer,并报告真实结果。Package 部署、service 切换和 replacement 验证不属于 Runtime Host Domain authority。
当前行为
Current
host.upgrade.preparehandoff,但普通 Quit 在存在 durable residency 时不能保证 Host 退出。compatibilityEpoch不同时,新 Client 会在 Domain 准入前被拒绝。当前 UI 可以等待或取消,但 recurring residency 一直存在时,等待不会自然完成。Windows epoch 24 到 epoch 25 的真实复现与截图见这条评论。
三种生命周期意图
产品和协议必须区分:
关闭一个 TUI 或 Desktop Surface 绝不能停止共享的 managed remote Host。更新 managed remote Host 必须是独立、明确的 operator action。
职责边界
npxinvocation 是否以及如何拥有 durable local Host execution。Retirement contract
Managed replacement 已交付;其余 lifecycle adapter 仍在规划中
Retirement request 应保持窄小、得到明确授权、绑定精确 Host identity/epoch,并且幂等。Runtime Host 只负责:
result_unknown;Installation-management plane 负责 artifact 解析与 staging、service/application 切换、replacement 启动与验证、deployment recovery,以及仅在 storage/effect 证据证明安全时执行 rollback。
这不要求建立永久的跨版本 Domain bypass。正常本地更新应由仍然兼容的当前 Client 先请求当前 Host 退场,再安装不兼容的 replacement;managed remote replacement 使用 operator 的 SSH/service plane。
恢复预期
Retirement 承诺的是语义恢复,不是逐字节续跑:
result_unknown交付追踪
npxlaunch 的 durable Runtime Host ownership(discussion(cli): define durable Runtime Host ownership for npx launches #3244)/exit为 Surface disconnect;增加显式 stop/restart UX 与精确 epoch-conflict operator 指引(feat(tui): add explicit local Runtime Host lifecycle and upgrade-conflict actions #3245)未勾选项目是 Planned tracking slice,不代表当前实现已经存在。
完成定义
非目标
AI assistance disclosure
This tracking issue was investigated and restructured with Codex. Current behavior and the scopes and live states of the linked Issues and PRs were rechecked before conversion.