Регламенты агентства: проверка роли до поиска и прямой ссылки
Одинаковое слово «скидка» не дает роли sales доступ к индивидуальному документу account-team.
Задача и принятое решение
В корпусе есть общая политика предложения и индивидуальные учебные условия клиента X. Поиск и обращение по ID должны применять одно правило видимости.
Я вынес фильтр роли перед лексическим поиском и перед прямым ID. Меняя роль в стенде, можно увидеть ту же проверку на двух путях. Отзыв роли исключает источник даже при сохраненном ID.
Это публичный учебный корпус и тест правил доступа, а не место хранения закрытых клиентских данных.
Проверить решение
Измените исходные строки или параметры и пересчитайте результат. Данные остаются в этой странице.
| Источник | Название | Версия | Текст | Состояние |
|---|---|---|---|---|
| POL | Общая политика скидки | 1 | Скидка в учебном предложении согласуется до отправки сметы. Менеджер sales заполняет основание и перечень работ, затем передает запрос руководителю. Пока согласование не записано в карточке, клиенту отправляется базовая стоимость. Индивидуальные условия не берутся из чужих проектов. | Источник применим |
Показаны полные тексты найденных документов. Генерации ответа и обращения к модели нет.
Исходный набор
Полные авторские инструкции сохранены отдельными TXT и в source.json. Правила видимости исполняются локально на несекретном корпусе.
Изменить входные строки
Посмотреть исходные строки
| ID | Заголовок | Текст | Модель | Версия | Роли | Партнер | Статус | Правило | Значение |
|---|---|---|---|---|---|---|---|---|---|
| POL | Общая политика скидки | Скидка в учебном предложении согласуется до отправки сметы. Менеджер sales заполняет основание и перечень работ, затем передает запрос руководителю. Пока согласование не записано в карточке, клиенту отправляется базовая стоимость. Индивидуальные условия не берутся из чужих проектов. | 1 | sales;account-team | активен | discount | approval | ||
| X1 | Условия клиента X | Для учебного клиента X в версии 3 зафиксирована скидка 7% только на сопровождение. Разработка сайта исключена из этой договоренности. Условия доступны команде account-team; переносить их в другие предложения нельзя. После завершения периода требуется новое согласование. | 3 | account-team | активен | discount-x | 7-support | ||
| CHECK | Подготовка сметы | Перед отправкой сметы проверьте состав работ, сроки поставки материалов и имя ответственного. Отдельно перечислите допущения. Отсутствующее согласование не заменяется уверенной формулировкой в письме. | 1 | sales;account-team | активен | estimate | check | ||
| OLD | Старая политика | Архивная политика разрешала отправлять черновую скидку до согласования. Она снята с использования и не определяет действующий порядок. | 0 | sales;account-team | архив | discount | old |
Что получилось
В четырех выполненных сценариях общая политика доступна sales, индивидуальный X1 — только account-team. Прямая ссылка не обходит правило, а флаг отзыва блокирует и поиск, и сохраненный ID. Эти свойства относятся к функции выдачи стенда.
Выполненная проверка
| Проверка | Результат |
|---|---|
| sales видит общую политику и не видит X1 | Пройдена |
| Прямой IDX1 не обходит роль sales | Пройдена |
| account-team получает полный разрешенный источник | Пройдена |
| Отозванный доступ блокирует сохраненный ID | Пройдена |
Это исполняемая модель правил выдачи на публичном авторском корпусе. Она не является защищенным корпоративным сервером: все учебные документы доступны в исходном наборе. Поиск лексический, без LLM.
Скачать материалы и повторить проверку
source.json · source.csv · result.json · result.csv · engine.js · verify.cjs · checks.json · style.css · document-POL.txt · document-X1.txt · document-CHECK.txt · document-OLD.txt
Локальная проверка: node verify.cjs. Нужен Node.js; сетевые обращения не выполняются.