21 added, 12 removed. Audit A to A.
---
name: db-auth-check
- description: Используй когда база 1С нужна для workspace init, dump, build, launch или update, а логин/пароль отсутствуют, неизвестны, не проходят или вывод команды похож на проблему лицензии
+ description: Используй для безопасной классификации уже полученного свидетельства об ошибке аутентификации или лицензии 1С, когда база нужна будущему runtime workflow, а логин/пароль отсутствуют, неизвестны или не проходят. Текущий applied runtime не запускай для проверки credentials.
argument-hint: "[connection]"
allowed-tools:
- - Bash
- Read
- Glob
- AskUserQuestion
---
# db-auth-check — доступ к базе без лишнего риска
- Этот skill проверяет доступ к базе перед операциями `v8-runner`, не перебирая пользователей и не пытаясь чинить лицензирование.
+ Этот skill классифицирует настройки и уже предоставленное runtime evidence, не
+ перебирая пользователей и не пытаясь чинить лицензирование.
+ - По INV-MCP-RUNTIME-RECEIPT текущий runtime-контракт: `unica.runtime.execute` — preview-only и вызывается только с `dryRun: true`; любой applied-режим возвращает fail-closed до workspace discovery и process spawn. Preview не является runtime verification. Не обходи этот отказ прямым runner-ом, через `unica.build.*` или fallback через `unica.runtime.job.*`.
+ - Пока applied runtime закрыт, не запускай auth probe и не выдавай чтение connection string или preview за успешное подключение к ИБ.
+
## Жесткие стопы
Если вывод любой команды похож на проблему лицензии, немедленно остановись и попроси пользователя исправить лицензию 1С в окружении. Не выполняй обходы и ремонт:
- `лиценз`, `license`, `HASP`, `nethasp`, `LM`, `программная лицензия`;
- `Не обнаружена лицензия`, `License not found`, `No license`, `Лицензия не найдена`;
- ошибки запуска платформы, где явно упомянуты лицензии.
## Правило пустых учетных данных
- Если пользователь не указал логин/пароль в connection string, аргументах или безопасном локальном конфиге:
+ Если пользователь не указал логин/пароль в connection string, аргументах или
+ безопасном локальном конфиге, не проверяй кандидатов запуском runtime. Попроси
+ пользователя указать или подтвердить credentials. Если пользователь уже
+ предоставил независимое свидетельство проверки, допустимо классифицировать
+ только два явно названных кандидата:
- 1. Проверь `Администратор` с пустым паролем.
- 2. Если не подошло, проверь `Admin` с пустым паролем.
- 3. Если не подошло, остановись и спроси пользователя, из-под кого подключаться.
+ 1. `Администратор` с пустым паролем.
+ 2. `Admin` с пустым паролем.
+ После двух подтверждённых отказов остановись и спроси пользователя, из-под кого подключаться.
+
Не пробуй другие имена, не создавай пользователя, не сбрасывай пароль.
## Workflow
- 1. Возьми connection из аргумента или `./v8project.yaml`.
- 2. Если credentials явно заданы, используй их без догадок.
- 3. Если credentials отсутствуют, выполни безопасную проверку двумя кандидатами выше.
- 4. Для проверки используй самый дешевый доступный read-only/info путь текущего инструмента. Если такого режима нет, запускай следующую необходимую операцию только с одним кандидатом за раз и классифицируй ошибку:
+ 1. Возьми connection из аргумента или `./v8project.yaml`, не публикуя её значение.
+ 2. Если credentials явно заданы, не проверяй их текущим preview: сообщи, что фактическая аутентификация не подтверждена.
+ 3. Если credentials отсутствуют, запроси их у пользователя; самостоятельно runtime probe не выполняй.
+ 4. Если пользователь предоставил результат отдельной проверки, классифицируй его:
- лицензия → hard stop;
- - неверный пользователь/пароль → следующий кандидат или вопрос пользователю;
+ - неверный пользователь/пароль → вопрос пользователю либо классификация следующего уже проверенного кандидата;
- база недоступна/путь неверный → сообщи конкретную ошибку и остановись.
+ 5. Не вызывай applied `unica.runtime.execute`, `unica.build.*`, `unica.runtime.job.*` или прямой runner ради auth-check.
## Передача credentials
- Предпочитай параметры/переменные окружения, если их поддерживает текущая команда.
- Если приходится записывать credentials в `v8project.yaml` или connection string, не делай это молча: предупреди пользователя и не коммить такой файл.
- Никогда не печатай пароль в итоговом сообщении или логах.