Skip to content

R6.5 migration tool + VM pilot fixture - #250

Merged
PLN merged 4 commits into
mainfrom
cursor/r65-migration-tool-7d42
Sep 23, 2026
Merged

PLN merged 4 commits into
mainfrom
cursor/r65-migration-tool-7d42

Conversation

@PLN

@PLN PLN commented Sep 23, 2026 •

Copy link
Copy Markdown
Owner

Tracks #249. This does not start R7. A3 / R4.4 stay deferred. #245 is closed separately.

Summary

  • Adds tools/migrate, a separate operator command for discover, backup, dry-run, fail-closed conflicts, apply handoff, health, and inverse/rollback. It is not an MSI custom action and it does not call winunitd install or winunitd uninstall. The caller supplies the MSI path.
  • Adds a disposable VM pilot fixture at tools/migrate/fixture (alice, bob, and carol only). It mimics a Task Scheduler interactive pilot plus a unit/enable tree. It does not install Hermes, register real tasks, or embed a package.
  • The fixture clears expected non-zero migrate codes and exits 0 after r65-fixture-pass. The journal storage-stall capture test waits 30 seconds to recover after storage resumes.
  • R6.5 is checked from native evidence 4223ac9-r65-migrate on tip f4e6c477ada211cf5df736a16ea7685a612412a4. That guest run was not repeated on later commits. -execute-msi stays unqualified. Overall R6 stays open for deferred-media and deferred-older-msi. TestAcceptanceAlphaGates expects that checked R6.5 box.

Remaining for overall R6

  • deferred-media and deferred-older-msi, as listed in docs/R6-EVIDENCE.md and docs/MILESTONES.md. No OlderMsi / ProductVersion is invented.

Test plan

  • go test ./tools/migrate
  • go test -race -parallel 1 ./internal/journal
  • Staticcheck ./tools/migrate on linux and windows
  • Fixture sequence prints r65-fixture-pass and the process exits 0, including the injected-failure and fail-closed dry-run steps
  • Native disposable-VM run recorded under 4223ac9-r65-migrate on tip f4e6c477ada211cf5df736a16ea7685a612412a4
  • go test ./tests/installer -run TestAcceptanceAlphaGates
Open in Web Open in Cursor 

cursoragent and others added 4 commits September 23, 2026 07:57
The command covers discover, backup, dry-run, fail-closed conflicts,
handoff, health, and rollback on a disposable alice/bob/carol fixture.
Native guest evidence stays unverified. R7 is not started.

Co-authored-by: PLN <PLN@users.noreply.github.com>
Staticcheck SA4023 treated the non-Windows service stubs as never
returning a nil error. Callers now pass whether live control was
requested, and those functions return nil when it was not.

Co-authored-by: PLN <PLN@users.noreply.github.com>
The fixture clears expected migrate non-zero codes and exits 0 after
r65-fixture-pass. The storage-stall capture test waits 30s to recover.
Native evidence 4223ac9-r65-migrate is the f4e6c47 guest run; R6.5 is
checked and overall R6 stays open.

Co-authored-by: PLN <PLN@users.noreply.github.com>
TestAcceptanceAlphaGates requires the R6.5 checkbox and verified
evidence 4223ac9-r65-migrate. Overall R6 stays open.

Co-authored-by: PLN <PLN@users.noreply.github.com>
@PLN
PLN merged commit 4bf1bea into main Sep 23, 2026
3 checks passed
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.

2 participants