Artifact review
ID: @artiroute/artifact-review
Статус: implemented
Зависимости: нет (standalone)
Опциональный workflow ревью версий артефактов с gate на RAG-индексацию. Не меняет тип пространства.
Назначение
| Вопрос | Ответ |
|---|---|
| Для кого? | Любой Space (любой spaceTypeId) |
| Что это? | Отправка версии на ревью + одобрение reviewer-ом |
| Gate? | Опционально: RAG только для approved версий (или с явным allowIndex) |
| Space types? | Не регистрирует тип |
Настройки пространства (EAV на space)
| Key | Описание |
|---|---|
artifact-review.reviewEnabled | Включена ли система ревью |
artifact-review.indexApprovedOnly | Индексировать только одобренные версии |
UI: app.spaceCreateExtras (создание) + app.spaceSettingsSections (настройки).
Поля версии (EAV на artifactVersion)
| Key | Значения |
|---|---|
artifact-review.reviewStatus | none → pending → approved |
artifact-review.approved | "true" / "false" |
artifact-review.approvedAt | ISO datetime |
artifact-review.approvedBy | userId |
artifact-review.allowIndex | "true" / "false" — разрешить RAG без Approve (upload preflight / AI) |
Abilities
artifact-review.review— одобрить версию (рольartifact-review.reviewer)- Submit на ревью —
artifact.update
Поток
- Автор сохраняет версию → ядро вызывает
maybeEnqueueRagIndexпослеafterSaveVersion(EAV уже выставлены). - При
indexApprovedOnlyRAG ставится в очередь только еслиapproved=true, либоallowIndex=true, либоforceIndex(ручной Index). - Upload preflight (
app.uploadPreflight): перед загрузкой indexable-файлов extension спрашивает «Индексировать сейчас?» →allowRagIndexна upload session / версии. - AI-created артефакты (
source: 'ai', напр. transcript) автоматически получаютallowIndex=true. - Автор жмёт «На ревью» →
reviewStatus=pending. - Reviewer одобряет →
approved=true, enqueuerag_index. - Контекстное меню артефакта: Index in RAG → GraphQL
enqueueArtifactRagIndexсforceIndex.
Gate: entity hook artifactVersion:beforeRagIndex.
Frontend
- Toolbar:
app.uiSlots→artifact-editor.toolbar - Upload middleware:
app.uploadPreflight→artifact-review-index - Настройки space: drawer + create extras
API (extension HTTP)
PATCH /api/ext-http/artifact-review/spaces/:spaceId/settingsPOST /api/ext-http/artifact-review/versions/:versionId/submitPOST /api/ext-http/artifact-review/versions/:versionId/approve
См. также
- Entity fields
- Space abilities
architecture-v3/migration-notes/review-gates.md