Удаленный документ: пять путей чтения проверяют источник заново
Поиск, индекс, кэш, история ответа и прямая ссылка перестают отдавать текст после удаления его первичного документа.
Задача и принятое решение
D17 удален, но его старый фрагмент остается в пяти производных записях: поиске, индексе, кэше, истории и ссылке. Каждый путь проверяет актуальное состояние исходного документа перед выдачей текста.
Я связал производные записи с sourceId и проверяю первичный реестр на каждом чтении. Стенд сохраняет остаточные записи, чтобы отказ можно было проверить. Действующий D18 продолжает выдаваться на тех же пяти путях.
Локальный стенд проверяет правило повторной авторизации чтения. Он не доказывает физическое удаление из реального хранилища.
Проверить решение
Измените исходные строки или параметры и пересчитайте результат. Данные остаются в этой странице.
| Запись | Источник | Путь | Решение | Текст |
|---|---|---|---|---|
| OLD-0 | D17 | поиск | Отказать | |
| NEW-0 | D18 | поиск | Выдать | Действующая инструкция: сохраните архив проекта с номером версии. Приложите перечень измененных файлов. Перед передачей сверьте состав архива с этим перечнем. |
В выдачу берется актуальный текст первичного источника, а не сохраненная копия.
Исходный набор
Авторский контрольный набор; не клиентские документы и не результаты внешней модели.
Изменить входные строки
Посмотреть исходные строки
| ID | Тип | Источник | Статус | Текст |
|---|---|---|---|---|
| D17 | источник | D17 | удален | Старая инструкция: файлы проекта передавались в общую папку без списка версий. |
| D18 | источник | D18 | активен | Действующая инструкция: сохраните архив проекта с номером версии. Приложите перечень измененных файлов. Перед передачей сверьте состав архива с этим перечнем. |
| OLD-0 | поиск | D17 | остаточная запись | Старая инструкция: файлы проекта передавались в общую папку без списка версий. |
| NEW-0 | поиск | D18 | запись | Действующая инструкция: сохраните архив проекта с номером версии. Приложите перечень измененных файлов. Перед передачей сверьте состав архива с этим перечнем. |
| OLD-1 | индекс | D17 | остаточная запись | Старая инструкция: файлы проекта передавались в общую папку без списка версий. |
| NEW-1 | индекс | D18 | запись | Действующая инструкция: сохраните архив проекта с номером версии. Приложите перечень измененных файлов. Перед передачей сверьте состав архива с этим перечнем. |
| OLD-2 | кэш | D17 | остаточная запись | Старая инструкция: файлы проекта передавались в общую папку без списка версий. |
| NEW-2 | кэш | D18 | запись | Действующая инструкция: сохраните архив проекта с номером версии. Приложите перечень измененных файлов. Перед передачей сверьте состав архива с этим перечнем. |
| OLD-3 | история | D17 | остаточная запись | Старая инструкция: файлы проекта передавались в общую папку без списка версий. |
| NEW-3 | история | D18 | запись | Действующая инструкция: сохраните архив проекта с номером версии. Приложите перечень измененных файлов. Перед передачей сверьте состав архива с этим перечнем. |
| OLD-4 | ссылка | D17 | остаточная запись | Старая инструкция: файлы проекта передавались в общую папку без списка версий. |
| NEW-4 | ссылка | D18 | запись | Действующая инструкция: сохраните архив проекта с номером версии. Приложите перечень измененных файлов. Перед передачей сверьте состав архива с этим перечнем. |
Что получилось
Проверены все пять путей. D17 не выдается после удаления, хотя его производные записи сохранены в стенде. D18 остается доступен; после изменения первичного текста индекс показывает новую редакцию.
Выполненная проверка
| Проверка | Результат |
|---|---|
| Поиск блокирует D17 и сохраняет D18 | Пройдена |
| Сохраненная история проверяет источник заново | Пройдена |
| Прямая ссылка не обходит удаление | Пройдена |
| Кэш не выдает старый текст после удаления D18 | Пройдена |
| Индекс читает новую редакцию вместо старой производной копии | Пройдена |
Все тексты авторские и публичные. Защищенность сервера, стирание резервных копий и сетевые политики этим стендом не проверяются.
Скачать материалы и повторить проверку
source.json · source.csv · result.json · result.csv · engine.js · verify.cjs · checks.json · style.css
Локальная проверка: node verify.cjs. Нужен Node.js; сетевые обращения не выполняются.