Skip to content

Add no-lease C8R live transition rehearsal - #937

Merged
coneilen merged 11 commits into
mainfrom
coneilen-c8r-live-rehearsal
Oct 27, 2026
Merged

coneilen merged 11 commits into
mainfrom
coneilen-c8r-live-rehearsal

Conversation

@coneilen

@coneilen coneilen commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Adds an explicit no-lease LIVE_TRANSITION_REHEARSAL mode that runs the complete real C8R UIA/zmx/daemon transition sequence without creating or retaining images. The rehearsal found and fixes the remaining Restart fixture, observer, process-census, journal, and cleanup defects while remaining classified as non-capture evidence.

Changes

  • require a hash-bound non-capture rehearsal authorization and exact 185-case preflight while refusing capture leases, PNGs, capture reporting, and parity-ledger use
  • emit 36 immutable typed checkpoints plus a before-to-after transition record instead of calling PrintWindow
  • fix real Restart graph persistence, exact connection filtering, Swift enum event/state decoding, process path matching, transient job census, contained-job cleanup identity, and final checkpoint reference validation
  • compact rehearsal-only journal progress payloads while preserving the final manifest, complete transcript, terminal stdout binding, and zero-survivor release
  • document the mode, classification, required counts, and evidence limits

Test plan

RED: pwsh -NoProfile -File Tools\windows\Tests\UiCaptureDriver.Tests.ps1 -LiveTransitionRehearsalContractOnly -> 0/2 passed; real Swift Restart state and live transition mode were missing
GREEN: pwsh -NoProfile -File Tools\windows\Tests\UiCaptureDriver.Tests.ps1 -LiveTransitionRehearsalContractOnly -> 2/2 passed
REGRESSION: pwsh -NoProfile -File Tools\windows\Tests\ValidationRunner.Tests.ps1 -> UiScenario 166/166 and UiCaptureDriver 182/182 passed

Additional exact-source validation:

  • UiCaptureDriver.Tests.ps1 -RequireRealSeed ... -> 185/185 passed with pinned real zmx
  • validate.ps1 -Task hardening -> repeated hardening 3/3 passed
  • final no-lease live rehearsal -> 36/36 checkpoints, 22/22 seeds, 2/2 Restarts, 1/1 before-to-after transition, 0 images, 0 PNGs, RELEASED_ZERO_SURVIVORS
  • manifest SHA-256 93647D3B6892F200E0F40530A5C92DB316608E69471B957F6443AA681DDAB69B
  • release SHA-256 3AAE064BD361C9AE55C7DABB8EF49F0B51E51FE62F511FA8D77BAEA7F7072060
  • checkpoint aggregate SHA-256 0D9CFB7B6E9B59D4B9C982A2CEA8D90AF346A40ABEBEE39B3A41AFD2CB3491E4

Evidence limits: this run exercised real UIA, the pinned zmx provider, the real daemon, two Restart transitions, journal binding, and cleanup in the current DPI-192 RDP environment. It produced no images and is explicitly not capture evidence, privacy review, visual parity proof, or authorization for an official capture.

Checklist

  • I have read the Contributing Guidelines
  • I have signed off my commits (git commit -s) per the DCO
  • Tests pass locally (make test)
  • Code follows the existing style (make check)
  • I added the test/contract before the implementation and observed the intended RED failure

coneilen and others added 11 commits October 26, 2026 14:31
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
@coneilen
coneilen merged commit 8c85c64 into main Oct 27, 2026
26 checks passed
@coneilen
coneilen deleted the coneilen-c8r-live-rehearsal branch October 27, 2026 02:37
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