agent-desktop/docs
Lahfir 96ecaf4e6d test: host the uia fixture window in a second process
Sub-phase 2.2 unit U4, plus U1's ledger rows and U9's document corrections.

A window the test process creates itself is served by in-process client-side
providers, so the failure taxonomy the walker exists to classify is
structurally unreachable from it, and a cache policy validated there is
validated against exactly the provider class the policy says to skip. The
default fixture therefore re-executes the test binary against one ignored
entry point and hosts the window in that second process; the in-process
variant is retained only for teardown and concurrency tests.

UI Automation calls are issued only from threads that own no fixture window,
because ElementFromHandle sends WM_GETOBJECT and a cross-thread SendMessage
blocks until the receiving thread pumps. The class name is unique per fixture
so parallel tests cannot collide on ERROR_CLASS_ALREADY_EXISTS, and the host
process carries a watchdog so a crashed parent cannot strand a window on a
shared runner.

The ledger gains area 14. Two rows change what was planned. A14-4: with the
host process killed, get_first_child surfaces E_FAIL while get_next_sibling
returns the exact pair a live provider returns at end-of-list, so no walker
can detect mid-walk process death from the sibling terminator. A14-8: the
minimized-window geometry rule reproduces on the COM stack, but A1-2's
IsOffscreen-false clause does not - the minimized top level reports true while
every descendant reports false, so a container's value says nothing about its
subtree.

phases.md gains the five corrections U9 owns. The new_direct() reason was
wrong in two places rather than one; both now carry the source-verified
reason. The hunk index moves with them, 43 to 46.
2026-07-28 01:41:46 -06:00
..
brainstorms chore: track planning artifacts with secret and privacy scanning (#109) 2026-07-26 01:41:55 -07:00
plans test: host the uia fixture window in a second process 2026-07-28 01:41:46 -06:00
solutions refactor!: remove speculative Win32 private-file layer from core, add real Windows/Linux test lanes (#106) 2026-07-25 23:25:28 -07:00
architecture.excalidraw docs: add architecture diagram to README 2026-02-24 06:22:52 -08:00
architecture.html refactor!: unify command execution contracts 2026-05-19 18:27:08 -07:00
architecture.png refactor!: unify command execution contracts 2026-05-19 18:27:08 -07:00
example.html refactor!: unify command execution contracts 2026-05-19 18:27:08 -07:00
example.png refactor!: unify command execution contracts 2026-05-19 18:27:08 -07:00
faq.md feat!: implement Playwright-grade foundation contract 2026-07-20 00:21:38 -07:00
json-output.md feat!: implement Playwright-grade foundation contract 2026-07-20 00:21:38 -07:00
phases.md test: host the uia fixture window in a second process 2026-07-28 01:41:46 -06:00