Files
xenia-rs/audit-runs/phase-c20-rtl-enter-cs-wait/cold-vs-cold-result.md
MechaCat02 ef93a4fa14 handoff: VSync/event-wedge fixes + iterate 2.A–2.BC research notes
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>
2026-06-05 07:19:08 +02:00

1.8 KiB
Raw Blame History

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).