Commit graph

2 commits

Author SHA1 Message Date
jedarden
58faa9ac4a docs(bf-1yr1w): record --ble opt-in (SIM_BLE=1) in run-sim-local + re-verify matcher PASS
bf-1yr1w criterion 3: the --ble opt-in must be recorded in the canonical
runtime script (not a fork). scripts/run-sim-local.sh now carries an
opt-in env passthrough:

  SIM_BLE=1 ./scripts/run-sim-local.sh   # appends --ble to the sim invocation
  ./scripts/run-sim-local.sh             # default: --ble OFF, CSI->blob path unchanged

Default-off preserves the script's existing gate (CSI->blob). The --ble +
fixture + matcher gate remains scripts/run-sim-ble-match.sh; only the
opt-in itself is added here. A matching "--ble opt-in (SIM_BLE=1)"
subsection is added to notes/hardware-free-runtime.md so the recipe is
recorded there, not only in the fixture note.

Also chmod +x scripts/run-sim-ble-match.sh: it was committed non-executable
(mode 100644), so its documented invocation (./scripts/run-sim-ble-match.sh)
failed with EACCES. Now 100755 like the other run-sim-*.sh scripts.

Re-verified PASS (fresh run, 2026-07-08): bash scripts/run-sim-ble-match.sh
-> exit 0, GetMatch() returns "Alice" for blob_id=7 (confidence=0.714,
is_ble_only=false) via /api/ble/matches; 0 rejects, no panic. This is the
evidence for criteria 1+2: the bf-21v71 wire fix (GetMatch() copied onto
the served slice) fires for the sim fixture and resolves the seeded person
onto a live CSI blob.

Hygiene (change is shell+md+mode only, zero Go source): go vet ./... clean;
go test ./internal/... ./cmd/... all ok. The containerized integration
packages (test/acceptance, tests/e2e) are unaffected and tests/e2e remains
deliberately RED per notes/hardware-free-runtime.md (gated on bf-4q5w /
bf-5jeo), not a regression of this shell+md change.

Co-Authored-By: Claude <noreply@anthropic.com>
Bead-Id: bf-1yr1w
2026-07-08 14:28:58 -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