Skip to content

HIL

Minewing GW1 r1 hardware-in-the-loop

Physical Minewing HIL is operator-signed. Emulator CI and lab-surrogate runs do not close Minewing claimable rows.

GitHub CI (lab substitute)

When Minewing silicon is unavailable, CI job hil-ci-emulator runs scripts/ci/run-hil-emulator.sh: starts the agent with minewing-gw1-r1 profile + vcan, then DA_HIL_ENV=ci-emulator against the HIL harness. Evidence under evidence/qualification/ci/ — minewing_claimable is always false.

Runner (physical — still open)

# On the Minewing board (or SSH tunnel to its API):
DA_HIL_ENV=physical \
DA_HIL_BASE=http://127.0.0.1:9188 \
DA_HIL_PROFILE=minewing-gw1-r1 \
./scripts/hil/run-minewing-hil.sh

# Optional: attach WAN-loss evidence, then sign only if claimable:
DA_HIL_WAN_LOSS_LOG=/path/to/wan-loss.log \
DA_HIL_SIGN=1 DA_HIL_ENV=physical ./scripts/hil/run-minewing-hil.sh

Evidence lands in evidence/qualification/hil/<stamp>/ (results.json, SUMMARY.md, raw JSON captures). DA_HIL_SIGN=1 updates hardware-checklist.md only when minewing_claimable=true (physical env, profile match, zero fail/blocked).

Lab surrogate (recorded; not claimable)

An x86 lab host with Device Agent may run:

DA_HIL_ENV=lab-surrogate DA_HIL_STRICT=0 ./scripts/hil/run-minewing-hil.sh

Recorded stamp example: 20260914T162450Z (environment=lab-surrogate, minewing_claimable=false). That captures wiring evidence; it must not be signed as Minewing silicon.