evidence · 7.9 KiB

restart-dispatch-audit-2026-10-02.md

Committed at docs/evidence/mainline-restart/restart-dispatch-audit-2026-10-02.md. This is what grounds the requirements that cite it.

Open raw source

Restart dispatch source audit — 2026-10-02

Audit recorded at 2026-10-02T17:17:05Z. Evidence class: host source/artifact inspection and bounded interpretation of private operator captures. No build, board input, reset, or hardware acceptance was performed by the auditor. Automatic restart and callback execution remain UNVERIFIED.

The audit used worktree /home/jadams/tmp/k230-mainline-restart, branch mainline-restart-port, base c5254075e531487af82841b3ae76582e5535f0fb, with host-proof HEAD 75dee78cdd61e9a8f30ec08a90784c93a11534df. Only this new file is owned by this follow-up. The coordinator owns physical operation and its separate trial evidence. The completed task-start tools/work-status.py output is cached privately; the handoff scan also completed at idle I/O priority.

Exact sources and dispatch

The corrected candidate source is /nix/store/jvz4v73g8a67pqwm06v079h6s1cpqr9s-linux-mainline-k230-drm-src, based on Linux 72d3fcf802c45d00b300f25b848a93c3a2bd7c7e plus the optional K230 restart patch. Source inspection found:

The matching bundle is /nix/store/asj7l4zj5jrjkgng4nrcx3y72p7jf7aa-k230-mainline-drm-trial-boot-files. fdtget found /soc/reset-controller@91101000, compatible canaan,k230-rst, reg = <0 0x91101000 0 0x1000>, and no status property. Missing status means available in of/base.c, lines 552–560. Node availability and a matching compatible do not prove successful probe.

Candidate-phase boundary

The coordinator’s controller sends /bin/reboot -ff after a distinct candidate receipt. Local inspection selected the actual receipt line, excluding echoed commands and the preceding normal-system boot/reboot phase. After that receipt, the only nonblank captured output was Rebooting.. There was no candidate kernel restart announcement, second SPL, or normal-kernel banner before the reported physical intervention. The capture’s sole kernel restart announcement belongs to the normal pretrial reboot, not the candidate. It must not be used as candidate dispatch evidence. The controller ended on serial disconnect; this audit does not claim expiration of its full recovery deadline.

The matching system’s sw/bin/reboot resolves to /nix/store/srwrq12f962d5prr382vvsq76nfvmm84-systemd-riscv64-unknown-linux-gnu-261.2/bin/systemctl. The source named by its derivation was not locally present; the following version-matched upstream files were inspected read-only:

Thus the captured message is consistent with reaching beyond userspace sync and immediately before the reboot syscall. It does not show syscall entry, kernel preparation completion, handler registration, or callback execution. The location of any stall is unknown; kernel preparation/device shutdown is among the paths preceding the unobserved kernel announcement.

The separate private manual-recovery capture was 35 bytes, with bracketed-paste disable/enable sequences and a final >. This is consistent with a readline shell continuation prompt. Its preceding fragment was not usable identity text. It establishes neither a normal nor a mainline shell, a fresh boot, nor protected normal recovery. A full operator power cycle and identity postflight were pending at this audit boundary. Raw UART and private runtime fields are not copied here.

Read-only commands and limits

Commands included date -u '+%Y-%m-%dT%H:%M:%SZ', narrow rg -n/sed -n reads of the exact local source files named above, readlink -f on the matching system’s sw/bin/reboot, and nix derivation show on /nix/store/hrg87xdmvmibsh6mwh9i65mhy03i8887-systemd-riscv64-unknown-linux-gnu-261.2.drv. The upstream systemd files were read at their v261.2 URLs above. DT inspection used the following commands, with BUNDLE set to the exact bundle above:

fdtget -t s "$BUNDLE/k230-tdisplay-mainline-drm.dtb" /soc/reset-controller@91101000 compatible
fdtget -t x "$BUNDLE/k230-tdisplay-mainline-drm.dtb" /soc/reset-controller@91101000 reg
fdtget -t s "$BUNDLE/k230-tdisplay-mainline-drm.dtb" /soc/reset-controller@91101000 status

The first two returned the values recorded above; the third returned FDT_ERR_NOTFOUND. Private Python parsing of $HOME/tmp/k230-mainline-restart-board/minimal-uart.log selected a line matching ^K230_RDINIT_REBOOT\s, then counted candidate-phase announcements and classified only safe post-receipt output. Parsing $HOME/tmp/k230-mainline-restart-board/manual-recovery-uart.log counted terminal sequences and tested the final continuation character without publishing its raw contents. These inspections are not new board actions or hardware passes. Task 5d.4 and the usable-root gate 5b.5 remain open.