Skip to content

Install Whiteboard on a host from Settings and connect its agents - #939

Draft
thesiti92 wants to merge 27 commits into
remote/5-remote-extension-host-guardfrom
remote/6-installer-connect
Draft

thesiti92 wants to merge 27 commits into
remote/5-remote-extension-host-guardfrom
remote/6-installer-connect

Conversation

@thesiti92

@thesiti92 thesiti92 commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Stacked PR 6 of 9 for remote reviews (base: remote/5-remote-extension-host-guard; #934, the rename, is merged). Review in order; each PR builds and passes its suites on its own.

Manual test plan

Purpose. Desktop installs its own version of Whiteboard (and Node 24 when missing) on a host after asking once, uploading through SSH when the host is offline, and refuses unsupported machines without writing. Settings offers Connect for agents found on the host, and Remove can also uninstall.

Setup. Worktree at origin/remote/6-installer-connect. No R install: R up fresh --node none; R up deny --node none; R up old --image debian:11 --node none; R up sealed --sealed --node none; R up node --node 24. Launch. The dev Desktop packs packages/review from the checkout, which has no vscode-server/, so these hosts show Language features: unavailable; that is expected here.

Steps.

  1. Add wb-test-fresh → the window asks Install Whiteboard on wb-test-fresh? with the space; Install → Settings walks the steps (preparing, Node 24, the package, checking, starting the server) → online.
  2. S wb-test-fresh 'ls ~/.dev/whiteboard-remote/versions ~/.dev/whiteboard-remote/node; ls -l ~/.local/bin/whiteboard; ls ~/.dev/whiteboard-remote/install.lock' → one version (Desktop's), v24.*, the launcher; no install.lock.
  3. S wb-test-fresh '~/.local/bin/whiteboard version' → Desktop's version.
  4. S wb-test-fresh 'PATH=$HOME/.local/bin:$(echo $HOME/.dev/whiteboard-remote/node/v*/bin):$PATH bash -s -- Fresh' < /tmp/wb-review.sh → Home lists wb-test-fresh: wbrepo.
  5. S wb-test-fresh 'mkdir -p ~/.codex', reopen Settings → Paste into Codex on wb-test-fresh: Run \whiteboard connect codex` …(nocodexon PATH). With Claude Code installed there and~/.claude`, Connect runs its own install (needs network).
  6. Add wb-test-sealed, Install → online; S wb-test-sealed 'curl -sm5 https://example.com' fails.
  7. Add wb-test-node, Install → online; ~/.dev/whiteboard-remote/node does not exist there.
  8. Remove wb-test-fresh, check Also remove Whiteboard from wb-test-fresh, Remove host → ~/.dev/whiteboard-remote and ~/.local/bin/whiteboard are gone, ~/.dev/review-api.db stays. Add it again → asked again.

Negative checks.

  • wb-test-deny → Don't install → not-installed with npm install -g @dev.fast/whiteboard@<version> and an Install button; Retry asks nothing; S wb-test-deny 'test ! -e ~/.dev/whiteboard-remote && echo clean' → clean.
  • wb-test-old → unsupported, This host runs glibc 2.31; Whiteboard needs 2.34 or newer., no question; S wb-test-old 'test ! -e ~/.dev && echo clean' → clean.
  • Set "review.remote.install": "never", R up nv --node none, add it → not-installed without a question.
  • Before step 8: S wb-test-fresh 'nohup sh -c "sleep 600 | ~/.local/bin/whiteboard mcp" >/dev/null 2>&1 &', then Remove with the box → Settings shows Process N runs from … Stop it, then run whiteboard remote uninstall again.; host removed from Desktop, nothing deleted.
  • S wb-test-fresh 'DEV_REVIEW_HOME=rel ~/.local/bin/whiteboard remote uninstall --keep-reviews' → refused DEV_REVIEW_HOME is "rel"; Whiteboard removes nothing …. Without --keep-reviews/--delete-reviews and --json → Say what happens to the saved reviews: ….
  • Upgrade, killed master mid-install, ARM64: journey remote-install (restores packages/review/package.json; see TESTING.md).

Cleanup. Common cleanup.

Common setup for all plans

Common setup (read once)

  • Test each PR in a worktree at its head branch: git -C <core> worktree add --detach ../review-prN origin/<head>, then pnpm install there. Run everything below from that worktree root.
  • Helpers (bash or zsh):
R() { node apps/review-desktop/scripts/e2e/remote/remote.mjs "$@"; }
export WB_TEST_RUN=manual-$$                  # before the first `R up`
S() { ssh -F /tmp/wbt.$WB_TEST_RUN/ssh_config "$@"; }   # host aliases are wb-test-<name>
H=/tmp/wb-home-$WB_TEST_RUN                   # isolated Desktop home
mkdir -p $H/review-desktop/state/user-data/User
echo '{"review.experimental.remoteHosts.enabled": true}' > $H/review-desktop/state/user-data/User/settings.json
awk '/createRemoteReview = String.raw`/{f=1;next} /^`;/{f=0} f' apps/review-desktop/scripts/e2e/journeys/remote-host.mjs > /tmp/wb-review.sh
sed -e 's/open\\":false/open\\":true/' -e 's/wbrepo/wbrepo2/g' /tmp/wb-review.sh > /tmp/wb-push.sh
edit() { printf '{"sessionId":"%s","edit":{"type":"insert","content":{"type":"markdown","markdown":"%s"}}}' "$2" "$3" | S "$1" 'whiteboard api session_edit -'; }
  • Launch (dev build only; a packaged build ignores both env vars): DEV_REVIEW_HOME=$H DEV_FAST_REVIEW_SSH_CONFIG=/tmp/wbt.$WB_TEST_RUN/ssh_config pnpm dev (prefix DEV_FAST_REVIEW_DESKTOP_BACKGROUND=1 to keep it from taking focus).
  • Desktop API: D=$(ls $H/review-desktop/instances/dev-*.json); URL=$(node -p "require('$D').url"); TOK=$(node -p "require('$D').token"); api() { curl -s -H "x-review-token: $TOK" "$URL$1"; }
  • A remote review: ID=$(S wb-test-a 'bash -s -- Remote-order' < /tmp/wb-review.sh | head -1) (repo ~/wbrepo, review "Remote-order" with a prose line and a code peek of f.ts). /tmp/wb-push.sh is the same with open: true in ~/wbrepo2.
  • Settings: ⌘, → region Remote hosts → type the alias in SSH alias → Add.
  • Fork unit tests: (cd apps/review-desktop && TSX_TSCONFIG_PATH=tsconfig.test.json node --import tsx --test --test-force-exit <files>). Package tests: pnpm --filter @dev.fast/whiteboard test <files>.
  • Journeys: stage a runtime per apps/review-desktop/scripts/e2e/TESTING.md ("Staging the runtime"), then node apps/review-desktop/scripts/e2e/run.mjs --runtime "$REVIEW_E2E_RUNTIME" --journey <name>.
  • The harness has pause/resume (there is no unpause).
  • Cleanup, every plan: quit Desktop first (its ssh masters count as leftovers), then R down --all; R verify-clean; rm -rf $H /tmp/wb-*.sh. Without an aws sso login session verify-clean also prints AWS could not be checked and exits 1; no other line may appear.

@thesiti92
thesiti92 added this pull request to stack #943 October 5, 2026 19:37
@thesiti92
thesiti92 force-pushed the remote/6-installer-connect branch from d078837 to 89f2742 Compare October 5, 2026 19:37
@thesiti92
thesiti92 force-pushed the remote/6-installer-connect branch 2 times, most recently from 87c4e4e to b53c1ce Compare October 5, 2026 20:19
@thesiti92
thesiti92 force-pushed the remote/6-installer-connect branch from b53c1ce to 1ac6d84 Compare October 5, 2026 20:33
@thesiti92
thesiti92 force-pushed the remote/6-installer-connect branch from 1ac6d84 to 079967d Compare October 5, 2026 20:40
@thesiti92
thesiti92 force-pushed the remote/6-installer-connect branch 2 times, most recently from 1ac6d84 to f043fdd Compare October 5, 2026 21:24
@thesiti92
thesiti92 force-pushed the remote/6-installer-connect branch 2 times, most recently from 59b0b5e to 922d17f Compare October 5, 2026 21:47
@thesiti92
thesiti92 force-pushed the remote/6-installer-connect branch 2 times, most recently from 0ffa2cf to 61f82b4 Compare October 6, 2026 01:07
@thesiti92
thesiti92 force-pushed the remote/6-installer-connect branch from 61f82b4 to 6f083bd Compare October 6, 2026 01:58
@thesiti92
thesiti92 force-pushed the remote/6-installer-connect branch 2 times, most recently from 2054690 to 94a3fa8 Compare October 6, 2026 03:46
@thesiti92
thesiti92 force-pushed the remote/6-installer-connect branch from 94a3fa8 to f30a4fe Compare October 6, 2026 15:57
@thesiti92
thesiti92 force-pushed the remote/6-installer-connect branch from 0968695 to a9f64e8 Compare October 6, 2026 16:16
Settings offers Retry to an unsupported host, which keeps its reason
and gets no install command.

Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
One POSIX sh script, run over the master, reports the platform, glibc,
the highest Node 24, whether the home is writable and the registry is
reachable, and the installed versions, and writes nothing. A host that
is not glibc 2.34 or later on Linux x64 or arm64 is refused with the
value found and the value needed. Container tests run with
WB_TEST_CONTAINERS=1.

Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
Release and preview runs stamp the package's integrity and Node's
checksums into product.json. A development build has no pin.

Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
A release build downloads what it pinned; a development build packs its
own checkout once per state. Each file is verified before it is cached
and again on each use.

Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
The bytes go over ssh's stdin into a `.part` file that the remote checks
by size and sha256 before renaming it. A remote that stops reading is a
stall.

Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
It fetches diffr into the state directory on its own, without starting
a server, and prints one JSON line.

Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
A loopback relay on the laptop, forwarded to the remote with `ssh -R`
for one install, serves only GET of a package document or a tarball
from the public registry.

Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
Under an install lock on the remote, Node and the package are downloaded
by the remote or uploaded from the laptop, checked against their pins,
and installed with npm in a work directory that becomes the version
only by its final rename. An abort leaves no version. The probe also
reports tar, xz and the hash tools.

Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
`remote attach --replace` stops a server of another version that the CLI
or Desktop started and starts this one. A server a user started, or a
newer one, is left and reported.

Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 3c56ee4b-7d34-4241-a764-5a4483290f12
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
The gateway reports the step Desktop is installing, a declined install
with its command, and an older version left after a failed upgrade.
Settings offers Install for a declined host and Retry after a failed
install.

Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 3c56ee4b-7d34-4241-a764-5a4483290f12
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
With `review.remote.install` on, a host is probed; without this
version, the user is asked once per host, the version is installed
beside any other, and its CLI attaches by its path with --replace. An
agreement is remembered by server id. A failed upgrade falls back to the
older version, and hosts are asked one at a time.

Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 3c56ee4b-7d34-4241-a764-5a4483290f12
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
`--detect` lists the harnesses whose configuration exists, judged by
each harness's own install record, and changes nothing. `--yes` runs one
harness's connect prompt commands, stops at a failed install, and
reports it connected only once its record says so.

Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 3c56ee4b-7d34-4241-a764-5a4483290f12
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
Desktop reads an online host's agents once after its first attach, with
the installed CLI. Settings offers the unconnected ones by Desktop's
names, connects them on request, and shows the result as plain text.

Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 3c56ee4b-7d34-4241-a764-5a4483290f12
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
It removes what Desktop installed on the host and its launcher, keeping
or deleting the review store as asked. It takes the install lock,
stops a server the CLI or Desktop started, and refuses while any other
process runs from the install.

Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 3c56ee4b-7d34-4241-a764-5a4483290f12
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
An install keeps itself, the newest and a version a process runs from,
and removes the rest, marker first.

Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 3c56ee4b-7d34-4241-a764-5a4483290f12
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
Desktop runs the newest installed version's own uninstall over the
host's master, keeping reviews, before the alias goes.

Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 3c56ee4b-7d34-4241-a764-5a4483290f12
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
…grity

The probe lists a version only when its marker names an npm integrity,
its Node runs and its CLI exists, as the installer judges it. Desktop
keys an installed version on that integrity, not on its version alone.
Node's directory is created only once Node is installed there.

Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 3c56ee4b-7d34-4241-a764-5a4483290f12
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
Nothing reconnects, attaches again or installs during the uninstall.
Afterwards the install answer is forgotten and the host closes once; a
failed uninstall keeps the answer and leaves the host to the setting.

Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 3c56ee4b-7d34-4241-a764-5a4483290f12
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
… remote

The journey installs on fresh containers: with and without Node, sealed,
refused, the other architecture, a dropped connection, a decline, an
upgrade, an agent connect and a removal.

Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 203ee435-a867-494c-bb56-ddde9edf962e
Agent-Session: 879f8dc8-4a2e-4c1d-a221-935df47f9854
Agent-Session: 01a0f84f-dd30-7a41-b2fe-0d7af3946366
Agent-Session: 01a0f894-9661-79c0-a6c4-71002d15105c
Agent-Session: 00102a68-dcd0-4748-a95e-fc417ddbb706
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 61ddd1f7-126b-4756-8f8e-ed5123004afa
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 3c56ee4b-7d34-4241-a764-5a4483290f12
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
…re uninstall

The CLI and the install scripts both place the install under
DEV_REVIEW_HOME or ~/.dev, and refuse a DEV_REVIEW_HOME the two ends
would spell differently. `remote uninstall` stops the VS Code server and
a detached extension install before its process scan, and refuses
before it stops anything.

Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 3c56ee4b-7d34-4241-a764-5a4483290f12
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
…eplace and --groups

remote uninstall reads the install root from the CLI's environment.

Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 3c56ee4b-7d34-4241-a764-5a4483290f12
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
…the groups

A hand-installed CLI of this version on PATH counts as installed, so the
host is not asked to install; Desktop's wrapper and its installs are
not that CLI. The probe's login-shell lookup is bounded and killed if it
ignores SIGTERM. An open install question is reported until answered.

Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: e425101a-67db-4ed4-8996-52d3b94079d1
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 3c56ee4b-7d34-4241-a764-5a4483290f12
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
…ded server check

The remote version pattern, install lock and agent names are defined
once in review-protocol. One helper judges the recorded background
server's pid for attach and uninstall. The install result's unread
fields go.

Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 6f4264ba-6e8e-4283-8a0d-c70b0912c75d
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 6aa25413-6ff2-4207-a23e-f435d86aeff7
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: 2843f7c1-df99-4190-ae44-e0bec53ffa49
Agent-Session: 01a1034a-9158-7d23-bc59-21b4a209a1d8
Agent-Session: ef4983e0-5b02-4105-b264-6ae48c727a8a
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
The gateway checks a host's version with the shared pattern.

Agent-Session: 10f346e1-a3d6-4004-b9ae-e69332b86ef7
Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 6f4264ba-6e8e-4283-8a0d-c70b0912c75d
Agent-Session: e8fb83ae-d61f-497d-8c6f-2949c5e4760b
Agent-Session: 6aa25413-6ff2-4207-a23e-f435d86aeff7
Agent-Session: 7d6b1dc9-dc43-474e-a7cf-897a3eb667e1
Agent-Session: 01a0fde5-5de7-7a00-8f1e-508af5d4455c
Agent-Session: 2843f7c1-df99-4190-ae44-e0bec53ffa49
Agent-Session: 01a1034a-9158-7d23-bc59-21b4a209a1d8
Agent-Session: ef4983e0-5b02-4105-b264-6ae48c727a8a
Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc
Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842
Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a
Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2
Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2
Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad
Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390
Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25
Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
…pt does

connected() reads OpenCode's whiteboard MCP entry; the old plugin entry still counts.

Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19
Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc
Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6
Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286
Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e
Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e
Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6
Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19
Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163
Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460
Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397
Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0
Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee
Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066
Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
@thesiti92
thesiti92 force-pushed the remote/6-installer-connect branch from a9f64e8 to c494aba Compare October 6, 2026 17:10

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant