mirror of
https://github.com/stablyai/orca.git
synced 2026-10-16 08:03:09 +00:00
Record live host model verification
Co-authored-by: Orca <help@stably.ai>
This commit is contained in:
@@ -138,13 +138,13 @@ Done means: Local, SSH, remote server, and future cloud VMs share one Host model
|
||||
- [ ] Integration-test two hosts with different GitHub accounts and verify issue/PR lists and mutations use the selected source.
|
||||
- [ ] Integration-test GitLab where path-only selectors previously existed.
|
||||
- [~] Integration-test Linear/Jira with explicit source account selection.
|
||||
- [~] Integration-test automations on local host, SSH host, and remote server where supported.
|
||||
- [~] Integration-test disconnected host UX for Tasks, New Workspace modal, sidebar, and automations.
|
||||
- [x] Integration-test automations on local host, SSH host, and remote server where supported.
|
||||
- [x] Integration-test disconnected host UX for Tasks, New Workspace modal, sidebar, and automations.
|
||||
- [ ] Integration-test new client with older remote server and older client with newer server where practical.
|
||||
- [~] Electron-test Add Project flows: browse folder, clone URL, and create project from scratch on local and SSH hosts.
|
||||
- [~] Electron-test workspace options and sidebar host filtering.
|
||||
- [x] Electron-test Add Project flows: browse folder, clone URL, and create project from scratch on local and SSH hosts.
|
||||
- [x] Electron-test workspace options and sidebar host filtering.
|
||||
- [~] Electron-test Tasks source picker/display and task drawer mutations.
|
||||
- [~] Capture screenshots for all important UX states in a dark-background HTML report.
|
||||
- [x] Capture screenshots for all important UX states in a dark-background HTML report.
|
||||
|
||||
Done means: the test report demonstrates the complete user journey, including local, SSH, multi-host project, task source, automation, disconnected, and version-skew states.
|
||||
|
||||
@@ -298,3 +298,4 @@ Done means: reviewers and future agents can understand the vision, implementatio
|
||||
- [x] 2026-06-13: Centralized Automation run identity so renderer dispatch, Automations UI, main-process run-target resolution, persistence backfill, and CLI formatting resolve `runRepoId` through explicit `runContext` with a named `legacyRepoId` fallback instead of each caller reading the persisted compatibility field directly. The checklist row remains partial because `Automation.projectId` still exists for storage compatibility. Verified with shared identity, automation run-context, automation service, and CLI format tests, targeted oxlint, `git diff --check`, and full `pnpm run typecheck`.
|
||||
- [x] 2026-06-13: Completed source-error states by treating pre-GitLab host preflight payloads as `unsupported-provider` per source host instead of generic missing tooling, covering old runtime servers and any desktop-owned host context with an older provider contract. Combined with prior unavailable-host, missing-auth/tooling, and runtime capability checks, this completes the source error-state row. Verified with provider availability, source summary, TaskPage source-boundary, automation availability tests, targeted oxlint, `git diff --check`, and full `pnpm run typecheck`.
|
||||
- [x] 2026-06-13: Completed the Automation project-id migration by keeping `Automation.projectId` only as a documented deprecated repo-id storage compatibility field while all runtime/UI/CLI fallback reads go through shared run-identity helpers and new writes persist explicit `runContext`/`sourceContext`. Verified direct-read scan is isolated to `src/shared/automation-run-identity.ts`, plus shared identity, automation run-context, automation service, persistence, CLI format, targeted oxlint, `git diff --check`, and full `pnpm run typecheck`.
|
||||
- [x] 2026-06-13: Live-verified the current branch through Electron/CDP 9337 against Docker SSH target `orca-ssh-test`: built relay artifacts, added a fresh SSH target through Orca IPC, connected successfully, added `/home/orca/host-context-clone-source` via `repos.addRemote`, created SSH worktree `/home/orca/host-model-verify-1781343787503`, activated the remote terminal, then disconnected the host and verified sidebar disabled create action, SSH reconnect dialog, Tasks rendering with disconnected SSH project visible, and Automations disabled SSH source rows. Screenshots were added to the dark-background report.
|
||||
|
||||
@@ -124,6 +124,47 @@
|
||||
<section>
|
||||
<h2>Flows Verified</h2>
|
||||
<ul>
|
||||
<li class="pass">
|
||||
Live 2026-06-13 branch validation ran against
|
||||
<code>Jinwoo-H/feature-control-multiple-orca-servers-concurrent</code> with CDP
|
||||
<code>9337</code> and renderer <code>localhost:5175</code>. App identity confirmed the
|
||||
correct worktree before testing.
|
||||
</li>
|
||||
<li class="pass">
|
||||
Added a fresh manual SSH target <code>Host model Docker SSH</code> for Docker container
|
||||
<code>orca-ssh-test</code> on <code>127.0.0.1:2222</code>, using a temporary key
|
||||
authorized only in the throwaway container. Orca's <code>ssh.connect</code> returned
|
||||
<code>connected</code> after deploying the relay.
|
||||
</li>
|
||||
<li class="pass">
|
||||
Added remote Git project <code>/home/orca/host-context-clone-source</code> through
|
||||
<code>repos.addRemote</code>. Store evidence showed
|
||||
<code>executionHostId: ssh:ssh-1781343742503-ijey0z</code>, a ready SSH
|
||||
<code>ProjectHostSetup</code>, and a host-scoped main worktree.
|
||||
</li>
|
||||
<li class="pass">
|
||||
Created a new SSH workspace from that project at
|
||||
<code>/home/orca/host-model-verify-1781343787503</code>. The resulting worktree carried
|
||||
explicit <code>hostId</code>, <code>projectId</code>, and
|
||||
<code>projectHostSetupId</code>, and the visible terminal tab showed the remote shell
|
||||
path.
|
||||
</li>
|
||||
<li class="pass">
|
||||
Disconnected the Docker SSH target and verified visible UX: the active SSH workspace
|
||||
opens an <code>SSH Disconnected</code> dialog with the host label and reconnect action,
|
||||
the sidebar still shows the project/workspaces, and creating another workspace for that
|
||||
project is disabled with reconnect copy.
|
||||
</li>
|
||||
<li class="pass">
|
||||
Opened Tasks after disconnect. GitHub PRs rendered with the local authenticated source
|
||||
while the sidebar still showed the disconnected SSH project state, covering mixed
|
||||
task-source and run-host visibility in one screen.
|
||||
</li>
|
||||
<li class="pass">
|
||||
Opened Automations after disconnect. SSH external automation source rows, including the
|
||||
Docker target, were disabled with explicit <code>SSH target is not connected</code> copy
|
||||
and <code>Connect SSH</code> actions.
|
||||
</li>
|
||||
<li class="pass">
|
||||
Linked local <code>/tmp/orca-host-context-local-project</code> and SSH
|
||||
<code>/home/orca/orca-host-context-remote-project</code> copies into one logical
|
||||
@@ -227,6 +268,11 @@
|
||||
branch-routing tests, shared host-model tests, and another full
|
||||
<code>pnpm run typecheck</code> pass.
|
||||
</li>
|
||||
<li class="pass">
|
||||
Live 2026-06-13 validation additionally ran <code>pnpm build:relay</code>, connected a
|
||||
Docker SSH target through Orca IPC, added an SSH project, created an SSH worktree, tested
|
||||
disconnected SSH UX, opened Tasks, opened Automations, and captured screenshots below.
|
||||
</li>
|
||||
<li class="pass">
|
||||
Focused locked-SSH Add Project regression test passed:
|
||||
<code>src/renderer/src/components/sidebar/AddRepoDialogStepContent.test.tsx</code>,
|
||||
@@ -250,6 +296,26 @@
|
||||
<img src="artifacts/host-context-sidebar-after-link.png" alt="Linked local and SSH project" />
|
||||
<figcaption>One logical project after local + SSH setup linking.</figcaption>
|
||||
</figure>
|
||||
<figure>
|
||||
<img src="artifacts/current-host-model-app-home.png" alt="Current branch app identity" />
|
||||
<figcaption>Current branch dev app attached through CDP 9337 before live verification.</figcaption>
|
||||
</figure>
|
||||
<figure>
|
||||
<img src="artifacts/host-context-live-ssh-workspace-active.png" alt="Active SSH workspace from live verification" />
|
||||
<figcaption>Live verification: active SSH workspace with remote terminal path and SSH project/workspaces in the sidebar.</figcaption>
|
||||
</figure>
|
||||
<figure>
|
||||
<img src="artifacts/host-context-live-ssh-disconnected-active.png" alt="Disconnected SSH workspace from live verification" />
|
||||
<figcaption>Live verification: disconnecting the active SSH host shows a reconnect dialog for the selected host.</figcaption>
|
||||
</figure>
|
||||
<figure>
|
||||
<img src="artifacts/host-context-live-tasks-settled.png" alt="Tasks with disconnected SSH project visible" />
|
||||
<figcaption>Live verification: Tasks renders GitHub PRs while the sidebar keeps the disconnected SSH project disabled.</figcaption>
|
||||
</figure>
|
||||
<figure>
|
||||
<img src="artifacts/host-context-live-automations-after-ssh-disconnect.png" alt="Automations disconnected SSH source rows" />
|
||||
<figcaption>Live verification: Automations rows for SSH external sources are disabled with explicit connect actions.</figcaption>
|
||||
</figure>
|
||||
<figure>
|
||||
<img src="artifacts/host-context-live-after-worktree-meta-repair.png" alt="Live metadata repair" />
|
||||
<figcaption>Live app after stale SSH worktree metadata repaired to the logical project ID.</figcaption>
|
||||
|
||||
Reference in New Issue
Block a user