evidence · 3.1 KiB

README.md

Committed at docs/evidence/card-shell/board-cost/long-trace/README.md. This is what grounds the requirements that cite it.

Open raw source

Adequate-coverage Pixman card cost baseline: FAIL

Collected on the actual 568x1232 RGB565 panel at 2026-09-23 16:41:34 UTC. The opt-in product package is /nix/store/qh2jzzn4p5dgryfrwihimc7lad98rldl-k230-card-shell, source bc52538878e45ed1f9e747d011d8a81b3811a125. The native injected harness at 8b01b936 requests 24 horizontal drags for each card count. No budget changed. The board archive transferred over Wi-Fi with matching SHA256 before extraction.

python3 tools/card-shell-benchmark.py --board \
  --input docs/evidence/card-shell/board-cost/long-trace/telemetry.log \
  --manifest docs/evidence/card-shell/board-cost/long-trace/manifest.json \
  --output /tmp/card-long-report.json

Expected exit: 1 (FAIL). There are no unresolved correlations or missing provenance fields. One/two-card workloads have 136/139 submitted frames and 90/92 qualifying tracking intervals, exceeding the fixed 60/30 minima. Input pauses over 50 ms are excluded by the existing parser: 20/18 respectively.

Metric1 card2 cardsLimit
Frame-update CPU, p9517.218 ms24.174 ms16.667 ms
Frame-update CPU, max110.196 ms25.595 ms33.334 ms
Motion to submit, p9540.466 ms48.096 ms50 ms
Motion to submit, max106.568 ms66.825 ms100 ms
Motion to presentation, p9548.898 ms61.998 ms66.667 ms
Tracking presentation interval, p9557.482 ms57.485 ms33.334 ms
Release to final presentation, max133.849 ms53.162 ms266.667 ms
Incremental session memory479,232 bytes393,216 bytes67,108,864 bytes

The raw interaction check report contains 12 observed checks and one failed upward-throw-close-request check. The refusal button fallback, separate close timeout, accepted close and persistent control checks were observed. Earlier successful injected throw evidence remains valid for those runs, but this repeat shows that repeatability is unresolved. This is not a new passing product trial; its screenshots have not been separately accepted as visual proof. The original reviewed visual evidence remains in ../../injected/.

The normal shell and seatd restored after the experiment. A subsequent independent normal-control regression is recorded in restoration.json. No image flash or reboot occurred. The installed default shell is unchanged.

Decision: keep task 4.2 and default image integration open. Profile actual scene update and rendering work and investigate throw repeatability before claiming a mitigation. Chrome already avoids rebuilding unchanged labels; adding caching is not a justified performance claim. Its separate layout/failure invalidation fix does not establish a cost improvement. Preserve live card surfaces and the existing input path when evaluating any optimization.

These timings start at compositor input dispatch and end at backend presentation feedback, not optical visibility. Memory is sampled cgroup memory and does not exclude between-sample peaks. This is injected board evidence, not real-finger acceptance. The optional GPU renderer remains independently unaccepted.