Repository navigation
Bind action phases to source-derived capture window identities - #951
Merged
Merged
Conversation
Signed-off-by: Colin Neilens <coneilen@microsoft.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
3 of 5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bind action phases explicitly to their source-derived capture window identities so Wire completion cannot look up a nonexistent
wire-completioncapture key. Reject missing, foreign, stale or mismatched bindings before launch, without weakening process custody or action authority.Changes
NO_PROCESS_LAUNCHES, not a held-exit claim.Test plan
RED: pwsh -NoProfile -File Tools\windows\Tests\ActionWindowIdentity.Tests.ps1 -ScratchRoot C:\gcbi\red -> FAILED: The property 'wire-completion' cannot be found on this object. Actual production geometry lookup with only before/after keys; behavioral failure, not a compile failure.
GREEN: pwsh -NoProfile -File Tools\windows\Tests\ActionWindowIdentity.Tests.ps1 -ScratchRoot C:\gcbi\binding57 -> 57/57 passed, failed=0, skipped=0.
REGRESSION: pwsh -NoProfile -File Tools\windows\Tests\ValidationRunner.Tests.ps1 -> PASS, including UiCaptureDriver 182/182, ActionWorkerImport 18/18 and ActionWindowIdentity 57/57, zero skips.
pwsh -NoProfile -File Tools\windows\Tests\ActionWorkerImport.Tests.ps1 -ScratchRoot C:\gcbi\entry18-> 18/18 passed; actual accepted production entry and zero-launch setup refusal.pwsh -NoProfile -File Tools\windows\Tests\UiCaptureDriver.Tests.ps1 -PrepareFixturesOnly -ScratchRoot C:\gcbi\prebuilt57-> passed; final-source frozen fixture manifest SHA25673432C3F1399B26EB1FABF76D6F6B18C0D87D1B434DF32601BB0B96B4C9D4AB3.pwsh -NoProfile -File Tools\windows\Tests\UiCaptureDriver.Tests.ps1 -ScratchRoot C:\gcbi\baseline182 -PrebuiltFixtureManifest C:\gcbi\prebuilt57\fixtures.json -PrebuiltFixtureManifestSha256 (Get-FileHash C:\gcbi\prebuilt57\fixtures.json).Hash-> 182/182 passed, failed=0, skipped=0.pwsh -NoProfile -File Tools\windows\Tests\UiCaptureDriver.Tests.ps1 -ScratchRoot C:\gcbi\real185 -PrebuiltFixtureManifest C:\gcbi\prebuilt57\fixtures.json -PrebuiltFixtureManifestSha256 (Get-FileHash C:\gcbi\prebuilt57\fixtures.json).Hash -RequireRealSeed -RealSeedZmxPath C:\gca-providers\zmx\zig-out\bin\zmx.exe -RealSeedZmxSha256 (Get-FileHash C:\gca-providers\zmx\zig-out\bin\zmx.exe).Hash-> 185/185 passed, failed=0, skipped=0; provider checkout verified at pinned785b3fd15dcafd1882b495c831a10f98c201b908.pwsh -NoProfile -File Tools\windows\validate.ps1 -Task hardening-> deterministic repeated runs 3/3 passed; environment/product hardening not run.pwsh -NoProfile -File Tools\windows\validate.ps1 -Task privacy-> passed.& Tools\windows\Invoke-MatchedActionSupplement.ps1 -Repository (Get-Location).Path -OwnedRoot C:\gcbi\production-failed-job -ActionPlanPath C:\gcbi\production-failed-job\action-plan.json -ActionPlanSha256 8B6B0CCC27A077E817B52FE17BF366D1E6EB574BE080C9404D99253EAE1625A5 -DryRun-> unmodified production entry completed on clean committed source, using the unchanged failed-job bytes (SHA256A70EAA7EE7E7BE805DB1C52B2A2ACA82860DE06F99C9D1FA32730409EDBD97CC). Six nonnull bound identities, including Wire completion, validated before the harmless launcher; restored same-process PMv2 DPI192, physical work area 3840x2064, adjusted outer 2906x1910, no resampling. Five numbered publications, held job empty and launcher stdout/stderr EOF; releaseRELEASED_ZERO_SURVIVORS. No target-private-EOF claim.C:\gcbi\production-failed-job\production-entry-evidence.json, SHA25660288A090BC5578158FCFE122A20C1B2100E4218571015370D92FB0A2D1424E8. Independently verified all 20 inventory artifacts and the five-publication predecessor/hash/authority chain.git diff origin/main...HEAD --check-> passed.git ls-files --eol-> all 9 touched committed blobs and working files LF.Evidence limits: the RED reproduces the proven namespace mismatch, not the unavailable original throwing stack. Early source-changing/stale-fixture refusals and a real 180/182 scene-routing regression were retained; that regression was fixed and fresh complete suites passed. Superseded interrupted runs are not counted as passes. One early log filename was accidentally reused; its complete original tool output was recovered byte-for-byte into a separate retained artifact. Both historical failure bundles and raw roots remain unchanged.
No W1-W6 product actions, product/provider action-campaign launches, PNGs, C8R campaign, product source changes or parity promotions. Real-zmx launches above are isolated qualification fixtures only. The dry run is
DRY_RUN_NO_AUTHORITY, not current action authorization, runtime product-window proof, native interaction proof or parity evidence. macOSmake test/make checkwere not run on this Windows host; path-gated CI cannot establish cross-platform runtime parity.Checklist
git commit -s) per the DCOmake test)make check)