docs: plan search review interface #24
Reference in New Issue
Block a user
Delete Branch "docs/search-review-interface-plan"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Добавляет план внутреннего интерфейса оценки выдачи OpenSearch юристами. Связано с #23; задача #18 заменена этим подходом.
Независимый review: два blocking finding. (1) План заявляет, что клиент не может подменить документ/позицию, но POST получает
results_json,index_nameиalgorithm_versionбез серверного механизма связывания с выдачей. Добавьте серверный snapshot/token:GET /searchсоздаёт/возвращает ID снимка с серверными результатами и версиями, а POST принимает этот ID и только оценки/комментарии, проверяя rank/code/edition на сервере. (2) Ограничение доступа упомянуто для UI и сохранения, но не дляGET /search-reviews/export; экспорт содержит внутренние оценки и комментарии, поэтому должен быть закрыт тем же локальным/VPN или reverse-proxy auth. Остальное согласовано с #23 и текущими GET/searchи/documents/{code}/editions/{edition}; SQLite и статическая страница — минимальный реализуемый путь.Повторный независимый review полного PR после
9b28616завершён: blocking findings нет. Оба замечания устранены: краткоживущий HMAC-подписанный снимок связывает оценки с серверной выдачей, а сервер сам формируетresults_jsonи отклоняет подменённые позиции/документы; ограничение доступа теперь явно распространяется на все/search-reviews, включая экспорт. Дополнительных регрессий и избыточной сложности не выявлено.Финальный независимый review полного PR после
57e4645завершён: blocking findings нет. CHANGELOG корректно отражает добавленный план. HMAC-подписанный краткоживущий снимок и серверное формирование результатов по-прежнему описаны корректно; ограничения доступа охватывают экспорт. Changelog-коммит не внёс регрессий.