- **Avalonia 12 accessibility-upgrade feasibility (2026-10-08, isolated spike, code head `149fa5c`).** Avalonia 12.1.3 exposes Linux AT-SPI support when the desktop session provides D-Bus and an accessibility service, so it could close a documented Linux accessibility gap. A separate worktree upgraded the app and headless tests to Avalonia 12.1.3, used the available Markdown.Avalonia 12 prerelease, and migrated the test project to xUnit v3. Setting `AvaloniaUseCompiledBindingsByDefault` to `false` restores the attached-project Auto-label and expanded background-command tests that use mock view models; this preserves prior binding behavior while deferring a compiled-binding migration. Capping the Plan/Code task header buttons at 12px keeps the header compact at maximum font size. The full Avalonia suite passes: 64 passed, 0 failed, and 12 opt-in live tests skipped. Avalonia 12 did not reliably jump from the transcript end to a distant virtualized message with `ItemsControl.ScrollIntoView` alone; estimating the target offset, laying out there, and then calling `ScrollIntoView` fixes the regression. The strengthened UI test covers an earlier result in a transcript with uneven message lengths. Windows/Linux/macOS CI [#37752698065](https://github.com/jay23606/codev/actions/runs/37752698065) passed at review head `62d95c2`, including Avalonia headless UI tests on all three operating systems, portable test matrices, and the Windows credential-vault smoke. The four-RID package preview at code head `fc25aeb` [#37750507228](https://github.com/jay23606/codev/actions/runs/37750507228) passed for win-x64, linux-x64, osx-arm64, and osx-x64, including packaged Auto/local-chat interaction checks; publishing was skipped because this is an unmerged spike branch. Its Linux packaged check starts the app in a D-Bus session under Xvfb and queries the AT-SPI tree, finding the composer and send button by their accessible names. At code head `149fa5c`, the follow-up Linux check [#37751492456](https://github.com/jay23606/codev/actions/runs/37751492456) also found Search conversations and confirmed AT-SPI reports it focused after Ctrl+F; the complete four-RID package preview passed for Windows x64, Linux x64, macOS Apple silicon, and macOS Intel, with publishing skipped for the unmerged spike. A later packaged preview added Orca to the Linux Xvfb session and verified its debug trace processed the Search conversations focus event. The exact-head four-platform preview [#37758589411](https://github.com/jay23606/codev/actions/runs/37758589411) passed at `c833799`; Windows, Linux, Apple silicon, and Intel package checks succeeded, while public release publishing was skipped for the unmerged spike. This verifies that Orca processed the AT-SPI focus event in the hosted session, not that the field's label was spoken; native screen-reader speech, Markdown rendering, and behavior on a native desktop remain unverified. Keep the migration out of Release 1. Rebased follow-up head `b4c57de` was revalidated on 2026-10-08: [Windows CI](https://github.com/jay23606/codev/actions/runs/37805789384) passed the portable suites and Avalonia headless UI on Windows, Linux, and macOS; the [four-RID package preview](https://github.com/jay23606/codev/actions/runs/37805793301) passed packaged Windows, Linux, Apple silicon, and Intel app/CLI checks. Linux additionally passed AT-SPI control/focus assertions and Orca focus-event processing. The release-publish job was skipped because this was a manual preview run. The post-xUnit-v3 live Orchestrator regression was in the test attribute, not the app: its custom opt-in fact had stopped using Avalonia's dispatcher-aware discoverer. Applying `AvaloniaFactDiscoverer` via xUnit v3's `XunitTestCaseDiscovererAttribute` restored UI-thread execution, and the real Qwen3.6 run passed in 57 seconds with two Ask children running concurrently in distinct managed worktrees and reading their separate fixture values. At code head `b356146`, exact-head Windows/Linux/macOS CI [#37841615978](https://github.com/jay23606/codev/actions/runs/37841615978) and the four-RID packaged preview [#37841615852](https://github.com/jay23606/codev/actions/runs/37841615852) passed; publishing skipped because PR #10 is unmerged. PR #10 merged on 2026-10-08; spoken screen-reader output on physical desktops, Markdown rendering, and native interaction remain follow-up checks before a release decision.
0 commit comments