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

57 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.