Architecture Target — AI Factory
Versão congelada na fase M0 (arquitetura e escopo). Este documento é a referência canônica do que pertence à AI Factory, o que fica fora, quem chama quem, e qual modelo atende cada capability. Deriva do material já produzido (
ai_factory_docs/ARCHITECTURE_OVERVIEW.md, task-pack M0).
1. Objetivo
Construir uma AI Factory: infraestrutura de engenharia assistida por agentes onde um control loop junta contexto (o que o agente precisa saber), roteamento de modelos (qual modelo executa) e execução, com agentes trabalhando em workspaces isolados e auditáveis e gates de aprovação humana no caminho crítico.
2. Componentes e responsabilidades
| Componente | Plano | Responsabilidade |
|---|---|---|
small-pine | runtime agentico + Fleet Provider | observe / plan / act / verify; pede capabilities ao router; não conhece hardware/provider; gerencia frota própria (Slurm/vLLM, porta 8080) |
small-router | Execution / Decision Plane | router canônico — qual modelo/provider executa (rótega, health, retry, fallback, policy) |
context-graph-engine | Context Plane | o que o agente precisa saber (index/ger força atual: 745 nós, 1084 arestas) |
| spark infra | Resource Plane | GPU, nós, fila, serving (vLLM sob Slurm) |
orchestrator (novo) | Control Loop | junta contexto + tarefa + execução; só guarda de segurança/orçamento, nunca escolhe modelo |
Relações canônicas
DEV-MACHINE
| Git / API / SSH / human control
v
AI FACTORY
+-- small-pine ----------------------> small-router
| contexto via context-provider | providers: own-fleet / serverless
| frota própria via factory.slurm v
+-- context-graph-engine small-pine (porta 8080, Slurm/vLLM)
+-- orchestrator (control loop)
+-- infra / deploy / evals / .ai-factory
small-routeré o router canônico esmall-pineé provider próprio + consumidor dele.- Os dois coexistem em portas separadas (small-router :8081, small-pine :8080).
- O orquestrador não é um segundo router.
3. Fronteira da dev-machine (decisão formal)
A dev-machine está fora do monorepo da AI Factory e fora do refactor.
É apenas:
- ambiente de desenvolvimento;
- control plane humano;
- ponto de acesso ao Git;
- cliente/consumidor dos serviços da AI Factory.
Dentro da AI Factory: small-pine, small-router, context-graph-engine, small-infer/infra dos Sparks, deploy, evals, docs, .ai-factory/.
Fora: dev-machine, dotfiles pessoais, credenciais locais, estado de sessão dos desenvolvedores, configuração específica do editor, tooling pessoal.
4. Política de modelos
Matriz inicial de modelos / capabilities
| Modelo | Backend | Estado | Role | Capabilities |
|---|---|---|---|---|
| Qwen3-Coder-30B-A3B-Instruct | Spark 01 | warm / primary / private | coding | coding, repo-analysis, fast-edit, tests, tool_use |
| DeepSeek-V4-Flash | serverless | on-demand | reasoning/arch/review | reasoning, architecture, review, long-context, hard-coding |
| Qwen3.7-Plus | serverless | on-demand | general/fallback | general, synthesis, fallback |
| Spark 02 | — | não congelar ainda | (a medir) | — |
Spark 02: decidir após medir VRAM, latência, throughput, concorrência e interconnect; então escolher entre réplica do Qwen, segundo modelo local ou serving distribuído.
Política de routing por tier
- coding + private → Qwen Coder / Spark 01 (fallback aprovado se permitido)
- architecture → DeepSeek-V4-Flash → Qwen3.7-Plus → Qwen local (quando adequado)
- review → DeepSeek → Qwen local
- general → Qwen3.7-Plus → outros backends aprovados
O agente pede capabilities, não nomes de modelos. small-router escolhe.
5. Princípios
- O agente pede capabilities; não escolhe diretamente um modelo.
small-pinenão conhece hardware/provider específico.small-routercentraliza routing.- Código privado permanece em backends autorizados.
- Nenhum agente ganha acesso amplo por padrão.
- Mudanças agenticas acontecem em workspaces isolados.
- Nada novo entra no caminho crítico sem justificar impacto no objetivo.
6. Estado atual e encaminhamento
- Fase atual (2026-09-03): M0, M1, M2, M3(subsumido), M4, M6, M10, M11 concluídos
(arquitetura/escopo, inventário read-only, monorepo, refactor small-pine, integração small-router, registry/routing declarativo, context-graph). Pendentes: M5, M7, M8, M9, M12, M13, M14, M15/M15b. Próximo: M5 (decisão A/B/C reaberta com dados; caderno ai-factory-task-pack/M5-medicoes-spark02-2026-09.md — T2.C medida, T2.A/T2.B suspensas pelo slurmctld failed no head desde 2026-08-21).
small-routerecontext-graph-engineforam extraídos do monorepo em 2026-08-29 —
agora são repos independentes (~/dev/small-router, ~/dev/context-graph-engine). O small-pine os consome por contrato HTTP/config, não por checkout.
- Roadmap (fonte única):
ai-factory-task-pack/(M0–M15). Ver tabela de encaminhamento
abaixo e o detalhamento em docs/open-work.md.
orchestratoré construído no M14 (services/orchestrator, Go stdlib pura) — o único
componente com milestone próprio, pois não era executado por nenhum M antes.
Roadmap consolidado (M0–M14)
| Milestone | Assunto (canônico) | Origem de conteúdo mergeada |
|---|---|---|
| M0 | arquitetura/escopo e fronteira dev-machine | ai_factory_docs/ARCHITECTURE_OVERVIEW.md (derivou daqui) |
| M1 | inventário read-only | ai_factory_docs/tasks/M1-inventario-real.md (relacionado) |
| M2 | monorepo | ai_factory_docs/tasks/M2-consolidar-monorepo.md (relacionado) |
| M3 | refactor estrutural do small-pine | ai_factory_docs/tasks/M3-refactor-small-pine.md (equivalente) |
| M4 | integração small-router (gateway) | FASE3 (provider openai / small-infer) |
| M5 | model fabric (warm vs serverless) | — (assunto novo do task-pack) |
| M6 | model registry / routing declarativo | FASE4 (roteamento por tier/tool_calling) |
| M7 | agent workspace seguro | ai_factory_docs M5 (sandboxing) |
| M8 | papéis (roles) | ai_factory_docs M8 (roles) |
| M9 | workflow agentico | ai_factory_docs M6 (workflow) |
| M10 | primeiro refactor real | ai_factory_docs M7 (primeiro refactor) |
| M11 | context-graph integration | FASE1 (Context Contract / envelope / perfil) |
| M12 | evals / regressão | ai_factory_docs M8 (medição/estabilização) |
| M13 | autoengenharia controlada | — |
| M14 | orquestrador fino (Control Loop) | FASE2 (novo — buraco do roadmap) |
Os docs legados ai_factory_docs/ (com os M0–M8 antigos, cuja numeração divergia do M5 em diante) foram arquivados em backup/ai_factory_docs/ para eliminar a fonte duplicada.