Add aligned users table

This commit is contained in:
2026-10-26 23:41:24 +02:00
parent ecc5c83d78
commit 6d8d6d572d
3 changed files with 608 additions and 61 deletions
+56
View File
@@ -0,0 +1,56 @@
# 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.