---
name: architecture-migration-audit
description: Аудит и планирование архитектурной миграции cable_designer: uv workspace, schema-per-context, boundary enforcement, SQLModel to SQLAlchemy 2.0. Использовать, когда нужно проверить текущее состояние репозитория, подтвердить migration assumptions командами, выявить риски и нарезать безопасные PR-слайсы без big-bang rewrite.
---

# Architecture Migration Audit

## Overview

Аудировать репозиторий как migration program, а не как один рефакторинг.

## Read First

1. `AGENTS.md`
2. `agent_docs_bundle/AGENTS.md`
3. `agent_docs_bundle/docs/agents/00_EXECUTIVE_ANALYSIS.md`
4. `agent_docs_bundle/docs/agents/01_REPO_AUDIT_AGENT.md`
5. `agent_docs_bundle/docs/agents/02_TARGET_ARCHITECTURE.md`
6. `docs/adr/ADR-0003-schema-per-context.md`
7. `docs/adr/ADR-0004-sqlmodel-gradual-dismantling.md`
8. `docs/architecture/`

## Workflow

1. Подтвердить текущее состояние фактами.
- repo layout
- pyproject/requirements state
- SQLModel / SQLAlchemy / Pydantic usage
- Alembic topology
- import boundaries

2. Проверить migration readiness.
- uv workspace readiness
- schema-per-context readiness
- DTO extraction readiness
- import-linter readiness
- per-context migration order

3. Найти blockers.
- cross-context joins/relationships
- new code still on SQLModel
- `public` schema expansion
- missing ADR or missing rollback path

4. Сформировать bounded next PRs.
- one infra gain per PR
- one bounded context per DB move
- one bounded context per ORM rewrite

## Mandatory Checks

- Не предлагать polyrepo split без ADR.
- Не предлагать big-bang SQLModel rewrite.
- Не смешивать `domain truth` и `migration truth`.
- Любое утверждение о текущем состоянии подтверждать командами или файлами.

## Useful Commands

```bash
git grep -n "from sqlmodel\\|import sqlmodel" -- '*.py'
git grep -n "session.exec" -- '*.py'
find . -name pyproject.toml -print
find . -path '*/versions/*.py' -o -name 'env.py'
```

## Output Contract

Возвращай:

1. Confirmed current state
2. Migration risks
3. Recommended next 3 PR slices
4. Required ADR/checklist links
5. Commands/evidence used
