Перейти к основному содержимому

Статусные модели

Metric

draft -> active -> deprecated -> archived

Допустимые действия:

ПереходКтоУсловия
draft -> activeanalytics ownerзаполнены формула, источник, версия и sensitivity
active -> deprecatedanalytics ownerесть новая метрика или принято решение не использовать
deprecated -> archivedadminметрика не используется в published dashboards

Правила:

  • изменение formula у active-метрики создаёт management_metric_version;
  • historical metric_values не пересчитываются молча;
  • deprecated-метрика может отображаться в истории, но не используется в новых widgets.

Dashboard

draft -> review -> published -> archived

Дополнительный переход: published -> draft через создание новой рабочей версии dashboard.

Правила:

  • published dashboard должен иметь хотя бы один widget;
  • все widgets должны ссылаться на active или deprecated metrics;
  • visibility rule проверяется на сервере;
  • archived dashboard не доступен в навигации, но сохраняется для истории.

Plan

draft -> review -> approved -> active -> closed -> archived

Дополнительные переходы:

  • draft|review -> cancelled;
  • approved -> cancelled;
  • active -> cancelled только с причиной.

Правила:

  • approved требует владельца, периода и target;
  • active нельзя редактировать без создания записи изменения;
  • closed фиксирует итоговый plan-fact snapshot;
  • cancelled plan не удаляет связанные задачи и комментарии.

Plan target

draft -> active -> closed

Правила:

  • target активируется вместе с планом;
  • изменение целевого значения в active-плане создаёт новую запись target или amendment;
  • fact связывается с metric value по версии формулы.

Goal profile

draft -> active -> paused -> active
draft|active|paused -> archived
active|paused -> cancelled

Правила:

  • active требует владельца (student, family, group или organization) и безопасного context без raw PII;
  • paused сохраняет цели и рекомендации, но новые automated recommendations не публикуются без ручного подтверждения;
  • archived используется для исторических профилей, cancelled — для ошибочно созданных или отозванных профилей.

Goal

draft -> active -> paused -> active -> completed -> archived
draft|active|paused -> cancelled
completed -> archived

Правила:

  • active требует owner, subject или criterion и audit reason;
  • системная гипотеза (source = system_hypothesis) может стать active только после явного принятия человеком;
  • completed требует evidence или review;
  • cancelled не удаляет evidence и reviews.

Recommendation

draft -> published -> accepted
published -> dismissed
published -> expired
draft -> dismissed

Правила:

  • published требует reason, confidence и ссылку на goal_profile или goal;
  • accepted может создать goal, management_task или management_action, но только через permission-checked command;
  • dismissed требует причины, если confidence выше порога;
  • expired ставится автоматически по сроку действия или при закрытии связанной цели.

Diagnostic session

scheduled -> in_progress -> completed
scheduled|in_progress -> cancelled
scheduled|in_progress -> failed

Правила:

  • in_progress фиксирует старт диагностики и источник;
  • completed требует diagnostic_result;
  • failed требует error summary без raw PII;
  • cancelled сохраняет причину и не создаёт recommendations автоматически.

Task

todo -> in_progress -> review -> done

Дополнительные переходы:

  • todo|in_progress|review -> blocked;
  • blocked -> in_progress;
  • todo|in_progress|blocked|review -> cancelled;
  • done -> in_progress только с причиной reopen.

Правила:

  • task без assignee_user_id допустим только в todo;
  • done требует исполнителя и completed_at;
  • изменение статуса пишет management_task_history;
  • задачи, созданные из alert, имеют deduplication_key.

Alert rule

draft -> active -> paused -> active -> archived

Правила:

  • active rule должна иметь condition и deduplication key template;
  • archived rule не создаёт новые alerts;
  • paused rule сохраняет историю, но не срабатывает.

Alert

open -> acknowledged -> resolved

Дополнительный переход: open|acknowledged -> dismissed.

Правила:

  • acknowledged фиксирует пользователя и время;
  • resolved требует причины или автоматического подтверждения нормализации метрики;
  • alert может создать task один раз по deduplication key;
  • dismissed alert не считается resolved в аналитике качества.

Data source

active -> paused -> active
active|paused -> deprecated

Правила:

  • deprecated source не принимает новые ingestion runs;
  • изменение контракта source требует новой версии contract.

Ingestion run

running -> succeeded
running -> partial
running -> failed

Правила:

  • failed создаёт data quality issue;
  • partial создаёт warning issue и может пометить metric values как partial;
  • succeeded не означает, что все метрики complete, если источник вернул неполные данные.

Data quality issue

open -> acknowledged -> resolved
open|acknowledged -> dismissed

Правила:

  • critical issue отображается на admin dashboard;
  • resolved issue должен иметь resolved_at;
  • dismissed issue требует комментария, если severity = critical.

Management action

requested -> validated -> executed -> completed

Ошибочные переходы:

  • requested|validated -> rejected;
  • executed -> failed;
  • failed -> retried.

Правила:

  • действие сначала валидируется локальными permission и доменным command contract;
  • если действие меняет соседний домен, оно идёт через API владельца;
  • все переходы пишутся в audit.