3.5 KiB
Codex final verification (RV12, 2026-10-12)
All three RV11 reproductions are fixed at 4bbe0d7. Exact parity remains incomplete: 2 newly verified diagnostic gap groups and 1 known visual gap—0 P1, 0 P2, 3 P3. No files were modified; the worktree remains clean.
| RV11 finding | Verification |
|---|---|
| Duplicate benchmark enum arguments | Resolved. Earlier invalid values are rejected, including before empty resets. Sixteen differential checks matched Zig. |
| Interior-NUL theme paths | Resolved. Absolute and named paths load their prefix, producing #262427 without diagnostics in both implementations. |
| Filesystem diagnostic descriptions | Original Linux cases resolved, including absolute and relative NotDir paths. The replacement helper has the portability defect below. |
Concrete remaining gaps:
-
P3 — Platform error codes interpreted as Linux errno values. zig_error.rs:37 unconditionally applies the Linux table. Windows access-denied code
5becomeserror.Unexpected; DarwinELOOP=62andENAMETOOLONG=63also becomeUnexpected. Verified statically against platform definitions and call sites; native execution remains untested. -
P3 — Incorrect diagnostics for dot theme names. theme.rs:187 uses Rust’s
file_name(). Live differential checks showtheme=.andtheme=..report “cannot include path separators,” whereas Zig reports “it is a directory.” Both reject the theme. -
P3 — Known sprite stroke rasterization differences. canvas.rs:489 retains tiny-skia stroke geometry. Recomputing the saved VP captures confirmed 196 differing pixels per page scenario, maximum channel delta 86; tabs/splits and chrome are identical. This is the documented curly-underline/diagonal-glyph difference.
The fresh sweep covered the 461-file inventory: 428 non-build files and 33 build files, with counterpart, public-function/export, stub and targeted behavioral checks across all subsystems. No wholly absent feature was established. This is breadth coverage, not proof of exhaustive behavioral equivalence.
Validation produced:
- 2,759 existing-binary tests passed, four ignored; four encountered read-only filesystem restrictions.
- 6,300 configuration diagnostic comparisons, covering all 202 fields and compatibility handlers: only the dot-theme differences above.
- 2,700 configuration value/diagnostic comparisons: only expected debug-default differences.
- Matching actions, default keybindings, theme/font listings, zsh/fish completions; WASM smoke test passed.
- The documented 390,000-case terminal campaign remains supporting evidence; it was not rerun. Genuine Zig memory bugs/UB were excluded.
The benign +list-colors difference also persists: Rust flushes all 15,434 bytes, while Zig stops at 12,297. It is excluded from defect counts.
Inherently unverifiable natively here: Apple Metal/IOSurface/CoreText, AppKit/UIKit/Carbon integration, Mach crash handling and Apple framework packaging; Windows ConPTY/CreateProcessW, native filesystem/environment behavior and exception handling.
Fresh Linux GPU/compositor, portal/D-Bus and interactive GTK runs were not performed. Those are runtime coverage limitations, not inherently untestable Linux functionality.