spaxel/mothership/internal
jedarden a612584841 feat(bf-5151): add canonical identity fields to blob creation types
Add the three new canonical identity fields — PersonName, AssignedColor,
IdentityResolved — to the four primary tracked-blob struct types that are
constructed at the blob-creation sites catalogued in bf-1q3m:

  - signal.TrackedBlob   (internal/signal/processor.go)   — canonical type;
                                                            api.TrackedBlob is
                                                            a type alias of it
  - tracker.Blob (3D)    (internal/tracker/tracker.go)
  - tracking.Blob (2D)   (internal/tracking/tracker.go)
  - automation.TrackedBlob (internal/automation/engine.go)

The camelCase JSON keys (personName, assignedColor, identityResolved) match
the dashboard Blob interface in dashboard/types/spaxel.d.ts, which viz3d.js
reads directly. The legacy snake_case PersonLabel/PersonColor fields are
retained as deprecated aliases for backward compatibility.

Per the task, the fields are left at their zero values for existing blobs:
empty strings and a nil *bool all carry omitempty, so they serialize as
omitted (undefined in JS). A follow-up bead populates them from the BLE
identity sidecar. IdentityResolved is *bool to faithfully represent the
tri-state semantics (nil=unattempted, &true=resolved, &false=failed).

fusion.Blob is intentionally untouched: it is the pre-identity Fresnel peak
type ({X,Y,Z,Confidence} only) and is out of scope for identity per bf-1q3m.

Verified: gofmt clean, go vet ./... clean, go test ./... passes; marshaling
check confirms zero-value blobs omit the fields (undefined) while set blobs
emit the camelCase keys.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-06 17:37:06 -04:00
..
analytics style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
apdetector style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
api test(bf-3y9r): verify simulator positions reach fusion accumulation grid 2026-07-06 13:30:19 -04:00
auth style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
automation feat(bf-5151): add canonical identity fields to blob creation types 2026-07-06 17:37:06 -04:00
autoupdate style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
ble fix(lint): resolve golangci-lint v2 failures blocking CI 2026-06-03 23:34:50 -04:00
briefing style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
config feat(onboarding): migration window, Unpaired badge, re-provision flow 2026-04-24 18:46:47 -04:00
dashboard style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
db style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
diagnostics style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
diskspace style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
doctor style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
eventbus style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
events style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
explainability style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
falldetect style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
fleet feat(ingestion): persist hello-announced node position in fleet registry (bf-24xp) 2026-07-03 18:42:34 -04:00
floorplan style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
fusion test(bf-4b1c): differential lock-in for geometry placement and fusion peaks 2026-07-06 13:49:20 -04:00
guidedtroubleshoot feat(ingestion): persist hello-announced node position in fleet registry (bf-24xp) 2026-07-03 18:42:34 -04:00
health style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
help style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
ingestion feat(bf-28dv): implement zone-aware rate control (Component 24) 2026-07-05 23:16:08 -04:00
learning style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
loadshed style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
localization style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
localizer/fusion style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
mqtt style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
notifications style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
notify style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
ota style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
oui style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
prediction style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
provisioning style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
recorder feat(diskspace): implement runtime disk-space monitor with pause-on-low behavior 2026-05-24 10:43:25 -04:00
recording test: implement acceptance scenario integration tests (AS-1 through AS-6) 2026-05-05 05:45:15 -04:00
render style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
replay style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
shutdown style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
signal feat(bf-5151): add canonical identity fields to blob creation types 2026-07-06 17:37:06 -04:00
simulator docs(bf-2irz): verify registry bridge receives simulator positions 2026-07-06 01:37:40 -04:00
sleep docs(bf-5613): analyze multi-person bedroom sleep monitoring edge case 2026-07-06 02:47:37 -04:00
startup feat: startup phase sequencing with 30s timeout enforcement 2026-04-07 12:40:25 -04:00
timeline style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
tracker feat(bf-5151): add canonical identity fields to blob creation types 2026-07-06 17:37:06 -04:00
tracking feat(bf-5151): add canonical identity fields to blob creation types 2026-07-06 17:37:06 -04:00
volume style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
webhook style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00
zones style(mothership): run go fmt to format all Go code 2026-05-24 15:30:02 -04:00