Source changes (dormant parity infra, retained from iterate 2.AI/2.AO): - xenia-kernel/exports.rs: nt_create_event manual_reset polarity + related event wiring - xenia-gpu/mmio_region.rs: D1MODE_VBLANK_VLINE_STATUS hardcode parity Also lands the audit-runs/ analysis notes (.md/.txt/.json digests) for the iterate 2.x VSync/0x10e8/0x1004 wedge investigation. Raw trace dumps (.jsonl/.gz/.csv/.stdout) and agent worktrees (.claude/) are gitignored as regenerable local artifacts — see memory + HANDOFF for the running findings. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.8 KiB
Phase C+20 cold-vs-cold result (2026-05-14)
No engine changes
C+20 produces NO source modifications to either xenia-rs or
xenia-canary. The session was a verify-only iteration concluding
in an escalation decision (see investigation.md).
Matched-prefix table (vs C+19 baseline)
| chain | C+19 | C+20 | delta |
|---|---|---|---|
| canary tid=6 → ours tid=1 main | 104,606 | 104,606 | 0 |
| canary tid=4 → ours tid=11 | 11 | 11 | 0 |
| canary tid=7 → ours tid=2 | 32 | 32 | 0 |
| canary tid=12 → ours tid=7 | 3 | 3 | 0 |
| canary tid=14 → ours tid=9 | 41 | 41 | 0 |
| canary tid=15 → ours tid=10 | 16 | 16 | 0 |
Cold-stable digest
e1dfcb1559f987b35012a7f2dc6d93f5 — unchanged from C+13/C+15-α
/C+16/C+17/C+18/C+19 (no source changes; digest cannot drift).
Phase B image hash
ea8d160e9369328a5b922258a92113efb8d7ce3e1a5c12cc521e375985c91c18 —
unchanged (no source changes).
Tests
Kernel: 204 PASS (unchanged from C+19, no test additions).
Canary non-determinism observation (NEW — RE class #32)
Cross-validated across 3 fresh canary cold jsonls
(canary-jitter-{1,2,3}.jsonl from C+19 jitter probe, all wiped-cache
cold). At tid=6 idx 104,606:
- jitter-1:
wait.begin sid=75ae880ec432eb36 timeout=-1 - jitter-2:
kernel.return RtlEnterCriticalSection rv=0← matches ours - jitter-3:
kernel.call RtlLeaveCriticalSection(offset shift; the wait.begin moved to idx 104,603 with a different SID)
The contention pattern in canary's RtlEnterCriticalSection is
host-scheduler-dependent. The matched-prefix metric is unreliable in
this region.
Outcome
ESCALATE to scheduler-determinism track (separate session, larger scope).