Summary
PR #2814 (tracker hardening and core, merged 2026-03-30) refactored *dolt.DoltStore to the storage.DoltStorage interface in cmd/bd/routed.go. This removed all prefix-based routing functions that used routes.jsonl:
routing.ResolveBeadsDirForID() — match ID prefix to routes.jsonl entry
openStoreForRig() — open a read-only store for a different rig's database
resolveExternalDepsViaRouting() — resolve cross-database dependency references
resolveBlockedByRefs() — resolve external blockers via routing
needsRouting() / getRoutedStoreForID() — routing detection
beadsDirOverride() — BEADS_DIR check
These were replaced with simple local-first → contributor auto-routing fallback, which doesn't consult routes.jsonl.
Question
Was this removal intentional as part of the interface abstraction, or was it an accidental side effect of the refactor? The PR description doesn't mention routing changes.
Impact
In a Gas Town multi-rig setup with a shared Dolt server, bd show <other-rig-prefix-id> no longer resolves across databases from the town root. Previously this worked via ResolveBeadsDirForID matching the prefix in routes.jsonl and opening the target store.
Affected commands (that previously routed): bd show, bd close, bd update, bd dep, bd edit, bd delete, bd reopen.
bd list and bd ready were never cross-database (expected).
Relevant history
Environment
- bd 0.63.3 (Homebrew)
- Gas Town 0.13.0
- 9 rigs on shared Dolt server (port 3307)
Summary
PR #2814 (tracker hardening and core, merged 2026-03-30) refactored
*dolt.DoltStoreto thestorage.DoltStorageinterface incmd/bd/routed.go. This removed all prefix-based routing functions that usedroutes.jsonl:routing.ResolveBeadsDirForID()— match ID prefix to routes.jsonl entryopenStoreForRig()— open a read-only store for a different rig's databaseresolveExternalDepsViaRouting()— resolve cross-database dependency referencesresolveBlockedByRefs()— resolve external blockers via routingneedsRouting()/getRoutedStoreForID()— routing detectionbeadsDirOverride()— BEADS_DIR checkThese were replaced with simple local-first → contributor auto-routing fallback, which doesn't consult
routes.jsonl.Question
Was this removal intentional as part of the interface abstraction, or was it an accidental side effect of the refactor? The PR description doesn't mention routing changes.
Impact
In a Gas Town multi-rig setup with a shared Dolt server,
bd show <other-rig-prefix-id>no longer resolves across databases from the town root. Previously this worked viaResolveBeadsDirForIDmatching the prefix inroutes.jsonland opening the target store.Affected commands (that previously routed):
bd show,bd close,bd update,bd dep,bd edit,bd delete,bd reopen.bd listandbd readywere never cross-database (expected).Relevant history
11235f0d— feat: resolve cross-database deps via prefix routes (bd-k0pfm)7a75f1f4— fix: skip local-first check when prefix maps to different database (bd-7vk)73c66ad3— Merge PR feat: tracker hardening, graph integrity, and ready --explain #2814 (removed all of the above)Environment