clawdie-iso/skills/iso-validate-image/SKILL.md
Sam & Claude 0e6d8cbe53 Drop unresolved Clawdie service staging from USB (Sam & Codex)
Keeps service clawdie as a deployed-system contract only, removes the old mini-binary FEATURE_CLAWDIE staging lane from the ISO build, and adds explicit Linux-vs-FreeBSD proof boundaries for provider/runtime claims.\n\nChecks: ./scripts/check-format.sh; git diff --check; sh -n over scripts/ firstboot/ live/operator-session/ executables
2026-06-13 12:12:34 +02:00

2.8 KiB

name description
iso-validate-image Inspect a freshly built Clawdie operator USB image or mounted root to validate static runtime contracts and emit a Colibri validation manifest.

iso-validate-image

Use this skill on the FreeBSD build host after an image exists and the operator has assigned mounted-image validation. This is static validation only; it does not replace real hardware proof that SDDM/XFCE/input/audio work.

Manifest output

Write the result to:

tmp/colibri/iso-validation/<run_id>.json
tmp/colibri/iso-validation/latest.json

Schema: clawdie.iso.validation.v1. See docs/ISO-MANIFESTS.md.

Preconditions

Run from the repo root on FreeBSD. Fetch before reporting repo state:

git fetch origin
git status --short --branch
git rev-parse --short HEAD
ls -lh tmp/output

If an image is already mounted under tmp/cache/mnt, inspect it cautiously. If mount state is stale or unclear, use iso-build-cleanup before retrying.

Validation checklist

Record each item as a named check in the manifest:

  • /etc/rc.conf enables sddm.
  • /etc/rc.conf enables clawdie_live_gpu.
  • /etc/rc.conf enables powerdxx and the expected no-blank power/session policy files are present.
  • /usr/local/bin/mdo exists and is executable; sudo is not required by live operator-facing paths.
  • Operator CLIs expected by the current plan are present (pi, codex, and any intentionally retained package-list CLIs).
  • /usr/local/share/clawdie-iso/build-manifest.json exists inside the image.
  • CLAWDIESEED slice 3 exists when inspecting the full disk image.
  • clawdie-live-gpu and hardware report scripts are present and executable.
  • Intel and AMD KMS modules/firmware expected by the package lists are present; NVIDIA packages are staged/offline but not forced to load by default.
  • XFCE panel/session assets referenced by the live session are present.
  • Colibri binaries and colibri_daemon rc.d script are present and enabled for the live USB.
  • /usr/local/etc/rc.d/clawdie is absent on the baseline live USB; the Clawdie rc.d service name is reserved for installed/deployed systems.

Suggested inspection commands

Use exact device names from mdconfig/gpart on the build host; do not paste these blindly if another build is active.

IMG="tmp/output/<image>.img"
md=$(mdconfig -a -t vnode -f "$IMG")
gpart show -p "/dev/$md"

Mount the root partition read-only when possible, then inspect files under the mountpoint. Clean up the md device before finishing.

Finish

Write a clawdie.iso.validation.v1 manifest with:

  • image path and checksum/manifest inputs when available
  • mount devices and mountpoint used
  • pass/fail status for each checklist item
  • cleanup status for unmounts and mdconfig -d
  • an explicit limitation note: mounted validation is not graphical hardware proof