AI-governance core


НАЧАЛО >> Документация модуля AI >> AI-governance core📄 Скачать в DOCX


AI-governance core делает AI-сценарий управляемой операцией, а не произвольным вызовом модели, prompt-шаблона или инструмента. Модуль AI владеет общим runtime-контрактом: реестр операций, политики запуска, предварительная проверка, объяснимое решение, безопасное предложение результата, audit envelope и диагностические проверки.

1. Реестр операций

Операция описывается как AIOperationDefinition.

Обязательные параметры:

Системные definition-файлы читаются из modules/*/Resources/ai-governance/*.json. Это позволяет доменному модулю поставлять свои операции без изменения кода AI. Текущий срез содержит диагностическую operation ai.governance.selfTest, которая проверяет контракт без вызова модели.

Если operation использует prompt-шаблон, она указывает promptKey и при необходимости pinned promptVersion. Владельцем prompt-шаблонов, версий, переменных, response format и safe render contract является модуль AIPrompt; подробности описаны в разделе ?id=Help/Show&m=AIPrompt/Help/Registry.

2. Политики запуска

AIGovernancePolicy определяет, можно ли запускать операцию в конкретном контексте. Политика проверяет класс операции, required permissions, feature flag, статус публикации, аварийные выключатели AI, dry-run и требование ручного подтверждения.

Если operation или policy не найдена, feature flag выключен, Security запретил запуск или модуль AI аварийно выключен, preflight возвращает безопасный отказ до вызова модели, prompt renderer, provider adapter или tool executor.

3. Preflight

AI/PreflightOperation принимает массив:

Результат содержит decision: allowed, denied, requiresConfirmation, requiresConsent или dryRunOnly, список причин, диагностические коды, trace id, признаки modelCalled=false, toolCalled=false, domainWritePerformed=false и безопасные signals для Observability.

AI не реализует собственную систему прав и rollout. Решение Security и состояние feature flag передаются через общий контракт внешних модулей. Если обязательные права есть, но securityDecision не передан, запуск блокируется.

4. AISuggestion

AI/BuildSuggestion формирует безопасный AISuggestion по успешному preflight. Предложение не записывает данные в доменную БД и не выполняет workflow-переход.

AISuggestion содержит:

Если операция может привести к изменению данных, публикации сообщения, назначению ответственного, workflow-переходу, созданию файла или внешней отправке, результат получает статус needsReview и должен применяться только доменным модулем через собственный apply contract.

5. Audit

AI/CreateGovernanceAuditEnvelope создает безопасный audit envelope. Он фиксирует actor, operation key, owner module, source object, policy decision, feature flag state, required permissions, result status, suggestion id, human decision и trace id.

Audit envelope не хранит секреты, raw prompt, raw model output, скрытые поля, закрытые вложения и внутренние рассуждения модели. Внешняя запись произвольных audit-событий через AI/AuditEvent остается запрещенной.

6. HealthCheck и TestA

AI/CheckGovernanceHealth проверяет:

TestA-сценарии модуля AI покрывают публикацию схемы, список операций, карточку operation, where-used, успешный preflight, отказ неизвестной operation, отказ по feature flag, отказ Security, создание AISuggestion, маскирование секретных ключей и диагностику битых definition-файлов.

7. Границы модулей

AI владеет только governance runtime, operation registry, policy decision, AISuggestion, audit envelope и provider-проверками HealthCheck/TestA для этого контракта.

AIPrompt владеет prompt registry и versioning. AITool владеет allowlist инструментов и safe execution. AIProvider и AIModel владеют provider/model metadata и routing policy. Security, Flags, TraceContext, Observability, HealthCheck и TestA остаются владельцами своих общесистемных контрактов. Доменные модули владеют своими AI-операциями, UX и применением подтвержденного результата.