Skip to content

Verify Show in Graph action and workspace return through UI Automation - #449

Merged
coneilen merged 2 commits into
mainfrom
coneilen-microsoft-daily-navigation-parity
Sep 25, 2026
Merged

coneilen merged 2 commits into
mainfrom
coneilen-microsoft-daily-navigation-parity

Conversation

@coneilen

Copy link
Copy Markdown
Collaborator

Summary

Extends the Windows UIA gate from checking Show in Graph's presence to exercising
the actual loop-bar action and verifying its navigation result.

  • Invokes the workspace Show in Graph element through InvokePattern.
  • Requires the exact selected loop card identity and selected state.
  • Asserts workspace-chrome absence against the same successfully enumerated
    graph children used for the positive destination check.
  • Returns through the supported sidebar loop action, requiring the same selected
    card, project toolbar, loop bar, and Show in Graph identities.
  • Reacquires downstream navigation providers after the round trip.
  • Shares the existing COM/ElementNotAvailable retry classification with root
    reconnection and propagates other errors immediately.
  • Clears graph results when the graph is missing, avoiding mixed-generation output.

Changes only uia-live-gate.ps1 and the Show in Graph parity-ledger row.
No product code change was needed. The row remains Partial.

Focused live evidence

Both variants used the same focused harness, fixture setup, and assertions.
The negative variant disabled only the Show in Graph invocation.

RED: run with -DisableShowInGraphAction -> exit 1 at the unchanged assertion
"Show in Graph retained workspace chrome".

GREEN: run with the action enabled -> exit 0 after verifying the exact selected
loop's graph destination and sidebar return to the same workspace.

REGRESSION: compare the focused harness with the integrated gate -> target
assertions are preserved; PowerShell parsing and CRLF-aware diff checks pass.

The coordinator inspected the harness differences, actual paired logs, runner
results, and recorded log hashes.

Isolation and provenance

Each run used a separate ZMX_DIR, ZMX_SESSION_PREFIX, GraphCode daemon pipe,
support directory, LOCALAPPDATA, logs, and working directory. Shell and providers
were built from own-worktree pinned prerequisites.

Neither run timed out. Run-provenance cleanup reported zero attributable surviving
processes; ambiguous pre-existing processes were left untouched.

Evidence identity:

  • Source gate SHA-256: AE4A2C71...
  • Focused harness SHA-256: 78E6821E...
  • Shell SHA-256: 8E0AA9E7...
  • Positive stdout SHA-256: E94DCA9D...
  • Negative stderr SHA-256: 3198914D...
  • Evidence bundle: show-in-graph-20260924-151455

Harness, runner, manifest, and logs are preserved in the author session's local
evidence artifacts, not committed to this PR.

Limitations

  • This was a focused live run, not a full integrated-gate pass.
  • The focused harness returned before the new downstream-provider rebinding block,
    so that block has not been live-validated by this pair.
  • Native Loop-menu invocation remains unverified.
  • Full-gate teardown behavior was not validated by the focused cleanup.
  • Retry attempt counts are not strict wall-clock deadlines.

Reviewed head: b8140f1.
The commit includes the required sign-off and co-author trailers.

coneilen and others added 2 commits September 24, 2026 15:19
Add exact action/result and same-loop return assertions to the Windows UIA gate, and record the focused RED/GREEN evidence while retaining Partial parity status.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>
Signed-off-by: Colin Neilens <coneilen@microsoft.com>

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@coneilen
coneilen merged commit 7ac1fad into main Sep 25, 2026
10 of 11 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.

1 participant