Duplication audit: 3 hand-rolled config.StoreInterface mocks (internal/mocks/stores.go MockConfigStore, internal/analytics/collector_test.go mockConfigStore, internal/server/test_helpers_test.go mockConfigStoreForHealth) must each gain a stub for EVERY new StoreInterface method - L5 alone had to touch all 3 for 2 new methods; this recurs on #1362/#1368/etc. Consolidate: have the smaller mocks embed mocks.MockConfigStore (override only what they exercise), or split StoreInterface into role interfaces. Reduces the per-method tax + the interface-widening-completeness-trap surface.
Duplication audit: 3 hand-rolled config.StoreInterface mocks (internal/mocks/stores.go MockConfigStore, internal/analytics/collector_test.go mockConfigStore, internal/server/test_helpers_test.go mockConfigStoreForHealth) must each gain a stub for EVERY new StoreInterface method - L5 alone had to touch all 3 for 2 new methods; this recurs on #1362/#1368/etc. Consolidate: have the smaller mocks embed mocks.MockConfigStore (override only what they exercise), or split StoreInterface into role interfaces. Reduces the per-method tax + the interface-widening-completeness-trap surface.