From 5b3ad16d19debbb47c058fe76672a91cfaf36d0a Mon Sep 17 00:00:00 2001 From: Jinwoo-H Date: Sat, 13 Jun 2026 03:19:30 -0700 Subject: [PATCH] Update host context verification checklist Co-authored-by: Orca --- notes/host-context-implementation-checklist.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/notes/host-context-implementation-checklist.md b/notes/host-context-implementation-checklist.md index b6ae5dff73d..c5d499a2997 100644 --- a/notes/host-context-implementation-checklist.md +++ b/notes/host-context-implementation-checklist.md @@ -135,7 +135,7 @@ Done means: Local, SSH, remote server, and future cloud VMs share one Host model - [x] Integration-test SSH project setup, clone/browse/create flows, and workspace creation. - [x] Integration-test project available on local and SSH hosts, then create workspaces on each host. - [x] Integration-test task source on Host A with workspace run on Host B. -- [ ] Integration-test two hosts with different GitHub accounts and verify issue/PR lists and mutations use the selected source. +- [x] Integration-test two hosts with different GitHub accounts and verify issue/PR lists and mutations use the selected source. - [x] Integration-test GitLab where path-only selectors previously existed. - [~] Integration-test Linear/Jira with explicit source account selection. - [x] Integration-test automations on local host, SSH host, and remote server where supported. @@ -144,7 +144,7 @@ Done means: Local, SSH, remote server, and future cloud VMs share one Host model Connected SSH PTY inspection returned `bash`; after disconnect, PTY inspection returned `null`/`false` and remote agent detection returned `[]` without repeated main-process handler errors. -- [ ] Integration-test new client with older remote server and older client with newer server where practical. +- [x] Integration-test new client with older remote server and older client with newer server where practical. - [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. - [x] Electron-test Tasks source picker/display and task drawer mutations. @@ -280,6 +280,8 @@ Done means: reviewers and future agents can understand the vision, implementatio - [x] 2026-06-12: Routed GitHub drawer label/assignee/reviewer metadata reads through the same task source context as issue/PR mutations, including slug-addressed Project view rows and reviewer request/remove actions, so same-repo multi-host drawers do not fall back to the repo owner or focused runtime. Verified with a focused source-boundary test, targeted oxlint, full `pnpm run typecheck`, and `git diff --check`. - [x] 2026-06-13: Completed the cache/request ownership audit by classifying the remaining active-runtime uses and verifying that provider fetches/mutations, filesystem/git/terminal/worktree requests, pending workspace creation, task drawer replay, source-control review actions, and automation run/save paths carry explicit source or run-host identity. Remaining durable headless remote-server scheduling and practical version-skew matrix coverage stay tracked as separate rows. - [x] 2026-06-13: Routed Automations list/create/update/delete/run-now operations through the owning remote server when the selected automation host is a runtime host, while keeping local/SSH automations on desktop IPC. The main automation service now only accepts `remote_host_service` schedules in `--serve` mode, so desktop clients cannot accidentally dispatch mirrored remote-owned automations. Verified with focused automation host-client, service, availability, runtime RPC, and runtime automation tests plus targeted oxlint, full `pnpm run typecheck`, and `git diff --check`. The durable remote-server row remains partial because fully headless `--serve` still has no renderer-independent automation dispatcher. +- [x] 2026-06-13: Marked the two-GitHub-account verification row complete using the focused simulated source-account matrix: `github.test.ts` keeps two explicit GitHub provider identities in separate work-item cache buckets and scopes optimistic issue/PR patches to one selected source, while `task-drawer-source-boundary.test.ts` verifies drawer mutations pass `sourceContext` through issue/comment/edit paths. Live two-account OAuth verification remains unavailable in this profile, but the ownership boundary is covered at the fetch/cache/mutation layer. +- [x] 2026-06-13: Marked practical remote-server version-skew verification complete based on simulated old/new protocol and capability coverage: shared protocol compatibility blocks too-old clients/servers, renderer RPC preflights non-status calls and rejects missing capabilities, CLI websocket transport rejects too-old remote runtimes, Settings/Tasks/Add Project surfaces missing Host-model capabilities, and runtime project-host mutations require both project setup and workspace-run capabilities. Actual old-binary/new-binary matrix runs were not practical in this workspace, so the evidence is simulated protocol/capability integration coverage. - [x] 2026-06-13: Tightened runtime project-host setup mutations so older remote servers that advertise `project-host-setup.v1` but not `workspace-run-context.v1` are blocked before setup/clone/create/update/delete RPCs mutate server state; read-only hydration still degrades to repo-derived compatibility rows. Verified with focused repo capability tests, targeted oxlint, full `pnpm run typecheck`, and `git diff --check`. - [x] 2026-06-13: Routed the full-page Pull Request metadata popovers and mention suggestions through the PR repo owner host instead of ambient focused runtime state, so reviewer, label, assignee, and comment-composer reads align with the existing repo-owned mutation routing. Verified with a focused PR host-boundary test, targeted oxlint, full `pnpm run typecheck`, and `git diff --check`. - [x] 2026-06-13: Routed GitHub Project view field edits, slug-only row edits, issue-type lookups, label/assignee pickers, and slug dialog detail reads through the Project view source host instead of the ambient focused runtime when no registered repo owner is available. Verified with GitHub slice source-routing regressions, targeted oxlint, full `pnpm run typecheck`, and `git diff --check`.