Quick and Claude Opus 4.8
ed6c084c68
feat(search): gate index events by active provider and harden rebuild reconcile
...
Completes the search-provider-interface wiring that the catalog hardening
commits already call into:
- Skip the transactional search-index-event write path when Meilisearch is
not the active provider (ItemRepository.WithActiveSearchProvider /
SearchIndexEventRepository.disabledByActiveProvider).
- Dead-letter catalog_search_index_events after 10 attempts instead of
retrying forever.
- Track the rebuild high-water mark (MaxEventID / MarkProcessedThrough) and
persist last_processed_event_id in UpdateStateAfterRebuild so a rebuild
reconciles events enqueued during the rebuild.
- Validate (read-only) the embedding lock when embedding a search query
instead of establishing/mutating it.
- Surface total_exact on the legacy /items browse response.
- Wire the active catalog search provider into the scanner and item repo at
startup.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-26 08:34:04 -04:00
..
2026-05-22 23:26:56 -04:00
2026-06-25 16:20:14 -04:00
2026-05-26 17:57:26 -04:00
2026-05-26 17:57:26 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-05 22:43:20 -04:00
2026-06-05 22:43:20 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 08:58:45 -04:00
2026-06-10 08:58:45 -04:00
2026-06-18 20:19:47 -04:00
2026-06-18 20:19:47 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-11 23:04:35 -04:00
2026-06-11 23:04:35 -04:00
2026-06-15 09:34:08 -04:00
2026-06-15 09:34:08 -04:00
2026-06-25 21:31:20 -04:00
2026-06-25 16:20:14 -04:00
2026-06-07 19:59:10 -04:00
2026-06-10 08:58:45 -04:00
2026-05-30 19:31:46 -07:00
2026-06-25 21:31:20 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-17 13:48:57 -04:00
2026-05-22 23:26:56 -04:00
2026-05-31 17:34:48 -04:00
2026-05-31 17:34:48 -04:00
2026-06-07 17:18:55 -04:00
2026-06-07 17:18:55 -04:00
2026-06-15 09:34:08 -04:00
2026-05-29 13:55:39 -04:00
2026-05-29 14:56:16 -04:00
2026-06-25 23:32:30 -04:00
2026-06-16 18:17:08 -04:00
2026-06-18 19:17:22 -04:00
2026-05-22 23:26:56 -04:00
2026-06-25 23:32:30 -04:00
2026-05-23 20:26:05 -04:00
2026-05-23 20:26:05 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-24 11:03:38 -04:00
2026-05-22 23:26:56 -04:00
2026-06-17 13:09:55 -04:00
2026-06-17 13:09:55 -04:00
2026-06-10 08:18:35 -04:00
2026-06-10 08:18:35 -04:00
2026-06-10 08:18:35 -04:00
2026-06-17 13:09:55 -04:00
2026-06-11 21:34:19 -04:00
2026-06-05 22:43:20 -04:00
2026-06-25 20:50:45 -04:00
2026-06-25 20:50:45 -04:00
2026-06-10 08:18:35 -04:00
2026-06-10 08:18:35 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-05 22:43:20 -04:00
2026-06-26 08:34:04 -04:00
2026-06-10 08:18:35 -04:00
2026-06-18 19:17:22 -04:00
2026-06-26 08:34:04 -04:00
2026-06-15 09:34:08 -04:00
2026-06-15 09:34:08 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-05 22:43:20 -04:00
2026-06-16 20:13:10 -04:00
2026-06-16 20:13:10 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-24 11:03:38 -04:00
2026-05-22 23:26:56 -04:00
2026-06-16 18:17:08 -04:00
2026-06-16 18:17:08 -04:00
2026-06-06 22:29:26 -04:00
2026-06-06 22:29:26 -04:00
2026-05-26 17:57:26 -04:00
2026-05-26 17:57:26 -04:00
2026-06-10 14:58:54 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 17:18:18 -04:00
2026-06-11 19:51:03 -04:00
2026-06-11 20:55:30 -04:00
2026-06-11 18:10:16 -04:00
2026-06-11 14:55:46 -04:00
2026-06-11 19:51:03 -04:00
2026-05-22 23:26:56 -04:00
2026-05-30 03:36:56 +00:00
2026-05-22 23:26:56 -04:00
2026-05-23 23:48:25 -04:00
2026-06-06 22:29:26 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-05 22:43:20 -04:00
2026-06-23 14:26:14 -04:00
2026-06-10 20:18:29 -04:00
2026-06-10 19:25:07 -04:00
2026-06-23 14:26:14 -04:00
2026-06-09 13:00:48 -04:00
2026-06-15 09:34:08 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 16:02:42 -04:00
2026-06-16 18:32:52 -04:00
2026-06-16 18:32:52 -04:00
2026-05-22 23:26:56 -04:00
2026-06-15 09:34:08 -04:00
2026-06-15 09:34:08 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 08:18:35 -04:00
2026-05-29 22:40:55 -04:00
2026-06-09 13:00:48 -04:00
2026-06-09 13:00:48 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-08 15:25:48 -04:00
2026-06-23 14:16:31 -04:00
2026-06-23 14:16:31 -04:00
2026-06-15 10:51:12 -04:00
2026-06-15 10:51:12 -04:00
2026-06-15 09:34:08 -04:00
2026-06-15 09:34:08 -04:00
2026-06-15 09:34:08 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-17 09:51:43 -04:00
2026-06-17 09:51:43 -04:00
2026-06-17 09:51:43 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 20:18:29 -04:00
2026-06-10 16:02:42 -04:00
2026-05-22 23:26:56 -04:00
2026-05-26 17:57:26 -04:00
2026-05-29 23:59:12 -04:00
2026-05-22 23:26:56 -04:00
2026-06-07 21:27:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 08:18:35 -04:00
2026-06-15 09:34:08 -04:00
2026-06-10 08:58:45 -04:00
2026-06-24 11:03:38 -04:00
2026-06-05 22:43:20 -04:00
2026-06-18 19:17:22 -04:00
2026-06-18 19:17:22 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 08:58:45 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 08:18:35 -04:00
2026-05-24 00:04:25 -04:00
2026-05-29 22:40:55 -04:00
2026-05-29 22:40:55 -04:00
2026-05-29 22:40:55 -04:00