Skip to content

Latest commit

 

History

History
61 lines (60 loc) · 14.4 KB

File metadata and controls

61 lines (60 loc) · 14.4 KB

МАТРИЦА ТРАССИРУЕМОСТИ (B1..B10, FX)

ID задания ID критерия Проблема/риск Где реализовано Как проверяется Какие данные нужны Статус
launch B1-1 Неполные предусловия ломают воспроизводимость docs/RUNBOOK.md Проверка раздела предусловий + запуск по шагам Docker, Compose, env реализовано
launch B1-2 Нет точных команд старта docs/RUNBOOK.md, infra/scripts/deploy.sh Выполнить команды из runbook infra/.env реализовано
launch B1-3 Скрытые ручные шаги docs/RUNBOOK.md Полный старт без ручных донастроек чистая машина реализовано
launch B1-4 Сервисы не поднимаются infra/docker-compose.dev.yml, infra/docker-compose.prod.yml, infra/envoy/envoy.yaml docker ps, curl /health, curl /ready compose-стек реализовано
launch B1-5 Нет сквозного happy-path infra/tests/e2e/sh/demo_test.sh, infra/tests/e2e/sh/envoy_chain.sh bash infra/tests/e2e/sh/demo_test.sh или make e2e-smoke подготовленные tokens/events (в demo-сценарии создаются автоматически) реализовано
flags B2-1 Без активного эксперимента не возвращается default decision/internal/clients/controlplane/client.go go test decision + decide запрос флаг с default реализовано
flags B2-2 Пользователь вне таргетинга получает variant control-plane targeting + decision e2e/contract decide сценарий пользователь вне правила реализовано
flags B2-3 Пользователь в таргетинге получает default decision resolver decide request against active experiment пользователь в правиле реализовано
flags B2-4 Нестабильная выдача при неизменной конфигурации decision deterministic assignment повторные decide-запросы для одного пользователя фиксированный user id реализовано
flags B2-5 Несоответствие весов вариантов control-plane weights + events/metrics проверка распределения под нагрузкой взвешенные варианты реализовано
review B3-1 Нет перехода draft -> in_review review/internal/services/experiments_lifecycle.go поток отправки на ревью review experiment draft реализовано
review B3-2 Нет перехода in_review -> approved review/internal/services/experiments_lifecycle.go поток одобрения по порогу политика владельца + аппруверы реализовано
review B3-3 Запуск без достаточного approve review validation + run guard unit/integration тесты одобрения ниже порога реализовано
review B3-4 Разрешены недопустимые переходы review/internal/services/validation.go негативные тесты недопустимых переходов эксперименты в неверном состоянии реализовано
review B3-5 Неназначенный юзер может approve политика аппруверов владельца в review тесты политики + интеграция конфигурация owner-группы реализовано
events B4-1 Неверные типы полей принимаются events/internal/events/server.go unit/e2e негативные payloads невалидные props/types реализовано
events B4-2 Отсутствие обязательных полей не блокируется events validation direct_logic.sh событие без обязательного поля реализовано
events B4-3 Дубликаты влияют на итог events dedup store direct_chain.sh, envoy_chain.sh дубликат event_id реализовано
events B4-4 Нет связки exposure с decision_id хранение exposure в events chain e2e + metrics checks exposure + decision_id реализовано
events B4-5 Конверсия засчитывается без exposure requires_exposure + pending/rejected тесты out-of-order и невалидной атрибуции клик без exposure реализовано
safety B5-1 Guardrail без metric_key guardrails domain/rules schema проверка upsert/list правил metric_key реализовано
safety B5-2 Guardrail без threshold guardrails validation/rule storage проверка upsert/list правил значение порога реализовано
safety B5-3 Превышение порога не обнаруживается guardrails/internal/app/service.go единоразовый запуск оценки + история срабатываний деградированные данные метрик реализовано
safety B5-4 Нет действия после срабатывания guardrails/internal/app/service.go + guardrails/internal/adapters/controlplane/client.go проверка action mapping (pause/stop) в коде и runtime действие правила=pause/stop реализовано
safety B5-5 Нет аудита срабатывания logs service (LogsService/GetList) прямой gRPC GetList с actor_roles=[autopilot,guardrails] + проверка payload.reason события срабатываний и причины действий реализовано
safety B5-6 Нет ограничения участия пользователя assignment/token policy in runtime проверка повторного участия повторные запросы пользователя реализовано
reporting B6-1 Нет фильтра отчёта по периоду metrics BuildExperimentReport report with from/to windows параметры временного окна реализовано
reporting B6-2 Нет разреза по вариантам metrics report schema/queries проверка отчёта по вариантам мультивариантный эксперимент реализовано
reporting B6-3 В отчете отсутствуют выбранные метрики metric bindings + report builder проверка дашборда/нагрузки настроенные биндинги метрик реализовано
reporting B6-4 Нет полного набора outcomes review/internal/services/experiments_lifecycle.go runtime DeleteExperiment with completion fields running review эксперимент + completion payload реализовано
reporting B6-5 Нет обоснования решения review/internal/services/experiments_lifecycle.go runtime DeleteExperiment with completion comment running review эксперимент + comment реализовано
arch B7-1 Неоднозначный нейминг proto/service нейминг, карта документации ревью кода + инвентаризация endpoint-ов список endpoint-ов реализовано
arch B7-2 Размытые границы модулей директории сервисов + контракты docs/REPO_MAP.md audit дерево репозитория реализовано
arch B7-3 Нет трассируемости эта матрица построчное выполнение проверочных команд matrix file реализовано
arch B7-4 Нет фиксации решений/ограничений docs/ARCHITECTURE.md, docs/TEST_REPORT.md ревью документации архитектурная документация реализовано
arch B7-5 Нет C4 Context docs/ARCHITECTURE.md открыть C4 L1 диаграмму файл диаграммы реализовано
arch B7-6 Нет C4 Container docs/ARCHITECTURE.md открыть C4 L2 диаграмму файл диаграммы реализовано
arch B7-7 Нет C4 Component для критичного пути docs/ARCHITECTURE.md открыть C4 L3 диаграмму файл диаграммы реализовано
arch B7-8 Нет карты репозитория docs/REPO_MAP.md навигация по карте к критичным файлам карта репозитория реализовано
arch B7-9 Ограничения не зафиксированы docs/ARCHITECTURE.md, docs/RUNBOOK.md, docs/TEST_REPORT.md сверка документации с поведением набор документации реализовано
tests B8-1 Нет негативных тестов infra/tests/e2e/sh/direct_logic.sh, тесты сервисов запуск shell smoke невалидные payloads реализовано
tests B8-2 Нет контрактных/интеграционных тестов envoy_logic.sh, envoy_chain.sh make e2e-smoke запущенный стек реализовано
tests B8-4 Нет измеримого test report docs/TEST_REPORT.md запуск перечисленных команд с coverage coverage go test реализовано
ops B9-1 Нет readiness с однозначным контрактом infra/envoy/envoy.yaml, docs/RUNBOOK.md /ready возвращает 200 только при healthy всех upstream-кластеров, иначе 503 живой стек реализовано
ops B9-2 Нет liveness процесс сервиса + health endpoint Envoy проверки curl живой стек реализовано
ops B9-3 Нет базовых метрик scrape Prometheus + дашборды проверка Prometheus/Grafana review_autopilot_*, review_guardrails_*, метрики запросов/ошибок реализовано
ops B9-4 Неструктурированные логи структурированные логи в сервисах/json access log Envoy проверка примеров логов логи контейнеров реализовано
ops B9-6 Нет стратегии под рост нагрузки k6-сценарии + worker pool + метрики queue lag tests/run-load.sh сценарии нагрузки реализовано
ops B9-7 Нет оптимизаций хранения/чтения индексы БД и агрегаты CH ревью схемы + проверка производительности запросов SQL миграций реализовано
eng B10-1 Нет авто-линтинга make lint-go, CI golangci-lint локально + CI Go-сервисы реализовано
eng B10-2 Нет авто-форматирования gofmt + CI conventions run gofmt/linters Go files реализовано
C8 FX-1 Решения по эксперименту без полного data-quality контекста infra/grafana/dashboards/ab-metrics-overview.json, infra/grafana/dashboards/metric-segments-overview.json run-load.sh dashboard-metrics-demo + проверка дашборда сегментные атрибуты в props событий реализовано
C8 FX-2 Не зафиксированы границы C8 demo docs/OPTIONAL_FEATURES.md (раздел C8) ревью документации + шаги экспорта/шеринга документация реализовано
C9 FX-1 Потеря накопленных выводов по экспериментам library/internal/services/learnings.go, library/internal/grpc/learnings_server.go, library/internal/repositories/learnings.go ./library/scripts/e2e_library_elastic_smoke.sh learning payload с outcome, summary, tags, completed_at реализовано
C9 FX-2 Непрозрачные границы применения библиотеки знаний docs/OPTIONAL_FEATURES.md (раздел C9) сверка ограничений документации с поведением API на демо документация + демо-запросы реализовано
C10 FX-1 Ручная ramp-up раскатка медленная и рискованная autopilot/internal/app/runner/service.go, autopilot/internal/domain/model.go, autopilot/internal/grpc/server.go прямой gRPC ListAutopilotStates (без Envoy) + логи automation_lag_snapshot/final + review_autopilot_* метрики подготовленные review_autopilot_states, метрики из metrics, логи нагрузочного прогона реализовано
C10 FX-2 Непонятные условия остановки/перехода автопилота docs/OPTIONAL_FEATURES.md (раздел C10) сверка gate/safety ограничений из документации с кодом и демо документация + payload состояния реализовано