# Protocol: desktop box, v1

For a complete machine on loan or supplied as a unit: a Ryzen AI Max mini PC,
an NVIDIA GB10 box, a Mac Studio, an RTX PRO workstation, an Arm workstation.
The machine is the subject. The model and runtime are held fixed by memory
class (step 8), so boxes tested under this version read side by side.
Version 1, written 2026-10-02.

Steps 1 to 6 happen before anything is installed or changed, in this order,
because the shipped state can only be observed once. Every step names its
evidence file. Times are UTC. Nothing is scored.

### 1. Intake photos and physical facts

Box as received, contents laid out, every port front and back, the label with
the serial masked, the power supply label; internals only when the terms
allow. Weight on a kitchen scale, dimensions with a tape. Evidence:
`evidence/photos/intake-<subject>.jpg`, `evidence/intake-physical.txt`; the
LOG names what each photo shows.

### 2. Firmware and settings

BIOS or UEFI version and date, embedded controller version, Secure Boot
state, and the memory split as shipped (on Ryzen AI Max, the UMA frame buffer
size in the BIOS; on Linux, the `amdgpu.gttsize` and `ttm.pages_limit` kernel
parameters in use). Linux: `sudo dmidecode -t bios -t baseboard -t system`.
macOS: `system_profiler SPHardwareDataType SPSoftwareDataType`. Windows:
`Get-ComputerInfo | Select BiosSMBIOSBIOSVersion,BiosReleaseDate`. A photo of
the firmware main screen. Any setting changed for the tests is recorded next
to its shipped value. Evidence: `evidence/firmware.txt`,
`evidence/photos/bios-main.jpg`.

### 3. Memory as reported by the OS

Capacity, type, configured speed, channel count, soldered or slotted:
`sudo dmidecode -t memory` (Linux), `system_profiler SPMemoryDataType`
(macOS), `Get-CimInstance Win32_PhysicalMemory | Select Capacity,Speed,ConfiguredClockSpeed`
(Windows). Theoretical bandwidth computed from the reported speed and the
bus width, labeled as computed. A measured figure where a tool installs
cleanly: `sysbench memory --memory-block-size=1M --memory-total-size=100G --threads=<cores> run`
or `mbw 1024`, labeled with the tool. Evidence: `evidence/memory.txt`.

### 4. Storage

Drive model, capacity, interface and link speed, firmware, power-on hours and
wear as shipped: `lsblk -o NAME,MODEL,SIZE,TRAN`, `sudo nvme list`,
`sudo smartctl -a /dev/nvme0` (Linux); `system_profiler SPNVMeDataType SPStorageDataType`
(macOS); `Get-PhysicalDisk | Select FriendlyName,Size,BusType` (Windows).
Sequential read: `fio --name=seqread --rw=read --bs=1M --size=8G --direct=1 --runtime=30 --time_based --output-format=json`.
Free space as shipped. Evidence: `evidence/storage.txt`,
`evidence/fio-seqread.json`.

### 5. Shipped software state

OS and build as shipped, and whether it is the vendor's image or a stock
install. Every preinstalled package or application (`dpkg -l`, `pacman -Q`,
`winget list`, `Get-AppxPackage`, `ls /Applications`). What runs at boot or
on a timer (`systemctl list-unit-files --state=enabled`, `systemctl list-timers`,
`launchctl print system`, `Get-ScheduledTask | Where State -eq Ready`,
`Get-CimInstance Win32_StartupCommand`). Accounts present, disk encryption
state, vendor utilities and what they say they do. Evidence:
`evidence/shipped-software.txt`, `evidence/package-list.txt`.

### 6. First boot egress

The box's Ethernet runs through a capture host (a laptop sharing its
connection, `sudo tcpdump -i <shared interface> -w evidence/first-boot.pcap`);
Wi-Fi on the box stays off. Capture from power-on, through the setup wizard
on defaults, and 30 minutes idle at the desktop with no user action.
Summarize with `tshark -r evidence/first-boot.pcap -q -z dns,tree -z conv,tcp -z conv,udp`.
Reported: distinct destination hosts grouped by owner (OS vendor, box vendor,
third party), bytes out per owner, and the responsible process where the OS
shows it. A box the vendor booted before shipping is noted as such.
Evidence: `evidence/first-boot.pcap`, `evidence/first-boot-destinations.txt`.

### 7. Driver and runtime install from zero, timed

From the shipped state, or from a stock OS reinstall when the terms allow
(the entry says which): the GPU or NPU driver by the vendor's documented
route (ROCm or the Vulkan path on AMD, CUDA on NVIDIA, nothing extra on
Apple), the runtime (llama.cpp by the vendor's recommended route, from source
if that is the route), the model download. Wall clock per step, human
decisions, failures, and whether the documented route worked as written.
Evidence: `evidence/setup.log`, raw installer output alongside.

### 8. The runtime protocol

`protocols/local-model-runtime-v2.md` with the machine as the subject. Held
fixed by memory class: gpt-oss-20b MXFP4 (the v1 file from
`ggml-org/gpt-oss-20b-GGUF`) on every box as the common yardstick;
gpt-oss-120b MXFP4 added at 96GB and above; the two-models step at 128GB and
above; the runtime pair wherever the vendor documents a stack of its own.
Steps 7 to 9 of that protocol (power, thermals, noise) are mandatory for a
desktop box: the plug meter is always on. Evidence: as that protocol.

### 9. Idle for 24 hours

When the loan allows: the box at the desktop with the model server running
and no requests, the capture host recording, the plug meter's energy counter
read at start and end. Reported: destinations contacted, bytes out,
watt-hours over the 24 hours. Evidence: `evidence/idle-24h.pcap`,
`evidence/idle-24h-destinations.txt`, `evidence/power/idle-24h.txt`.

### 10. Return condition

Firmware settings restored to the shipped values. Data wiped and the method
recorded with its output (`sudo nvme format /dev/nvme0n1 --ses=1`, the OS
reset path, or the vendor's image restored). Accessories checked against the
intake list. Photos of the unit and the packed box. Any wear or damage
stated. Courier and tracking into `INTAKE.md`. Evidence:
`evidence/return-wipe.txt`, `evidence/photos/return-<subject>.jpg`.

## What is reported

| Step | Finding rows | Unit |
|---|---|---|
| 1 | weight, dimensions, power supply rating, ports | kg, mm, W, list |
| 2 | firmware versions, Secure Boot, memory split shipped and used | versions, GB |
| 3 | capacity, speed, channels, computed and measured bandwidth | GB, MT/s, GB/s |
| 4 | drive model, interface, sequential read, free space, wear | GB/s, GB, percent |
| 5 | OS build, package count, boot-time services and timers, encryption | counts, list |
| 6 | first-boot destinations by owner, bytes out | hosts, MB |
| 7 | driver, runtime and model install times, decisions, failures | seconds, counts |
| 8 | every row of runtime v2 | as there |
| 9 | 24-hour destinations, watt-hours | hosts, Wh |
| 10 | wipe method, restored settings, condition | facts |

## Not measured in v1

Graphics and gaming, display outputs, Wi-Fi and USB throughput, a second
operating system (the OS used is stated; both only when the entry runs
both), clustering two boxes, long-term reliability, warranty and support.
