Interface recovery validation ledger #
2026-09-09. Automated implementation evidence; human AC10 pending.
Use cargo +stable, --locked, approved opt1 dev/test environment from
development-validation.md (assertions and overflow checks enabled). Worker
commands occasionally omitted explicit +stable/--locked but used the same
inherited stable opt1 target; parent commands below explicitly used both.
Source changed between impact runs. This is complete target coverage plus
focused correction evidence, not one frozen all-green invocation.
Metadata auditor generated 14 target-covering partitions in
target/interface-partitions.json after adding terminal_color_reference.
| Partition | Evidence/status |
|---|---|
| workspace excluding CLI, all targets | PASS parent; later renderer-only optimization separately passed full render112 tests and972 exact reference pairs |
| CLI bin hexwork | PASS,0 tests |
| CLI routes | PASS,1 test |
| CLI lib | Parent full run258pass/4fail/2ignored; one compiled stale ribbon expectation subsequently fixed; three self-executable spawn ENOENT failures under concurrent relinking. All4 serial focused reruns PASS. New semantic marker test included in separate5/5 production semantic run. No remaining known lib failure; no claim of a fresh monolithic265-pass run |
| contracts_open | PASS10 worker,85.99s; original bounded capture failure repaired through correct physical route/map exit |
| hud_essentials | PASS9 worker,25.10s; optional legacy0 collision/map close and explicit focus CSI normalization |
| phase11_gate | Initial44pass5fail; four repaired eye/feedback cases pass focused,267.15s five-case run had only script parser failure. Added presentation-only slice verbs; last presentation case PASS parent11.21s. Existing hash/history/v4/death durability assertions unchanged |
| player_interface_pty | Parent entire target PASS19,220.29s, includes10 physical scenarios plus decoder/support cases |
| tactical_orientation | PASS11 worker,66.18s final; strict unique player assertion retained, caught and verified real Entry center-rounding fix |
| terminal_color_reference | Parent PASS2, independent VT oracle on actual full/diff encoders |
| tinker_live | PASS11 worker,379.16s; actual modal title synchronization fixes premature Play-hint match; exact25cu/15cu checks intact |
| transfers_lifecycle | PASS10 worker,122.57s |
| transfers_live | PASS11 worker,174.24s; canonical-route physical key conversion explicit |
| wield_live | PASS10 worker,300.61s; unchanged target |
Additional evidence: Python VT7 pass; core light7 parent pass; term62 pass; App camera/movement9 pass; production semantic5 pass; renderer112 pass. No tests disabled to bypass failures. Two ignored CLI tests are the pre-existing transfer timing harness and new explicitly opt-in render benchmark.
Final cargo +stable fmt --all -- --check and git diff --check: PASS.
Vendor bincode/bincode_derive lifetime warnings remain, no new compile warning in
parent CLI check. The Rust language server failed initialization; compiler/tests
and targeted reads supplied verification.
Performance #
Machine: Linux x86_64, Intel Processor U300,6 logical CPUs; rustc1.98.1 (48a229cea,2026-09-01), LLVM22.1.8.
cargo +stable test --locked -p hexwork-cli --lib interface_benchmark::render_trajectory_benchmark -- --exact --ignored --nocapture
after conservative projected billboard bounds optimization:
| Frame cells | Samples after10 warmups | median | p95 |
|---|---|---|---|
| 80×24 | 100 | 3.909ms | 4.541ms |
| 120×36 | 100 | 8.640ms | 11.161ms |
Includes chase collision, active catalog collection, derived light, descriptors,
render, gamma and full truecolor encode. Excludes App snapshot, terminal flush,
and canonical simulation. Allocations unmeasured for this broader path; known
per-frame BTreeMap/Vec work remains. Meets16.7ms for this trajectory, not a
universal60fps or tighter per-stage budget claim. Concurrent heavy earlier runs
missed the target (p9522/38ms); neither contention attribution nor optimization
speedup is rigorously isolated. Renderer-only allocator benchmark has separate
scope in ../crates/hexwork-render/BENCHMARK-recovery.md.
Release and manual boundary #
cargo +stable build --locked --release -p hexwork-cli: PASS.
Binary: target/dev-loop-ab-57-opt1/release/hexwork
SHA-256: 1697b68a8309e4573c44c5e630d4211054fa37503db976a845993efdb674981b.
The identified release also passed an actual seed140 Story truecolor physical
PTY route: look/right/up/reset/exit, chase, inventory/return, tactical slice and
rejected off-floor movement, Home, too-small/restore/grow/shrink, map exit/save.
18 decoded stages; opt-in JSON/SVG artifacts:
target/player-interface-release-evidence/. This is terminal-protocol evidence,
not human font/monitor readability.
AC10 manual_normal_brightness_orientation_route remains pending. Follow the
README route on this binary and record screenshots and explicit human pass/fail.
No full HEXWORK1.0 completion, accessibility certification, or human usability
acceptance is claimed.
Explicit remaining matrix limits #
The implementation and tests are materially broader than the baseline, but not an exhaustive Cartesian matrix of every seed/mode/palette/gamma/remap/stance. Actual catalog service/exit projection tests use real anchors in synthetic clear geometry, not a walked service/exit route. Color oracle exercises public renderer palettes and actual ANSI; CLI gamma-specific decoded fixture matrix is incomplete. Allocation counts are measured only in the narrow renderer bench. Fully blocked invalid player geometry cannot provide a safe own-column eye; fallback policy is finite/deterministic and documented. These limits must accompany any acceptance claim; automated checks cannot replace AC10.