Closeout map, 2026-09-30
Audit base: 6306c1d8df787820c1c74e7808be6d853e343b30, on master.
Evidence class: repository/source audit only; no new board, camera or physical
acceptance is claimed by this document. The uniform HDMI gesture implementation
is already installed; its implementation and publication records remain separate.
There are 45 active changes, 263 unchecked tasks, and no active change with all tasks checked. Eight changes have no checked tasks. Nine changes have only one unchecked task, but the mainline-kernel trial and performance/probe gates are materially larger than a single feedback item. OpenSpec artifact completion or a task percentage is not feature acceptance.
Recommended first batch
These six have all implementation/build tasks checked and one explicit physical gate. This is a candidate list, not an archive authorization or a fresh claim that their old evidence satisfies today’s installed image.
| Implementation | Done/total | Exact remaining gate | Best next action |
|---|---|---|---|
| RTC warm-reboot support | 5/6 | 4.2: A controlled full-power-removal test, with NTP/RTC write-back excluded before the first post-boot read. A warm reboot is already proved. | See existing proof and the verbatim task below. |
| Panel render deadline / bottom-band fix | 4/5 | 1.4: Real-finger bottom-edge switching and overview on the patch-free panel system, with its installed identity and operator report. HDMI does not test DSI scanout. | See existing proof and the verbatim task below. |
| Home stays hidden behind overview | 11/12 | 5.1: Actual themed overview entry/drag on the panel, native capture plus physical photograph and real input. | See existing proof and the verbatim task below. |
| Pinned Home and dock | 19/20 | 8.1: On the AMOLED in both dark and light themes: page swipe; long-press pin/unpin/rearrange; dock launch; launch-versus-focus. Record a focused capture. | See existing proof and the verbatim task below. |
| Pointer navigation | 7/8 | 3.3: Panel-touch Home, HDMI glass pointer clicks/edge drags, and four-finger inward/outward recognition. Photo/operator observation; injected IPC is insufficient. | See existing proof and the verbatim task below. |
| Themed Nautilus and Portfolio | 20/21 | 5.3: Launch both real apps on the panel; record launch time, RSS, scroll behavior and resolved icons. Existing host GTK captures are insufficient. | See existing proof and the verbatim task below. |
Two honest routes to closure
Verification route: keep the original six proposals open, perform each named physical task, commit its evidence, reconcile its spec grounding, validate, sync and archive it. The short panel session below covers several tasks, but cannot stand in for both-mode pointer acceptance or the power-off RTC test.
Proposed scope split (requires user authorization): create one explicit
successor, the-landed-shell-passes-physical-acceptance, with six separately
identified task groups copied from the originals below. Preserve every scenario,
command, photograph, mode/theme combination, measurement, source identity and
UNVERIFIED marker. Then narrow each original to its completed implementation,
record the transferred task ownership, validate/sync/archive each original in
its own branch/worktree, and publish the resulting board. Do not mark transferred
physical tests as passed. Archiving an implementation must not make its still-
unverified user experience appear physically accepted on the public site.
This would reduce the active queue from 45 to 40 (six archives, one successor), while all six physical gates remain visible in one acceptance queue. The successor must land on master before any original is closed. This document proposes that route; no requirement has been moved or original archived yet.
AGENTS.md requires explicit authorization for this ownership change:
if the user authorizes a scope split, preserve every remaining requirement and task in an explicit successor proposal before closing the finished part.
There is no proposed scope split for unfinished theme consumers, performance budgets, kernel/SMP work or new UI features.
Easy operator sessions
- Normal panel, one reserved session. First pin the installed system and patch-free kernel, confirm this is the AMOLED rather than the HDMI monitor, and arm the camera. Open a real app, perform bottom-edge switching and overview entry/drag, then confirm no Home bleed and no bottom-band flicker. These are distinct results: record each against its own gate. Then test Home swipe/pin/unpin/rearrange/dock/focus in dark and light themes. Launch each Files entry, scroll it, inspect icons; the coordinator measures launch time/RSS.
- HDMI/panel pointer session. Complete the panel Home tap and HDMI click/edge drag and four-finger inward/outward pinch. Two-finger shell translation already has strict injected-board proof, but physical recognition and feel still need their own observations. Do not ask the operator to re-prove a dispatched IPC.
- Separate RTC session. Capture an RTC value, control synchronization and write-back, physically remove main power, wait, then capture the first RTC reading before network correction. This is not a reboot test. Restore all transient test settings. Keep full-power survival unknown without that proof.
Start each session with the board/serial reservation and an exact system identity. Use the original task’s capture command and retain the difference between native pixels, optical evidence, physical fingers and an operator report.
The next batch is actual remaining work
- Home widgets/folders and fluid paging: each still needs a paired real- compositor QEMU run and physical acceptance. The earlier harness was terminated repeatedly; resolve that failure before claiming folder rename, drag-out, dock folders, widget placement or cross-page drag are verified.
- Generic video/card path: functionality has board evidence, but real-input entry/touch timing targets and the existing performance budget remain unresolved.
- Omarchy theme loading and theme-swap performance: audit token coverage, icons and control states; reconcile removed preview/cancel semantics; re-check matched-content traces and the reboot/background workloads. Do not treat the existence of a theme picker as full theme compatibility.
- Keyboard gestures, trackpad and responsive HDMI shell: group their physical acceptance journeys where possible, but retain keyboard workload measurements, panel restoration, real four-finger recognition and resolution/density work.
- Mainline kernel and CPU0/SMP: keep separate reservations and recoverable boot trials. These are substantive hardware bring-up, not quick acceptance checks.
Hold a small implementation set until this queue closes. Eight proposals have no checked tasks; that does not rule out partial research (such as the interrupted Qt build). No new feature is started by this audit.
All active proposals at the audit revision
Exact gates preserved by the proposed split
These are verbatim task blocks at the audit revision, not rewritten or waived acceptance criteria. Their linked proposal/spec contracts remain authoritative.
RTC warm-reboot support: the-clock-survives-a-reboot, task 4.2
- 4.2 Leave
UNVERIFIED: whether the RTC survives a full power-off (main power removed, not just a reboot) rather than only a warm reboot. Requires a documented backing supply or a separate power-off-and-wait board test not performed by this change; do not tick this task without that specific evidence.
Panel render deadline / bottom-band fix: the-compositor-renders-ahead-of-scanout, task 1.4
- 1.4 Board, real finger. Operator confirms on a patch-free system
that bottom-edge app switching and the card overview show no bottom-band
flicker. Record the report, with the system path, in
docs/evidence/card-shell/bottom-band-flicker/(operator report).
Home stays hidden behind overview: the-overview-hides-the-home-screen, task 5.1
- 5.1 Board re-check: repeat the coordinator’s original native capture
(
swaymsg card_shell enter, a real focused app, the board’s actual theme and wallpaper configured) on the installed system once this change lands, confirming Home no longer bleeds through with a real (not synthetic) theme canvas and real finger input. Operator command:./tools/console.py /dev/ttyACM0 --wait=3 "swaymsg card_shell enter"plus a photograph of the panel; requires the board and its serial port reserved by one operator, perAGENTS.md. Not performed by this task (QEMU-only scope, no board//dev/ttyACM0access).
Pinned Home and dock: the-shell-presents-a-pinned-home-screen, task 8.1
- 8.1 Hardware, not claimed by this change. Real-finger Home page
swipe, long-press pin/unpin/rearrange, dock taps, and launch-vs-focus,
photographed on the physical AMOLED in both a dark and a light theme;
verify on hardware with
python3 tools/capture-feature.py home-screen --provenance real-touch --duration 30 --description 'Real-finger Home page swipe, pin, rearrange, dock, launch-or-focus' --output-dir docs/evidence/home-screen/real-touch. Left open per the coordinator’s explicit instruction that this implementation does not touch the board or/dev/ttyACM0.
Pointer navigation: the-shell-is-navigable-with-a-mouse, task 3.3
- 3.3 Physical operator acceptance: tap Home in panel-touch mode, click/edge-drag in HDMI trackpad mode and four-finger inward/outward pinch. Record physical observation and photograph. Keep unchecked until actually performed.
Themed Nautilus and Portfolio: the-handheld-has-a-themed-files-app, task 5.3
- 5.3 Board evidence: real launch time, RSS and scroll behavior for both
candidates on the physical panel, plus confirmation that icons resolve
correctly with the
GDK_BACKEND=wayland/adwaita-icon-theme/hicolor-icon-themefix (task 6.2) applied. Which entry(ies) to keep is no longer blocked on this: the operator has already decided (task 6.1) to keep both by default; this task now covers only the physical performance/appearance observation itself. Operator command once a flashed image exists: launch each “Files (…)” drawer entry and observe; no narrowtools/msh.py/console.pyinvocation is prescribed here because the observation itself (does it come up, how fast, how smooth, do icons render) is the point, not a scripted check. UNVERIFIED until performed; this change does not claim board behavior.