Merge nucleic/lucid-river-toad-6efj into dev

This commit is contained in:
2026-07-29 04:04:16 -07:00
parent f5cd4a3023
commit 0f720d8328
5 changed files with 514 additions and 31 deletions
+5 -5
View File
@@ -180,11 +180,11 @@ for, and nothing above it should move. These three are different:
mounted vs. in-VM). Deliberately held back until `WslcApiDump` has run: written now, against
guessed names, it would not compile, and fixing it blind is the mistake this whole approach
exists to avoid.
- **The internal arm, Tier 1 — "recover"** (`WslcInternal.cs` in the broker, not a spike).
Everything it needs is confirmed on hardware: entry point, vtable, impersonation, and
`OpenSessionByName`. On broker restart, open the orphaned session, `ListContainers` for
reporting, `Terminate` it, and create a fresh one through the compat SDK — automatic clean
recovery instead of a manual `wsl --shutdown`. Enough for M2.
- ~~**The internal arm, Tier 1 — "recover"**~~ **written**: `windows/NucleicBroker/Wslc/WslcInternal.cs`.
On broker restart it opens the orphaned session, lists its containers for the log, terminates
it, and lets the facade start fresh — automatic clean recovery instead of a manual
`wsl --shutdown`. Still needs one live test: kill a broker mid-session and confirm the next one
recovers (see below).
- **Tier 2 — "adopt"** (keep containers running across a broker restart) is **blocked**. The
`Session.FromAbi()` handoff throws `InvalidCastException` even though the QI to
`IWSLCCompatSession` succeeds: the WinRT layer appears to be a client-side wrapper in