Artifact review
ID: @artiroute/artifact-review
Статус: implemented
Зависимости: нет (standalone)
Опциональный workflow ревью версий артефактов с gate на RAG-индексацию. Не меняет тип пространства.
Назначение
| Вопрос | Ответ |
|---|---|
| Для кого? | Любой Space (любой spaceTypeId) |
| Что это? | Отправка версии на ревью + одобрение reviewer-ом |
| Gate? | Опционально: RAG только для approved версий |
| 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 |
Abilities
artifact-review.review— одобрить версию (рольartifact-review.reviewer)- Submit на ревью —
artifact.update
Поток
- Автор сохраняет версию → при
indexApprovedOnlyRAG не ставится в очередь. - Автор жмёт «На ревью» →
reviewStatus=pending. - Reviewer одобряет →
approved=true, при необходимости enqueuerag_index.
Gate реализован через entity hook artifactVersion:beforeRagIndex в ядре (maybeEnqueueRagIndex).
Frontend
- Toolbar:
app.uiSlots→artifact-editor.toolbar - Настройки 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