# Phase C+13 broad-impact assessment ## Resolved | event | before | after | |---|---|---| | Main idx 103862 `NtCreateFile(game:\\dat\\files.tbl)` | ours=`0x00000000` (synth-success) / canary=`0xc0000034` | ours=`0xc0000034` matches canary bit-for-bit | ## Advanced | metric | before | after | delta | |---|---|---|---| | Main cold-vs-cold matched prefix (canary tid=6 → ours tid=1) | 103,862 | 104,574 | **+712 events** | | Stable digest `imports` | 40,447 | 40,390 | -57 | | Stable digest `instructions` | 50,000,002 | 50,000,007 | +5 | `imports -57` is the population of previously-masked missing-disc-file probes: each one used to emit a synth-success kernel.call/return pair plus an `import.call`, ours now emits just a NOT_FOUND kernel.return. Net 57 import-call slots freed = ~28 distinct missing-file paths that the boot validator now sees as NOT_FOUND. ## Persisted (sister chains, all unchanged) | canary_tid | ours_tid | matched | notes | |---|---|---|---| | 4 | 11 | 9 | no divergence in compared events | | 7 | 2 | 29 | no divergence in compared events | | 12 | 7 | 2 | pre-existing KeWaitForSingleObject TIMEOUT/SUCCESS | | 14 | 9 | 39 | pre-existing XAudio init divergence | | 15 | 10 | 15 | no divergence in compared events | No sister-chain regression. The fix is scoped to `open_vfs_file`'s disc-path arm; sister tids don't touch this code path during their captured windows. ## NEW (surfaced by the fix) | location | observation | |---|---| | Main idx 104574 | Ordinal-of-call mismatch: canary does **two** sequential `RtlEnterCriticalSection` (104571, 104574); ours does one `Enter` then `Leave`. Likely an error-handling path in Sylpheed's boot validator that takes a nested lock on disc-file NOT_FOUND. | This is the expected pattern: scoping the synth-empty surfaces the code branch that handles missing disc files honestly. The new divergence is at the next layer of the boot validator's error-path logic and becomes the Phase C+14 target. ## Risk: did anything regress in non-cold scenarios? - **Kernel unit tests**: 177 → 181 pass; no failures. The new `nt_create_file_non_disc_prefix_missing_still_synthesizes` test proves the legacy synth-empty path is preserved for non-disc prefixes (i.e. writable system partitions). - **Phase B image hash**: unchanged. The fix doesn't touch image loading. - **Lockstep goldens**: `--stable-digest` 3× determinism PASS; no jitter introduced. The C+12 baseline digest was already a stable-mode reference, so the new digest just becomes the C+13 baseline. ## Summary One divergence Resolved (idx 103862). +712 events Advanced on the main chain. Zero sister regressions. One NEW divergence at idx 104574 — a higher-quality target (error-handling path divergence) than a synth-empty masked divergence.