1.7.3
Fixed (#401)
DualStoreне реализовывалstore.ToolSearcher— без двух делегирующих методов type assertion в гейтах toolsearch (actor.go/loop.go) всегда проваливался, и per-server deferred-режим тулов (f5e8848 / #372) молча не работал, а в journal на каждом ходе сыпалсяWARN toolsearch: store does not implement ToolSearcher; the middleware stays disabled(#401; десятки раз в день с v1.5.1). Тонкость диагностики issue: main.go оборачивает в DualStore стор ВСЕГДА, поэтому middleware был выключен не только на dual-store/PG-инстансах, а во всех деплоях. ДобавленыUpsertToolIndex/SearchToolsFTS(делегирование через capability-резолвер —currentтипизирован интерфейсомStore, где методов ToolSearcher нет by-design #329) и compile-time assertionvar _ ToolSearcher = (*DualStore)(nil), который и должен был поймать регрессию v1.5.1.
Review (#401)
- ocr review — 0 находок. Проверки:
go test ./... -count=1,golangci-lint run ./internal/store/...(0),go vet,make build-cross(6 платформ) — зелёные. Тесты:TestDualStore_ImplementsToolSearcher(compile-time контракт),TestDualStore_ToolSearcherDelegation— round-trip upsert+search черезDualStore{current: SQLiteStore}с проверкой, что индекс реально лёг в бэкенд. Исчезновение warn на проде — после деплоя.