Doozer cross-links businesses by verified external IDs (Google Place, Ticketmaster, future services), never by name/city/state. Magellan is the mapping spine. Decided June 2026; not yet built.
Decision: Doozer is a data-driven ecosystem. A business is cross-linked to any external service by its verified ID for that service, never by matching name + city + state. The mapping layer is Magellan.
Name/city/state matching guesses ("The Stone Pony" vs "Stone Pony"), produces duplicates, and breaks silently. Every business already has a Google Place ID; venues built from Marquee have a Ticketmaster venue ID. The reliable join is the ID. Magellan makes that the only join.
businesses.id to its identity in every service it participates in:Google Places, Ticketmaster, and any future API/resource.
venue must have a TM id; a discovery-built plumber need not — and reports the gaps.
name → candidate lookup → confirm, or pull from the service's own API).
emits them as entity identifiers so AI/agents cross-reference the same way.
A business_id_map join table — (business_id, service, external_id, source, confidence, verified_at), unique per (business_id, service), indexed on (service, external_id) for reverse lookups — generalizing the existing hot columns businesses.google_place_id and businesses.tm_venue_id. Backfill from those; then retire the name-match fallback in _vdLinkVenues.
Status: directive recorded, not built. See project_magellan in the memory layer.