feat(desktop): manage remote runtime host credentials - #3419
Draft
M4n5ter wants to merge 12 commits into
Draft
Conversation
M4n5ter
force-pushed
the
feat/desktop-runtime-host-credentials
branch
from
August 21, 2026 14:00
2b3b777 to
6591058
Compare
M4n5ter
force-pushed
the
feat/desktop-runtime-host-management
branch
from
August 22, 2026 05:53
1626713 to
9f4b20a
Compare
M4n5ter
force-pushed
the
feat/desktop-runtime-host-credentials
branch
2 times, most recently
from
August 22, 2026 06:00
fc936dc to
9c8d008
Compare
M4n5ter
force-pushed
the
feat/desktop-runtime-host-management
branch
from
August 22, 2026 07:45
a1ffaea to
3e22749
Compare
M4n5ter
force-pushed
the
feat/desktop-runtime-host-credentials
branch
2 times, most recently
from
August 22, 2026 08:15
3949ceb to
4301916
Compare
This was referenced Aug 22, 2026
M4n5ter
changed the base branch from
feat/desktop-runtime-host-management
to
main
August 22, 2026 10:40
M4n5ter
force-pushed
the
feat/desktop-runtime-host-credentials
branch
4 times, most recently
from
August 22, 2026 13:57
ea92ae6 to
085b137
Compare
Add Host-local credential metadata, safe Desktop credential rotation, and explicit revocation through the existing SSH management plane. Credential mutation remains owned by Runtime Host access authority, while secrets stay out of renderer and terminal projections. Generated-by: Codex
Advertise credential management through the persisted operator contract so Desktop never exposes actions an older deployment cannot execute. Keep metadata inspection read-only and align framed access operations around one action-discriminated protocol. Generated-by: Codex
Derive Desktop credential replacements from the active Host credential and fence access management while pairing recovery is unresolved. Negotiate operator capabilities per invocation so upgraded operators remain compatible with older Desktop clients. Generated-by: Codex
Derive replacement credentials from the active Host-owned authority record and guard rotation and revocation with atomic credential state checks. Reject disabled-profile rotation before remote mutation so the UI cannot leave an unusable pending credential. Generated-by: Codex
Require explicit confirmation before credential rotation reconnects a managed Host, and bound pairing finalization through the dispatched request. Simplify guarded revocation around stable credential identity while preserving recoverable unknown outcomes. Generated-by: Codex
Treat an already-absent target as a satisfied revocation while retaining an atomic active-credential fence. Keep Desktop identity validation at the SSH adapter boundary so the Host protocol stays client-agnostic. Generated-by: Codex
Warn before revocation disconnects clients using an active credential, and exercise rotation recovery through the real profile service path. Reuse the shared UTF-8 truncation boundary for framed access errors. Generated-by: Codex
Bind a prepared replacement to the exact managed profile, service, and current credential resolved before SSH begins. Pairing recovery now preserves unreadable journals and reconnects a valid pre-rebind target in the same startup, while revoke confirmation consistently warns about interruption. Generated-by: Codex
Keep existing credential operation codecs at epoch 36 and move rotation-only guards into separately named additive operations. This preserves ordinary mixed-version Remote Host connections while keeping credential rotation atomic and Host-authoritative. Also prevent unfinished pairing recovery from overriding profile lifecycle choices and disable access mutations while the managed service is offline.
Persist the managed-service uninstall intent before invoking the remote operator, and retry the idempotent uninstall before cleanup. This keeps credential pairing recovery authoritative and prevents an interrupted uninstall from discarding the binding needed for repair. Generated-by: Codex
Apply the repository source-header policy to credential management files introduced by this branch after rebasing onto the new audit gate. Generated-by: Codex
M4n5ter
force-pushed
the
feat/desktop-runtime-host-credentials
branch
from
August 22, 2026 14:14
085b137 to
627ea13
Compare
Persist a cleanup-only phase after remote service uninstall so retries never depend on an operator that cleanup may have removed. Bind management dialog state to its Host and use urgent busy updates so stale async results cannot cross profiles. Generated-by: Codex
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
English
Summary
Add credential maintenance to the per-computer management surface for SSH-managed Runtime Hosts. Desktop can inspect non-secret credential metadata, identify its own credential, rotate it through the existing verified pairing path, and explicitly revoke an obsolete credential.
Credential authority remains in Runtime Host. Desktop invokes Host-local operator commands over SSH, secrets never enter renderer state or terminal output, and privileged access-management mutations remain restricted to the Host-local operator; ordinary remote Client grants and remotely available operations are unchanged.
Fixes #3418
Verification
npm run typechecknpm run lintnpm run format:checknpm run astryx:surface-inventoryAI use
Tool(s) and scope: Codex implemented and verified the change under maintainer direction and review
Checklist
Does this PR entail a change in behavior?
简体中文
概要
为 SSH 托管的 Runtime Host 增加 per-computer credential 维护界面。Desktop 可以查看不含 secret 的 credential metadata、识别自身 credential、通过现有已验证 pairing 路径安全轮换,并明确撤销废弃 credential。
Credential authority 仍属于 Runtime Host。Desktop 只通过 SSH 调用 Host-local operator command;secret 不进入 renderer state 或 terminal output,privileged access-management mutation 仍仅限 Host-local operator;普通 remote Client grants 与远程可用 operations 保持不变。
Fixes #3418
验证
npm run typechecknpm run lintnpm run format:checknpm run astryx:surface-inventoryAI 使用
工具与范围:Codex 在维护者指导与审核下实现并验证了本次变更
Checklist
本 PR 是否改变行为?