Pre-code System Foundations
Use antes de implementar. Inspecione o repositório (código, testes e docs) e registre cada módulo com necessary, existing, missing, invalid ou not-verifiable, sempre com evidência e confiança (verified, inferred, unknown). Inferências são hipóteses revisáveis, nunca decisões.
Contrato operacional
- Declare escopo, usuários, resultado e dono das decisões.
- Inspecione contexto real antes de classificar; cite caminhos, testes ou decisões do usuário.
- Atualize o estado com
scripts/foundationctl.py, preservandochange_logappend-only. - Recomende separadamente
mvp,go_liveefuture; usedecision_status: proposedaté aprovação explícita. Perguntas abertas bloqueiam decisões materiais. - Valide semanticamente e entregue uma leitura que permita correção posterior.
Decomposição visível (obrigatória)
Todo bundle contém decomposition com mode (modular ou single-module), rationale, boundaries, review_triggers e decision_status. Modular exige boundaries que referenciem módulos existentes; single-module exige justificativa e gatilhos de revisão. A decisão permanece explícita e revisável.
CLI
python3 scripts/foundationctl.py init foundation.json --project Nome
python3 scripts/foundationctl.py validate foundation.json
python3 scripts/foundationctl.py apply-patch foundation.json patch.json
python3 scripts/foundationctl.py summary foundation.json
O CLI aceita JSON Patch limitado a add, remove, replace e test, aplica em cópia, rejeita qualquer estado inválido e grava atomicamente. IDs de módulos seguem MOD-NNN; IDs de mudanças são únicos. O bundle é framework/database-neutral: não invente componentes, autorização, invariantes ou isolamento sem evidência. A fundação não é aprovação de produção.