Post-MVP: отдельный модуль админ-панели¶
Админ-панель целиком исключена из MVP: не создаются web-интерфейс, admin role, /api/v1/admin endpoints или
административный CRUD. Этот документ — только backlog будущего отдельного модуля; его пункты не являются критериями
готовности текущего MVP и не должны попадать в проектирование ближайшей БД без отдельного решения.
Операционная устойчивость MVP обеспечивается worker-ами, идемпотентностью, audit events, структурными логами, метриками, alert-ами и проверяемыми runbook-командами. Это не скрытая административная панель.
Доступ¶
Когда модуль будет включён в scope, минимум понадобятся роли/permissions:
support: пользователи, статусы и жалобы без финансовых секретов/документов;practitioner_manager: анкеты, документы, верификация и санкции;content_editor: шаблоны, axes/methodology publication, disclaimers;finance: платежи, refund workflow, reconciliation и settlements;analyst: агрегированные метрики и экспорт без лишних ПДн;super_admin: выдача permissions и критические настройки.
MFA для администраторов, короткая session, IP/device alerts и запрет shared accounts обязательны до production-релиза будущего модуля. Выдача прав, просмотр чувствительных данных и выгрузки аудируются.
Разделы¶
Dashboard¶
- funnel по шагам input→calculation→registration→paywall→payment с UTM/channel/cohort;
- M2/M3 renewal, MRR/revenue/refunds, CAC input и LTV projection;
- активные подписки, цели, заявки/повторы консультаций;
- failed calculations/AI jobs/webhooks/notifications, queue lag и alerts;
- пилотные ориентиры из PRD и дата свежести каждого виджета.
Метрики должны строиться из versioned событий/финансовых фактов, а не из изменяемых текущих статусов.
Users¶
- поиск по точному e-mail/ID, status, consent and entitlement overview;
- sessions revoke, block/unblock с reason, data export/deletion workflow;
- история birth profiles и расчётов; raw ПДн показываются только при необходимости;
- impersonation по умолчанию не делать. Если появится — read-only banner, отдельное permission и полный audit.
Calculation operations¶
- artifacts, input/result hash, algorithm/engine/dataset versions и duration;
- failure code без секретов, безопасный retry того же versioned input;
- сравнение с новой версией методики без overwrite старого результата;
- fixtures/верификация и процент расхождений.
Администратор не редактирует долготы, дома, числа или арканы вручную.
AI/content¶
- generation jobs, cache hit, model/prompt/policy version, tokens/cost/latency;
- schema/safety failure, redacted input/output, retry и review/publish/reject;
- управление draft/published/retired версиями axes mappings, статичных подписей и disclaimers;
- жалобы пользователя, связь каждого тезиса с evidence refs.
Изменение prompt/axes не переписывает уже опубликованные результаты.
Practitioners/consultations¶
- ручное создание/invite, документы в отдельном защищённом viewer, interview notes;
- approve/reject/suspend с reason, профиль/кейсы/услуги и каталог visibility;
- заявки по состояниям, отмены/no-show, споры, bypass incidents и санкции;
- settlement/commission после утверждения юридической модели.
Billing¶
- orders, attempts, provider objects, subscriptions, entitlements, refunds и ledger;
- mismatch queue после webhook/reconciliation;
- retry только transport-safe операции с тем же idempotency key;
- refund создаётся через отдельный подтверждаемый workflow;
- запрет ручного
mark succeeded, удаления и произвольного редактирования суммы; - CSV/реестры с отдельным export permission и watermark/audit.
Notifications и system health¶
- delivery state, template version, provider response, retry/dead-letter;
- suppression/consent и тестовая отправка только на allowlisted адрес;
- release version, DB/worker/provider health, queue depth, cron last run;
- audit log с actor/action/target/reason/requestId и redacted diff.
Возможные endpoints будущего модуля¶
Base path /api/v1/admin:
GET /dashboard/funnel|revenue|operations;GET /users,GET /users/:id,POST /users/:id/block|unblock|revoke-sessions;GET /calculations,POST /calculations/:id/retry;GET /generations,POST /generations/:id/retry|publish|reject;GET/POST/PATCH /content/...с publication transitions;GET/POST/PATCH /practitioners/..., actionsapprove|reject|suspend;GET /consultations, actionsresolve-dispute|mark-no-showпо state machine;GET /payments|subscriptions|refunds|reconciliation,POST /refunds/:id/approve;GET /notifications|jobs|audit-log;POST /exportsдля асинхронной ограниченной выгрузки.
Каждый будущий action endpoint принимает reason, expected current version/state и idempotency key. Массовые действия
на первом этапе модуля лучше не давать, кроме безопасных экспортов: цена ошибки выше выигрыша для 30–50 клиентов.