НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.3 >> [I128-2833] AI-governance core: policy runtime и реестр AI-операций📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Новые возможности | 2026.3 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль AI - Искусственный интеллект
Завершено: 08.09.2026 13:48
Нужно расширить существующий модуль AI так, чтобы он стал владельцем общего AIgovernance core: runtime проверки политик и реестра управляемых AIопераций.
Доменный модуль должен иметь возможность зарегистрировать AI-операцию, проверить возможность ее запуска для конкретного пользователя и контекста, получить объяснимое решение политики, запустить операцию только при выполнении ограничений и вернуть результат как предложение, которое не изменяет доменные данные без отдельного подтверждения и применения доменным модулем.
В системе уже есть модули AI, AIProvider, AIModel, AIPrompt и AITool. Они должны развиваться как единое семейство, но первый срез должен оставаться небольшим и промышленно проверяемым: именно модуль AI владеет общим governance runtime и реестром AI-операций.
AI-сценарий в ИРБИС 128 не должен быть произвольной кнопкой вызова модели, provider adapter или tool executor. Он должен быть управляемой операцией с устойчивым ключом, владельцем, описанием цели, политикой запуска, правами, feature flag, result envelope, audit и TestA/Help покрытием.
Доменный модуль не должен напрямую вызывать модель или инструмент в обход AI-governance. Прикладной модуль описывает свою операцию и доменные правила применения результата, а AI проверяет общий governance contract и возвращает безопасный результат.
Нужно реализовать в модуле AI реестр AIOperationDefinition. Каждая операция должна иметь стабильный ключ, название, описание, owner module, назначение, тип результата, режим выполнения, ссылку на Help, ссылку на TestA-сценарий, статус публикации и системный или пользовательский признак происхождения.
AIOperationDefinition должна описывать минимальный набор governance-ссылок: required permissions, feature flag key, policy key, input profile key, prompt key, model policy key и tool policy key. В этом срезе нужно хранить и проверять наличие этих ссылок на уровне контракта, но не реализовывать полноценный prompt registry, tool registry, provider/model routing или сбор входных данных.
Нужно реализовать AIGovernancePolicy как policy runtime для решения вопроса, можно ли запускать AIоперацию в данном контексте. Политика должна учитывать actor/principal, owner module, operation key, тип объекта, проектный или workflowконтекст, класс операции, требование ручного подтверждения, required permissions, feature flag, аварийное отключение AI и режим dry-run.
Governance API должен поддерживать preflight-проверку без вызова модели. Результат preflight должен быть объяснимым: allowed, denied, requiresConfirmation, requiresConsent, dryRunOnly, список причин, диагностические коды и ссылки на настройки, если они доступны пользователю или администратору.
Отсутствие подходящей политики, выключенный feature flag, отказ Security, неизвестная операция, неподдержанный тип результата или аварийное отключение AI должны приводить к безопасному отказу до вызова модели, provider adapter, prompt renderer или tool executor.
Нужно реализовать единый result envelope для AI-операции. Результат должен возвращаться как AISuggestion или безопасный отказ, а не как прямое изменение доменной записи. AISuggestion должен содержать статус, operation key, owner module, source object reference, result type, безопасное пользовательское представление, warnings, confidence или оценку качества при наличии, expires at, policy decision id, audit id и trace id при наличии TraceContext.
Нужно закрепить invariant ручного подтверждения: любая AIоперация, которая может привести к изменению данных, публикации сообщения, workflowпереходу, назначению ответственного, созданию файла или внешней отправке, должна возвращать предложение или draft. Фактическое применение результата выполняет только доменный модуль через свой apply contract и собственные проверки прав.
Нужно реализовать базовый audit envelope AI-governance. Audit должен фиксировать actor, operation key, owner module, source object, policy decision, feature flag state, required permissions, result status, suggestion id или result hash, human decision при наличии, trace id и безопасные диагностические признаки.
Audit не должен хранить секреты provider-ов, скрытые поля, закрытые вложения, полный prompt payload, полный raw model output, персональные данные без прав, внутренние рассуждения модели и данные, которые пользователь не имел права видеть.
Нужно интегрировать AI-governance core с Security. Проверка запуска операции должна вызывать Security по actor, operation, source object, target object при наличии, required rights и project/workflow context. AI не должен повышать права пользователя и не должен использовать service account как способ расширить доступ исходного actor без явного системного контракта.
Нужно интегрировать AIgovernance core с Flags. Feature flag должен уметь отключать AIоперацию по модулю, проекту, роли, типу записи, operation key и общему аварийному выключателю. Выключенный flag должен блокировать операцию до вызова модели или инструмента.
Нужно интегрировать AIgovernance core с TraceContext. Если во входящем UI/API/workflow/Queueсценарии есть trace id, он должен попасть в policy decision, AISuggestion, audit и diagnostics. Если trace id отсутствует и общий contract допускает создание trace, AI должен использовать общий механизм TraceContext, а не собственный частный trace-идентификатор.
Нужно публиковать safe signals в Observability: policy allowed/denied, operation requested, suggestion created, confirmation required, operation failed, execution duration, failure class и diagnostic code. Signals не должны содержать raw prompt, скрытые поля, секреты или лишние персональные данные.
Нужно подготовить HealthCheck provider для AI-governance core. Проверки должны находить битые operation definitions, отсутствующие policy bindings, неизвестные feature flags, отсутствующие required permissions, недоступный Security contract, отключенный AI runtime, отсутствующее TestA/Help покрытие и опасные permissive defaults.
Нужно подготовить TestA-сценарии для governance core: успешный preflight разрешенной операции, отказ при неизвестной операции, отказ при выключенном feature flag, отказ Security, режим requiresConfirmation, запрет автоматического применения результата, наличие trace id, audit без секретов и hidden fields, HealthCheck для битых ссылок.
Нужно обновить Help модуля AI: назначение AIgovernance core, отличие operation definition от prompt/tool/model policy, порядок подключения доменного модуля, preflightпроверка, значения policy decision, ручное подтверждение, audit, diagnostics, HealthCheck и TestA.
AI владеет governance runtime, реестром AIOperationDefinition, AIGovernancePolicy, preflight/explainable decision, безопасным result envelope AISuggestion, invariant ручного подтверждения, audit envelope, HealthCheck/TestA/Help первого среза и точкой входа для доменных AI-операций.
AIPrompt владеет prompt registry, prompt versioning, prompt variables, response format, publish/deprecate и whereused promptшаблонов. Реализация этих возможностей не входит в этот срез.
AITool владеет tool allowlist, input/output schema, side effects, confirmation policy, required rights, limits и безопасным execution pipeline инструментов. Реализация этих возможностей не входит в этот срез.
AIProvider и AIModel владеют справочниками provider/model, capabilities, local/external/offline признаками, cost/context limits, availability и routing metadata. Реализация provider/model policy и routing не входит в этот срез.
Security владеет правами, grants/denies, ролями, field/view security, masking и audit доступа. AI обязан вызывать Security, но не реализует собственный параллельный механизм прав.
Flags владеет feature flags, staged rollout и аварийным отключением функций. AI использует Flags для решения governance policy, но не реализует собственный механизм rollout.
TraceContext владеет созданием, приемом, распространением и диагностическим объединением trace id. AI только принимает и передает trace id в своих decision, suggestion, audit и diagnostics.
Observability владеет routing, хранением, агрегацией, retention, dashboards и diagnostic packages. AI публикует только safe signals своего домена.
HealthCheck владеет общим механизмом запуска и агрегации проверок. AI поставляет provider-проверки для своего governance core.
TestA владеет общим тестовым каркасом. AI поставляет сценарии, fixtures и expected results для governance core.
Tasks и другие доменные модули владеют своими AI-операциями, input profiles, пользовательским UX, доменными ограничениями и применением подтвержденного результата. AI не должен знать внутреннюю структуру записи Tasks или другого доменного модуля сверх опубликованного контракта операции.
Не входит реализация AIPrompt versioning, редактора promptшаблонов и migration promptов.
Не входит реализация AITool policy, allowlist инструментов и execution pipeline writetoolов.
Не входит реализация AIProvider/AIModel routing, fallback model policy, стоимость моделей, local runtime readiness и provider secrets.
Не входит полноценная реализация AIInputProfile, masking/redaction, consent на внешнюю передачу и сбор входных данных из record fields, вложений, FT, комментариев и истории.
Не входит реализация конкретных AI-операций Tasks: классификация задачи, поиск похожих задач, резюме истории, черновик ответа или комментария.
Не входит прямое изменение доменных записей, автоматическое выполнение workflow-переходов, публикация ответов заявителю, назначение ответственного или создание внешних отправок по результату AI.
Не входит обучение моделей, model hosting, GPU/runtime management, RAGхранилище и внешние AIинтеграции.
Не входит постоянная поддержка старого AI.ProfilesJson как compatibility fallback. Если перед реализацией будут подтверждены действующие установки AI.ProfilesJson, миграция должна быть оформлена отдельным срезом с dry-run и отчетом различий.
В модуле AI есть реестр AIOperationDefinition со стабильными ключами, названиями, описаниями, owner module, типами результата, статусом публикации, ссылками на policy, permissions, feature flag, Help и TestA.
Администратор или диагностический API может получить список AI-операций, открыть карточку операции, увидеть owner module, статус, тип результата, обязательные права, feature flag и диагностические ошибки настройки.
AI предоставляет preflight/governance API, который проверяет запуск операции без вызова модели, prompt renderer, provider adapter или tool executor.
Preflight возвращает explainable decision: allowed, denied, requiresConfirmation, requiresConsent или dryRunOnly, а также безопасные причины и диагностические коды.
Неизвестная операция, отсутствующая policy, выключенный feature flag, отказ Security или аварийное отключение AI дают безопасный отказ до любых внешних вызовов.
AI не повышает права пользователя и не обходит Security; service account не расширяет доступ исходного actor без явного системного контракта.
Любой результат операции с возможными побочными эффектами возвращается как AISuggestion или draft и не применяется автоматически.
AISuggestion содержит operation key, owner module, source object reference, result type, статус, warnings, ссылку на policy decision, audit id, expires at и trace id при наличии.
Доменный модуль остается владельцем применения результата: AI не записывает изменения напрямую в доменную БД и не выполняет workflowпереходы вместо доменного ownerа.
Audit фиксирует actor, operation key, owner module, source object, policy decision, feature flag state, required permissions, result status, suggestion id или result hash, human decision при наличии и trace id.
Audit, logs, diagnostics, Observability signals и TestA expected results не раскрывают секреты, скрытые поля, закрытые вложения, полный raw prompt, полный raw model output и данные без прав.
TraceContext проходит через governance decision, suggestion, audit и diagnostics.
Observability получает безопасные signals по запуску, отказу, требованию подтверждения, созданию предложения, ошибке и длительности операции.
HealthCheck provider AI находит битые operation definitions, отсутствующие policy bindings, неизвестные feature flags, отсутствующие required permissions, недоступный Security contract, отключенный AI runtime, отсутствующее TestA/Help покрытие и опасные permissive defaults.
TestA покрывает успешный preflight, отказ неизвестной операции, отказ выключенного feature flag, отказ Security, requiresConfirmation, запрет автоматического применения результата, trace propagation, audit без секретов и HealthCheck provider.
Help содержит руководство администратора и разработчика по AI-governance core, реестру операций, policy decision, feature flags, Security, TraceContext, Observability, HealthCheck, TestA и границам с AIPrompt/AITool/AIProvider/AIModel/Tasks.
-
Реализован первый срез AI-governance core в модуле AI.
Что сделано:
Проверка:
[I128-2834] AI input profiles, masking и consent
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2835] AIPrompt registry и versioning
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2836] AIProvider/AIModel policy и routing
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2837] AITool policy и safe execution
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2838] AI-операции задач в модуле Tasks
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2793] Ввести TraceContext для сквозной трассировки операций
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2797] Расширить Security для проектных прав, полей, действий и аудита доступа
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2798] Реализовать HealthCheck для workflow-проектов и задач
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2799] Подготовить TestA-контракты системных JSON и end-to-end сценариев
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2818] Реализовать наблюдаемость Observability для промышленных модулей
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2828] Расширить Flags для системных feature flags и rollout policy
Статус: Завершено | Автор: Ilya Mikhaylenko