Files
wireguard-admin/docs/evidence/milestone-13.md
T
2026-10-27 21:21:14 +02:00

60 lines
3.1 KiB
Markdown
Raw 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 13 acceptance evidence: compact terminal QR disclosure
Validated 2026-10-27T21:13:30+02:00 on the native
`x86_64-unknown-linux-gnu` development host. This is synthetic terminal
rendering evidence, not a manual scan or production integration result.
## Behavior and review
The QR renderer packs two vertical modules into one cell using space, `▀`,
`▄`, and `█`, with explicit black foreground and white background. It preserves
the encoded four-module quiet zone on all four edges and treats the absent
partner of an odd final row as light. The QR is rendered in a separate,
unwrapped region. The fit check accounts for its bordered area and actual
wrapped delivery notice. A deterministic nonsecret 73-module fixture uses
73 columns and 37 QR rows; with a one-row notice, the exact tested terminal
layout is 75×44. Longer notices require more terminal height.
When the complete QR does not fit, a compact fallback shows required and
available dimensions, actual terminal dimensions, saved-file guidance, delivery
status, and Esc. Tests inspect rendered buffers at 74×45, 34×12 and 20×8;
resize redraws the held QR and Esc clears it. The compact notice preserves
uncertain publication and destination-inspection guidance. File delivery,
password authorization, and draft/saved/applied transitions were not modified.
`QrCodeOutput` retains redacted Debug and the fixture matrix is nonsecret.
An independent GPT-6-Luna/high reviewer examined the actual changes and
closed M13-R1–R5 after targeted repairs: short fallback clipping, hidden
saved/applied summary, incomplete quiet-zone edge coverage, inaccurate
available-area dimensions, and misleading uncertain-delivery compaction. No
actionable scoped findings remain.
## Commands and source identity
Pinned rustc/Cargo 1.97.1, rustfmt 1.9.0, and Clippy 0.1.97 were verified.
The following commands ran from the repository root and exited 0:
- `cargo test --locked tui::render::tests::`: 27 passed.
- `cargo test --locked delivery::qr::tests::`: 2 passed.
- `cargo fmt --all -- --check`.
- `cargo clippy --locked --all-targets -- -D warnings`.
- `cargo test --locked`: 352 passed, 3 explicitly ignored, 0 failed,
including 2 documentation tests.
- `cargo build --locked --release`.
- `git diff --check`.
Base commit: `af2d061880a8532314f57d4f1ec6eb5265520091`. Dirty Rust inputs
at validation were `src/tui/render.rs` and `src/delivery/qr.rs`; `PLANS.md`
was also dirty with this milestone's execution record. SHA256 inputs:
- `src/tui/render.rs`: `98ffa4d396194c201cfe20b6c6dcbd80b6689886fc625c8cb83efa6c12564e8a`
- `src/delivery/qr.rs`: `1f2012c6d1583178ca964df1d444c8afeae35607dfafac05bc538911be480748`
Native release artifact `target/release/wireguard-admin` SHA256:
`0c2fc010138c7db27c3126d0eca6bd83da3be600c1c4e0f8c8beeef77d11e43a`.
No physical terminal, phone/decoder scan, Alpine integration rerun, disposable
systemd VM, or production operation was performed. The 80×24 size remains a
dimensioned fallback for a 73-module QR. Previous integration artifacts do not
identify this revision; M9 systemd acceptance remains retired and unverified.