# Arquitetura do Sistema Esta pasta concentra a especificação arquitetural do novo sistema Python orientado a objetos. ## Objetivo Documentar previamente: - a estrutura geral do sistema; - os módulos e submódulos; - as responsabilidades de cada classe; - o que cada classe não deve fazer; - os fluxos entre os módulos; - as regras de dependência e integração; - as decisões arquiteturais do projeto. ## Regra de nomenclatura Todos os nomes de módulos, classes, métodos, funções e variáveis serão sempre em PT-BR. ## Organização da documentação Cada módulo principal deverá possuir um documento próprio nesta pasta. ```text arquitetura/ ├── README.md ├── scanner.md ├── biblioteca-inteligente-de-videos.md ├── integracao-com-premiere.md ├── leitura-da-timeline-via-mcp.md ├── plano-primeira-etapa-scanner-e-mcp.md ├── planos-proximas-etapas.md ├── analisador-de-conteudo.md ├── motor-de-decisao.md ├── gerador-de-plano-de-edicao.md ├── aplicador-de-plano.md ├── validador.md ├── providers-de-ia.md ├── modelo-de-dominio.md ├── persistencia.md ├── configuracao.md ├── logging.md └── testes.md ``` Os documentos serão criados conforme cada módulo for projetado. Não devemos escrever código de implementação antes de definir sua arquitetura neste diretório. ## Princípios gerais 1. O domínio deve ser independente de infraestrutura e de ferramentas externas. 2. Cada módulo deve ter uma responsabilidade clara. 3. As dependências devem ser recebidas por abstrações bem definidas. 4. Integrações externas devem ser implementadas por adaptadores substituíveis. 5. O fluxo entre módulos deve ser explícito e documentado. 6. Cada classe deve declarar suas responsabilidades e suas proibições. 7. O sistema deve ser testável sem depender de serviços externos reais.