9.3 KiB
Raw Blame History

Architecture Quality Backlog

Дата: 2026-06-26 Статус: выполнено

Контекст

После нескольких завершённых волн cleanup и refactor в проекте остались два типа проблем:

  • часть архитектурного долга всё ещё открыта, но описана фрагментами в разных backlog-документах;
  • часть документации отстаёт от фактического состояния кода и уже закрытых feature-итераций.

До этой фичи backlog был распределён между frontend-debt-audit, backend-architecture-refactor, roadmap и отдельным worktree-драфтом architecture-quality-backlog. Из-за этого было неочевидно, что уже закрыто, что требует только синхронизации docs, а что должно стать следующими отдельными refactor-фичами.

Эта фича не меняет runtime-поведение. Она фиксирует canonical architecture backlog и приводит source-of-truth документы к одному состоянию.

Цель

Собрать и опубликовать единый архитектурный backlog проекта, синхронизировать roadmap и связанные audit/refactor docs и определить нормализованный порядок следующих follow-up фич без изменения кода.

Требования

1. Инвентаризация текущего состояния

Нужно сверить:

  • docs/features/frontend-debt-audit/spec.md;
  • docs/features/backend-architecture-refactor/spec.md и tasks.md;
  • docs/roadmap.md;
  • опубликованные архитектурные документы в apps/docs/docs/frontend/ и apps/docs/docs/backend/.

2. Удаление устаревших и уже закрытых пунктов

Backlog не должен повторно открывать задачи, которые уже закрыты отдельными feature-итерациями. Минимум нужно убрать или переотнести:

  • API envelope double-wrapping после api-envelope-contract;
  • первичное production config/error masking hardening после backend-architecture-refactor;
  • устаревшие статусы, где roadmap или spec остались в промежуточном состоянии.

3. Публикация нормализованного backlog

Оставшийся architecture backlog должен быть опубликован как пять независимых направлений, чтобы каждое можно было позже оформить отдельной feature-spec:

  1. T-Bank Data Isolation and Ownership Boundaries
  2. Backend Runtime and Auth Hardening
  3. Local T-Bank Read Path
  4. Session Model for Multiple Surfaces
  5. Contract, Type-Safety, and Frontend Delivery Hardening

4. Явные границы каждого backlog item

Для каждого направления должны быть описаны:

  • цель;
  • риск;
  • зависимости;
  • ожидаемая граница follow-up фичи;
  • причина, почему item не закрывается в рамках текущей docs-only фичи.

5. Никаких runtime-изменений

Фича не должна:

  • менять пользовательские сценарии;
  • менять API или модель данных;
  • править apps/frontend/src/** или apps/backend/src/**;
  • превращать backlog-публикацию в непосредственный refactor runtime-кода.

Нормализованный backlog

1. T-Bank Data Isolation and Ownership Boundaries

Цель: изолировать T-Bank accounts, positions, operations и derived views по пользователю и закрепить ownership boundary до дальнейших data-flow изменений.

Риск: без этого остаётся риск multi-tenant data leak и неявной shared ownership-модели.

Зависимости: текущая T-Bank integration, Prisma data model, auth identity boundary.

Граница follow-up фичи: backend/domain feature про ownership model, query filtering и migration-safe изоляцию данных.

Почему не закрыто сейчас: требует runtime-изменений, data model decisions и отдельной спецификации.

2. Backend Runtime and Auth Hardening

Цель: закрыть оставшиеся production-grade security/runtime policy вопросы после первичной refactor волны.

Риск: частично остаются недооформленные rate limiting, auth policy и surface-level security guards.

Зависимости: результаты backend-architecture-refactor, текущая auth/session модель, deployment/runtime env policy.

Граница follow-up фичи: backend/security feature без смешивания с multi-tenancy или session redesign.

Почему не закрыто сейчас: требует отдельной threat-model driven runtime работы, а не docs sync.

3. Local T-Bank Read Path

Цель: перевести чтение операций и истории на локальную persisted модель вместо прямого read-through в T-Bank там, где это необходимо для стабильности и контроля данных.

Риск: текущая зависимость от external read path усложняет устойчивость, latency control и auditability.

Зависимости: ownership boundary для T-Bank данных, sync model, persisted operation schema.

Граница follow-up фичи: backend data-flow feature про local persistence, sync and read model.

Почему не закрыто сейчас: требует runtime data-flow changes и, вероятно, schema/runtime planning.

4. Session Model for Multiple Surfaces

Цель: определить явную session model для web/PWA/extension-like surfaces, включая device-level sessions, rotation и reuse detection.

Риск: текущая модель остаётся слишком узкой для нескольких клиентских поверхностей и finer-grained session control.

Зависимости: auth boundary, refresh-token policy, future surface strategy.

Граница follow-up фичи: auth/session feature без смешивания с общим backend security backlog.

Почему не закрыто сейчас: требует product/security decisions и отдельного session contract.

5. Contract, Type-Safety, and Frontend Delivery Hardening

Цель: сократить остаточную type unsafety, стабилизировать frontend API/query boundaries и усилить quality/performance gates.

Риск: остаются as any, слабые boundary-contracts, нет полного покрытия performance/testing gates.

Зависимости: существующий API envelope contract, generated types, frontend routing/query architecture.

Граница follow-up фичи: набор узких quality-hardening features, начиная с type-safety и frontend delivery constraints, без смешивания с backend domain refactor.

Почему не закрыто сейчас: это уже не backlog sync, а серия отдельных implementation changes.

Ограничения

  • Только docs/ и согласование опубликованных архитектурных описаний с backlog.
  • Не дублировать один и тот же долг в нескольких независимых backlog-списках.
  • Не создавать новый epic только ради этой docs-only нормализации.

Критерии приемки

  • В основном workspace существует canonical feature docs/features/architecture-quality-backlog/.
  • docs/roadmap.md отражает эту фичу и использует тот же нормализованный порядок backlog-направлений.
  • frontend-debt-audit и backend-architecture-refactor больше не противоречат текущему состоянию закрытых работ.
  • Для каждого backlog item указаны цель, риск, зависимости, follow-up boundary и причина defer.
  • В рамках фичи не изменены runtime-файлы apps/frontend/src/** и apps/backend/src/**.

Источники

  • docs/features/frontend-debt-audit/spec.md
  • docs/features/backend-architecture-refactor/spec.md
  • docs/features/backend-architecture-refactor/tasks.md
  • docs/roadmap.md
  • apps/docs/docs/frontend/overview.md
  • apps/docs/docs/backend/modules.md