60 lines
3.1 KiB
Markdown
60 lines
3.1 KiB
Markdown
# 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.
|