evidence · 6.7 KiB

README.md

Committed at docs/evidence/ux-review-round-2/candidate-2026-10-09/README.md. This is what grounds the requirements that cite it.

Open raw source

Integrated UX candidate recheck — 2026-10-09

The running candidate is the accepted normal mainline hotplug system, not the October 1 baseline and not an inferred compositor from a system store path. All captures have boot ID 4bf73b24-a16a-4786-96fb-f1288244d96f.

IdentityObserved artifact
Normal system/profile/nix/store/yl3si5ak6yi709yg1fqsnwgq0zn4xfcs-nixos-system-nixos-26.11.20260919.20b1ddd
Kernel/nix/store/f3rnipvbc5vqam8kwdmn3wgcl5rbz9yx-linux-riscv64-unknown-linux-gnu-7.3.0-rc5/Image
Sway unit/PIDshell.service, PID 1022; wrapper /nix/store/gp9gv2nh0zf4bgryk8qp4dbprnfycya2-k230-card-shell/bin/sway
Resolved live Sway/nix/store/g7xzwwvr3x05mlmsab5jn5kn1sl41wjb-sway-unwrapped-riscv64-unknown-linux-gnu-1.12/bin/sway
Rust unit/PIDshell-ui.service, PID 1044; wrapper /nix/store/fys5c84qf4z72wnhn87b46z7jvyj18l9-k230-shell-rust/bin/k230-shell-rust
Resolved live Rust/nix/store/q2rxmp980f9kxi962f29333z9pbixvbk-k230-shell-rust-riscv64-unknown-linux-gnu-0.1.0/bin/k230-shell-rust
Loaded Pixman/nix/store/brhzfimak2r3c23lmn80y1g6ww6nmb1r-pixman-riscv64-unknown-linux-gnu-0.46.4/lib/libpixman-1.so.0.46.4
Quarter-turn opt-in controlsWLR_PIXMAN_QUARTER_TURN and WLR_PIXMAN_OUTPUT_TURN are unset in this live compositor. This identifies controls; it does not prove vector or fast-path dispatch.
Active outputHDMI 1280×800 @59.910 Hz, transform 90, scale 1, logical 800×1280.

The normal default promotion is recorded at source 6b4fe555645a; the review checkout is 1f1b4ef9, which contains that implementation plus closeout docs. No compositor or Rust package was installed, restarted or launched separately for this review. The live unit/executable/library identities above identify what was actually used instead of treating historical opt-in packages as the integrated candidate. The old baseline remains system p1a1hz, Rust 3hy6, source 5bb67db1 in the research baseline; these identities are not blended.

Commands and source artifacts

From the change worktree, using new protected output directories:

python3 docs/evidence/ux-review-round-2/candidate-2026-10-09/capture-console.py --output /protected/ux-console
python3 docs/evidence/ux-review-round-2/candidate-2026-10-09/capture-candidate.py --scene overview --output /protected/ux-overview
python3 docs/evidence/ux-review-round-2/candidate-2026-10-09/capture-candidate.py --scene drawer --output /protected/ux-drawer
python3 docs/evidence/ux-review-round-2/candidate-2026-10-09/capture-candidate.py --scene settings --output /protected/ux-settings-loading
python3 docs/evidence/ux-review-round-2/candidate-2026-10-09/capture-candidate.py --scene settings --settle-seconds 5 --output /protected/ux-settings

The console source executes the task’s same four identity commands through flock /tmp/k230-board.lock python3 tools/console.py /dev/ttyACM0 --wait=3, with SYSTEMD_PAGER=cat and SYSTEMD_COLORS=0 set around the remote command. An initial default-pager attempt truncated ExecStart and is not used as proof. console.json retains system, active status, MainPID, complete ExecStart path and resolved executable; private arguments, prompts and command echoes are omitted. The actual complete invocation is recorded there.

The native capture source also reserves /tmp/k230-board.lock while opening /dev/ttyACM0. It records the exact route and grim -c commands, actual runtime state and unit identities. Overview uses swaymsg 'card_shell enter'; Apps and Settings use the live Rust client’s --surface route. Each returns to Home. Images transfer over UART with matching board/host SHA256, recorded below and in capture-index.json. Every image was inspected before public commitment. The existing Home capture is from this same normal boot and executable. Raw UART transcripts stay private.

CaptureBytesSHA256Board capture UTC
overview.png12836983c8b4261beb9621eaaeed8c8e6c1d4fe25bb16abbad63de4234355d25e16de82026-10-09T22:06:21.678517+00:00
drawer.png1889882d009ee5c0b97bfc21e04592bd099b0f21643bafe660043ed9d0a3e7c418b2862026-10-09T22:06:57.383997+00:00
settings-loading.png306836cabe8ccd9ea9e02dab94e4b12cd4a849b5f3c640ed33dd6d007694a4a25928302026-10-09T22:08:04.398373+00:00
settings.png6399928d54e2559cd392b108649241ea60bbdafb4d17ac8d653e84b0e7cee638aa9312026-10-09T22:10:19.320596+00:00

Observations and limits

Overview contains one Terminal card with an empty normal prompt and recognizable app label. The drawer contains 19 real catalog entries in six columns with search, distinct icons and labels. This is broader than the old eight-entry host fixture; it still does not exercise catalog overflow. The first Settings image shows loading after approximately one second; the later five-second capture shows Wi-Fi link-up, brightness, volume/sink, Keyboard, Motion and Power rows. This does not measure precise load latency. No persistent loading defect is claimed. No named Help or System app is visible in the captured catalog; those older matrix routes are not demonstrated as separate current apps.

These are native board states reached through injected route commands, not a new finger walkthrough. The operator’s explicit current Home/All Apps/Settings acceptance is separately committed with the responsive closeout and reused for those checks only. The operator reply now accepts the requested Terminal keyboard, app-switching and video functional journeys. It is separate from the injected captures and contains the exact question and reply. Optical motion, readability, finger tracking, keyboard-visible accessibility, refusal/error/denied recovery and cold-start timing remain UNVERIFIED where matching proof is absent.

All findings were rechecked in the candidate report. No baseline finding has P0/P1 severity. Candidate identity/recheck tasks 3.1/3.2 and current functional journey review 2.2 are complete. The review explicitly retains unavailable states and the physical unknowns above. Final publication/archive is task 4.2. Runtime implementation and its physical/performance gates stay with their owners; this is no runtime release.

Ownership: worktree /home/jadams/tmp/k230-ux-close-final, branch closeout/ux-review-2026-10-09, initial base e637f3f0ff49761c5c403190100a16dd1792f449, reconciled to 1f1b4ef9 before edits. Owned paths are this review’s evidence/research/planning, the four new PNG manifest rows, and its work-board status entry. No build slot was taken. The board and serial slot were held only for these captures and then released.