Persist project host setup method

Co-authored-by: Orca <help@stably.ai>
This commit is contained in:
Jinwoo-H
2026-06-11 12:33:59 -07:00
co-authored by Orca
parent b57f9e4914
commit 359cb1baef
14 changed files with 112 additions and 24 deletions
@@ -483,11 +483,14 @@ Already partially landed:
- inline `Run on` import-existing-folder setup for known hosts where the
selected project is not set up yet
- inline `Run on` clone setup for not-yet-set-up non-SSH local/runtime hosts
- repo-backed setup method metadata so imported/cloned setup methods survive
compatibility projection and persistence sync
Not complete yet:
- SSH clone/provision flows
- durable cloned setup metadata while `Repo` remains the compatibility source
- independent project-host setup persistence beyond the repo-backed
compatibility records
- bulk setup flows and setup for hosts that are not already known to the client
- project settings split into global and host-specific ownership
- host settings/capability UI aligned with project setup
+3 -1
View File
@@ -408,11 +408,13 @@ Already partially landed:
- inline import-existing-folder setup from the composer
- inline clone setup from the composer for not-yet-set-up non-SSH
local/runtime hosts
- repo-backed setup method metadata for imported/cloned project-host setups
Still needed:
- finish SSH clone/provision flows
- durable cloned setup metadata while `Repo` remains the compatibility source
- independent project-host setup persistence beyond the repo-backed
compatibility records
- bulk setup flows and setup for newly added hosts
- project settings split into global and host-specific ownership
- host settings/capability UI aligned with project setup
+12 -9
View File
@@ -755,15 +755,18 @@ Landed so far:
lets the user paste a different URL, clones into the selected parent
directory through the existing local/runtime clone APIs, then links the
resulting checkout as the project's host setup.
- Added repo-backed setup method metadata so imported and cloned setup flows
survive persistence/projection sync as `imported-existing-folder` or `cloned`
while `Repo` remains the compatibility source of truth.
- Added tests for local repos, SSH repos, same-provider multi-host grouping,
no-identity same-name non-grouping, selector cache behavior, persistence
backfill, repo mutation synchronization, renderer hydration, runtime RPC
routing, local/runtime clone setup composition, and GitHub clone URL
inference. Sidebar row-builder tests now cover project-first multi-host
grouping and same-name repo separation without project identity. Workspace
target tests cover local-only fallback, focused-host setup selection, explicit
project-plus-host resolution, same-name non-merging, and unavailable setup
reasons.
routing, setup method persistence, local/runtime clone setup composition, and
GitHub clone URL inference. Sidebar row-builder tests now cover project-first
multi-host grouping and same-name repo separation without project identity.
Workspace target tests cover local-only fallback, focused-host setup
selection, explicit project-plus-host resolution, same-name non-merging, and
unavailable setup reasons.
Important limitation:
@@ -778,9 +781,9 @@ Important limitation:
folder today; true SSH clone should either reuse a remote git-provider exec
path or add a remote clone flow with progress, abort, safe path derivation,
cleanup, and auth parity.
- The current clone setup action records the resulting checkout by calling the
existing-folder setup path, so durable `setupMethod: cloned` semantics are not
complete while the compatibility projection remains repo-backed.
- Project-host setup records are still regenerated from repo compatibility
records. The setup method now persists through that projection, but the final
independent setup table is still future work.
Remaining end-to-end work: