Files
2026-10-26 23:41:43 +02:00

3.1 KiB
Raw Permalink Blame History

Milestone 12 acceptance evidence

Run: 2026-10-26T21:39:45Z, local development workspace. This report covers the responsive client table presentation. It does not establish real terminal emulator, Alpine WireGuard, systemd/VM or production behavior.

Source and environment

  • HEAD ecc5c83d78a4428b8fa2c1826fe74ead144cf72b; the working tree at validation was dirty with PLANS.md and src/tui/render.rs. Relevant integrated SHA-256 inputs: render.rs 78be59f8550f94c573db9eab6b43968a9e0621bcabd7dd268b5ba7f9b9aba3ad; state.rs 7e893758b623b42f955358dcaba8100fdb6b54ca48c9dd9a1dea15090b84f371; terminal.rs ed9a99932dddbaf508667c5f17886704bda749264c53cc60c7e29b889a56e074; Cargo.lock b8549df27f971dc550218cfc28e788f6630a1e13e7df538aded38e969ab713b6.
  • Pinned rustc/Cargo 1.97.1, rustfmt 1.9.0 and Clippy 0.1.97; native x86_64-unknown-linux-gnu host. No dependency or lockfile change.

Validation

Exact command Actual result
cargo test --locked tui::render Exit 0; 20 render tests passed.
cargo test --locked tui::terminal Exit 0; 8 terminal tests passed.
cargo test --locked --test tui_workflow Exit 0; 6 workflow tests passed, including isolated PTY smoke.
cargo fmt --all -- --check Exit 0.
cargo clippy --locked --all-targets -- -D warnings Exit 0.
cargo test --locked Exit 0; 279 library unit tests passed, 2 opt-in drivers ignored. All integration suites and 2 compile-fail doctests passed. Testcontainers target reported 25 passed and 1 ignored without starting Alpine.
cargo build --locked --release Exit 0.
git diff --check Exit 0.

Ratatui TestBackend coverage checks five full headers and column boundaries at ordinary widths, State/Name priority across 72/78/79/80 widths, display-cell Unicode truncation, long routes, mixed client modes, empty/draft/document rows, no false non-peer selection, and visible selected peers with the Keys footer at 40×8 and 34×8. Below-minimum resize fallback remains covered. Existing terminal tests cover Up/Down highlight and Enter-to-details by peer index. These tests use synthetic buffers and fixtures; physical terminal display differences were not tested.

Independent review

Fresh read-only review found M12-R1 (compact table hid all peer rows), R2 (empty/document-only views falsely selected row zero), and R3 (selector width clipped the last column). A targeted repair added compact body visibility, unselected non-peer views and marker-aware width budgeting; independent re-review closed R1–R3. That re-review found R4: five-column mode began before the Allowed IPs header fit at widths 72–78. A second targeted repair moved the threshold to the full-header minimum and added boundary-buffer checks; independent re-review closed R4 with no remaining actionable finding.

M12-A1–A4 are supported by the inspected implementation and synthetic render/navigation evidence. The integrated gates above satisfy M12-A5. Configuration parsing, validation, persistence, allocation and VPN behavior were outside scope and unchanged. Milestone 9 remains retired and unaccepted; real systemd/D-Bus and IPv6 behavior remain unverified.