Проверка жизненного цикла · P45-C06

Удаленный документ: пять путей чтения проверяют источник заново

Поиск, индекс, кэш, история ответа и прямая ссылка перестают отдавать текст после удаления его первичного документа.

Задача и принятое решение

D17 удален, но его старый фрагмент остается в пяти производных записях: поиске, индексе, кэше, истории и ссылке. Каждый путь проверяет актуальное состояние исходного документа перед выдачей текста.

Я связал производные записи с sourceId и проверяю первичный реестр на каждом чтении. Стенд сохраняет остаточные записи, чтобы отказ можно было проверить. Действующий D18 продолжает выдаваться на тех же пяти путях.

Локальный стенд проверяет правило повторной авторизации чтения. Он не доказывает физическое удаление из реального хранилища.

Проверить решение

Измените исходные строки или параметры и пересчитайте результат. Данные остаются в этой странице.

2Кандидатов
1Выдано
1Заблокировано
ЗаписьИсточникПутьРешениеТекст
OLD-0D17поискОтказать
NEW-0D18поискВыдатьДействующая инструкция: сохраните архив проекта с номером версии. Приложите перечень измененных файлов. Перед передачей сверьте состав архива с этим перечнем.

В выдачу берется актуальный текст первичного источника, а не сохраненная копия.

Исходный набор

Авторский контрольный набор; не клиентские документы и не результаты внешней модели.

Изменить входные строки
Посмотреть исходные строки
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; сетевые обращения не выполняются.