Commit graph

2 commits

Author SHA1 Message Date
jedarden
83c761a5e8 docs(bf-14wx5): document BLE identity fixture + verifiable run-sim-ble-fixture.sh
The bf-14wx5 deliverables were written but uncommitted (stuck-open-but-done —
auto-split fired at failure-count:3 only because the templated br close --body
had been failing). Commit the focused set so the bead is genuinely closable.

Adds:
- scripts/run-sim-ble-fixture.sh — canonical, self-verifying fixture: starts a
  fresh-data-dir mothership, registers a person (POST /api/people), binds the
  sim's advertised AA:BB:CC:DD:EE:00 (walker 0) via preregister + PUT, and gates
  on GET /api/ble/devices?registered=true showing person_id/person_name in BOTH
  phases.
- notes/ble-identity-fixture.md — reuse-note recording the exact REST sequence,
  the observed sim BLE address convention (AA:BB:CC:DD:EE:%02X per walker, ids
  from 0), and the answer to "must the device be seen-live first?": NO —
  PreregisterDevice sets last_seen_at=now so it falls inside the
  GetDevicesSeenInHours window with no live sighting, and the binding survives
  live sim --ble advertisements (ProcessRelayMessage upserts never touch
  person_id).

Verified 2026-07-08 at HEAD 36b9729: ./scripts/run-sim-ble-fixture.sh PASSes
phaseA (bind with NO live adv) and phaseB (binding survives live adv), exit 0.
All four acceptance criteria met; deliberately excludes scripts/run-sim-
identity.sh (parent bf-2m534 capstone) and notes/hardware-free-runtime.md
(bf-40hc re-verify).

Bead-Id: bf-14wx5
2026-07-08 13:59:41 -04:00
jedarden
eba9e74457 docs(bf-5cr3): capture deterministic hardware-free runtime reproduce artifact
Adds the single canonical reproduce for the working end-to-end runtime path
(sim connect -> CSI ingest -> phase/fusion -> tracked blob), so later beads
(e.g. bf-f841 blob-identity runtime checks) and reruns reuse it instead of
re-deriving the command sequence or the rate tuning that caused bf-40hc's
repeated failures.

- scripts/run-sim-local.sh: builds mothership + canonical sim
  (mothership/cmd/sim, the one with --verify) from source, starts the
  mothership on an ephemeral port/data dir, streams simulated CSI, and gates
  on peak>=1 blob via GET /api/blobs. No hardware/Docker/manual IP/manual token.
- notes/hardware-free-runtime.md: full reproduce sequence, the two gotchas
  (two cmd/sim packages; rate=30 not 20), the token path, env/params, and the
  determinism contract.

Verified clean-checkout run at HEAD 5bbe52c: peak_blob_count=2, first blob
@1s, sim --verify PASSED, 0 rejects, ~363 FPS, exit 0. Closes the chain
bf-3zll -> bf-3hji -> bf-51fq -> bf-5cr3.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-08 01:19:25 -04:00