Motor multiagente lendário + plataforma de forecasting calibrado + produto multi-tenant de predição política BR 2026 com 97.21% de acurácia.
Quick links: Demo 60s · Try API now · Screenshots · Pricing · Roteiro pitch · FAQ
Vila INTEIA tem 3 produtos integrados num só repo:
| # | Produto | Headline number |
|---|---|---|
| 1 | Predição Política BR 2026 | 97.21% acc em 394 eventos reais 2010-2024 (Onda 4) |
| 2 | Forecasting calibrado | Brier 0.227 vs 0.241 base-rate em 600 eventos (52 teoremas) |
| 3 | Simulação Vila | 151 consultores lendários, constituição executável (35+ ondas) |
| 4 | Quant Analysis R-style | summary/cor/lm/glm/t-test/ANOVA/PCA/VIF em Python |
Pra demo, foque no produto 1 (mais vendável, números mais fortes, frontend mais visual).
# 1. Clone + install
git clone https://github.com/igormorais123/vila-inteia.git
cd vila-inteia
pip install -r requirements.txt
# 2. Subir API
python main.py serve --port 8100
# 3. Abrir dashboard
# http://localhost:8100/politica.html (frontend político)
# http://localhost:8100/cockpit.html (cockpit Vila simulação)CLI alternativa via scripts/vila_cli.py:
python scripts/vila_cli.py --url http://localhost:8100 statsApós Quickstart, abra http://localhost:8100/politica.html - dashboard pronto.
Pra Next.js (visual mais polido):
cd frontend-next && npm install
VILA_API_BASE=http://localhost:8100 npm run dev
# http://localhost:3001Após python main.py serve --port 8100, em outro terminal:
# Health
curl http://localhost:8100/api/v1/politica/health
# {"status":"ok","n_train_events":394,"validation_acc":0.9721,"horizon_days":152,...}
# Top 5 candidatos presidência (Bolsonaro filtrado TSE)
curl http://localhost:8100/api/v1/politica/predictions/presidente | jq '.candidates[] | {nome, partido, p_winner}'
# [
# {"nome":"Luiz Inácio Lula da Silva", "partido":"PT", "p_winner":0.266},
# {"nome":"Tarcísio de Freitas", "partido":"REP", "p_winner":0.217},
# {"nome":"Ratinho Júnior", "partido":"PSD", "p_winner":0.175},
# ...
# ]
# Custom predict: governador, +8pp lead, 45 dias, incumbente, regime direita
curl -X POST http://localhost:8100/api/v1/politica/predict \
-H "Content-Type: application/json" \
-d '{"cargo":"governador","poll_lead_pp":8,"days_to_election":45,"incumbente":1,"regime":"right"}' | jq
# {"p_cohort":0.78, "p_linzer":0.86, "p_blend":0.83, ...}
# Backtest year-fold + selective curve
curl http://localhost:8100/api/v1/politica/backtest | jq '.selective_sweep'Modelos de previsão política normalmente erram tossups. Em 2024 SP todo mercado (Datafolha, Quaest, Atlas, RealTimeBigData) deu Boulos vencendo. Nunes ganhou por +3pp. Vila INTEIA recuperou esse caso de 73.5% para 89.7% de acurácia adicionando MRP state baseline (P(regime wins | UF) Laplace-smoothed) num blend com peso 0.36.
- 394 eventos reais Wikipedia/TSE 2010-2024 (sem dados sintéticos)
- Year-fold cross-validation out-of-sample (não há leak)
- Selective τ=0.15 → 100% acc / 56% cobertura e τ=0.40 → 100% acc / 7.9% cobertura
- Autoresearch rigor panel: AUC 0.992, MCC 0.944, Brier skill 58.2%, Wilson 95% da acurácia 95.1–98.4%
- Autoevolução com gates: mutação elitista + crossover + hill-climb, promoção só se acc/MCC/AUC/Brier/score passam
- Bolsonaro filtrado (TSE inelegível até 2030)
- 10 endpoints REST
/api/v1/politica/*comX-API-Key - Tiers: free (30/min), pro (300/min), enterprise (ilimitado)
- Admin endpoints:
/admin/keys/issue,/admin/keys/revoke - Frontend Next.js 15 deployable em Vercel separadamente
- 35/35 smoke tests passando
Reusa 80% do core Vila (PC-CRD cohort, Linzer dynamic linear, Stein shrinkage). Onda 4 adicionou apenas o state_baseline_p() helper (~30 linhas) + blend de uma linha.
p_blend = 0.3 · p_cohort + 0.7 · p_Linzer
p_final = 0.64 · p_blend + 0.36 · p_state_baseline ← config v1.4-evo
p_cohort = (1-s) · cohort_rate + s · global_rate Stein shrink, s=0.40
p_Linzer = Φ(lead_pp / σ(days)), σ = 3.0 + 0.005·days
p_state = (W_uf,regime + 1) / (N_uf,regime + 2) Laplace, min N=3
| Ciclo | n | Acc baseline | Acc + MRP | Δ |
|---|---|---|---|---|
| 2010 federal | 86 | 100.0% | 100.0% | 0.0pp |
| 2016 SP | 20 | 85.0% | 85.0% | 0.0pp |
| 2018 federal | 70 | 100.0% | 98.6% | -1.4pp |
| 2020 SP | 30 | 93.3% | 100.0% | +6.7pp |
| 2022 federal | 120 | 100.0% | 100.0% | 0.0pp |
| 2024 SP | 68 | 73.5% | 89.7% | +16.2pp |
| avg | 394 | 94.16% | 97.21% | +3.05pp |
| Path | Retorna |
|---|---|
GET /health |
status + n_train_events + snapshot |
GET /elections |
calendário 2026 + cargos cobertos |
GET /predictions/presidente |
5 candidatos elegíveis (Bolsonaro filtrado TSE) |
GET /predictions/governador?uf=SP |
top candidatos por UF |
GET /predictions/senador |
titulares cuja cadeira vence 2026 |
GET /predictions/all |
snapshot completo |
GET /backtest |
métricas + selective sweep |
GET /evolution |
relatório de autoevolução + gates de promoção |
POST /predict |
predição custom (cargo, lead, days, incumb, regime) |
POST /admin/keys/issue |
emite API key (X-Admin-Token) |
python scripts/smoke_political.py # 35/35 tests
python scripts/backtest_political.py # year-fold + selective
python scripts/autoresearch_political.py # grid 3072 + W_STATE sweep
python scripts/evolve_political_model.py --apply # autoevolução com gates
python scripts/predict_2026.py # gera data/predictions_2026.json
python scripts/quant_analyze.py data/backtest/eleicao_presidencial_br_2022.csv --target outcome_real --format mddocs/ONBOARDING_POLITICAL.md- arquitetura completa + roadmap Ondas 5-10docs/QUANT_ANALYSIS.md- análise quantitativa estilo R em Pythondocs/CLIENT_ONBOARDING.md- quickstart clientedocs/DEPLOY_POLITICAL.md- Render + Vercel deploy
| Tier | Req/min | Req/dia | Endpoints | Suporte | Custom training | Preço sugerido |
|---|---|---|---|---|---|---|
| Free | 30 | 500 | leitura snapshot | best-effort | não | grátis |
| Pro | 300 | 50.000 | + custom predict | email 24h | não | R$ 2-5k/mês |
| Enterprise | ilimitado | ilimitado | + admin keys + SLA | dedicado | sim (white-label, on-prem) | sob contrato |
Casos de uso típicos por tier:
- Free: jornalismo, pesquisa acadêmica, dashboards públicos
- Pro: campanhas, agências, hedge funds menores, consultorias
- Enterprise: bancos, hedge funds grandes, partidos, mercados de previsão
Emitir chave: POST /api/v1/politica/admin/keys/issue com X-Admin-Token.
Revogar: POST /api/v1/politica/admin/keys/revoke?api_key=....
Q: O modelo erra tossups como o de 2024 SP? A: O MRP state baseline trata esse tipo de corrida. No caso 2024 SP, a acurácia subiu de 73.5% para 89.7%; Linzer puro e Polymarket pré-eleição não corrigiram esse cluster.
Q: Qual a diferença vs Polymarket / mercados de previsão? A: Polymarket reflete consenso de apostadores em tempo real. Vila INTEIA é modelo estatístico independente. Vantagem: cobertura de UFs sem mercado líquido (governadores small estados, senado), e priors estáveis quando mercados estão thin.
Q: Posso usar dados próprios?
A: Tier Enterprise. Pipeline aceita CSVs custom no formato (evento_id, data, contexto, outcome_real, probabilidade_prior, outcome_framing). Cohort retreina automaticamente.
Q: White-label?
A: Tier Enterprise. Frontend Next.js é parametrizável via VILA_API_BASE env var; basta deploy separado em Vercel/CloudFlare com seu domínio.
Q: On-prem deploy?
A: Tier Enterprise. Stack roda em qualquer infra com Python 3.11+ e Postgres (Supabase opcional). Dockerfile + docker-compose.yml inclusos.
Q: O modelo é auditável?
A: Sim. Hyperparams em data/political_best_config.json (versionado). Year-fold CV é determinístico. Pipeline em engine/political_cohort.py ~250 linhas, sem LLM no caminho de predição (apenas PC-CRD + Linzer + MRP analíticos).
Q: Quanto custa para rodar (infra)? A: Render Starter ($7/mês) + Vercel Hobby (grátis) suficiente até ~10k req/dia. Supabase free tier para snapshots. Total <$10/mês para Pro tier.
Q: Como atualizar predições?
A: python scripts/predict_2026.py regenera data/predictions_2026.json. Em prod, cron a cada 24h ou quando novos polls chegarem. Render suporta cron jobs nativo.
- Abrir Presidência (
http://localhost:3001) - mostrar hero serif "Lula lidera, mas corrida fragmentada", número 26.6% gigante, distribution bar com 5 candidatos color-coded por regime ideológico - Falar do diferencial: "modelos normais erram tossups, Vila recuperou 2024 SP +16pp via MRP"
- Ir em Backtest - mostrar gráfico SVG selective coverage curve, tabela 6 ciclos com 4/6 em 100%
- Ir em Simular - alterar lead do Lula com slider, ver predição mudar em tempo real, mostrar trajetória SVG ao longo de 365 dias, ver 2º turno simulado aparecer
- Custom predict - inserir lead +8pp, dias 45, incumbente sim, mostrar 71.5% probabilidade
- Falar de produto multi-tenant: 10 endpoints, X-API-Key, tiers, pronto para clientes pagantes (campanhas, jornalismo, hedge funds)
- Mostrar
docs/ONBOARDING_POLITICAL.md- 11 seções + roadmap até Onda 10 (Stripe billing, MRP demográfico, deploy prod)
Próximas ondas no pipeline: Onda 5 (house effects), Onda 6 (MRP demográfico PNAD-C), Onda 8 (Stripe billing), Onda 9 (deploy prod), Onda 10 (1º cliente).
# Demo rápido Vila (10 agentes, 20 steps, sem persistência)
python main.py demo
# API + frontend político (porta 8100, swagger /docs, dashboard /politica.html)
python main.py serve --port 8100
# Modo live 24/7 (thread de simulação contínua)
python main.py live --port 8100 --intervalo 60 --topico "tema desejado"
# Mirofish pipeline (corpus → grafo → simulação)
python main.py mirofish --personas CL001,CL002,CL007
# Forecasting bench
python main.py forecast-bench --dataset post_cutoff_q1_2027_holdout_v5
python main.py forecast-mega-bench --pattern "*holdout*"docker-compose up -d
# http://localhost:8100Pipeline probabilístico (Brier, Murphy, Platt/iso, EB, conformal, Kelly) em 46 datasets / 600 eventos.
| Forecaster | Brier |
|---|---|
| Polymarket | 0.047 |
| Superforecasters | 0.081 |
| GPT-4.5 cold | 0.101 |
| Manifold | 0.107 |
| Vila INTEIA | 0.227 |
| Base-rate | 0.241 |
Vila bate base-rate (DM Δ=-0.014). 52 teoremas em engine/*.py. Detalhe em docs/HONEST_FORECASTING_ARTICLE.md.
| Operação | Latência | Ops/s |
|---|---|---|
nash_puro (2×2) |
0.07ms | 14k |
prever_trajetoria (50 passos) |
0.21ms | 4.8k |
plano_seldon (horizonte 100) |
0.54ms | 1.8k |
classificar_estado |
0.003ms | 369k |
deffuant (40 agentes, 1000 passos) |
3.96ms | 253 |
Rodar: PYTHONPATH=. python tests/benchmark.py.
Inspirada em Generative Agents (Stanford/Google) + OASIS (camel-ai). 11 mandamentos orgânicos viram mecânicas reais (latência, decay de conhecimento, desafios coletivos, economia de patentes).
Não apenas simula debate: promulga leis, publica jornais reais (Mirante News), executa economia interna, evolui sua constituição.
API-compatible com Mirofish: corpus → grafo → simulação multi-agente → relatório.
python main.py mirofish --personas CL001,CL002,CL007 --datasets "btc*.csv"Detalhe em .claude/skills/vila-mirofish/SKILL.md.
vila-inteia/
├── main.py # entry point (demo/serve/live/mirofish/forecast-*)
├── docker-compose.yml
├── render.yaml # Render deploy
│
├── engine/ # core (45+ módulos)
│ ├── simulacao.py # orquestra 1 step
│ ├── persona.py # agent identity
│ ├── colmeia.py # 11 mandamentos
│ ├── cognitivo/ # perceber→...→sintetizar (7 fases)
│ ├── memoria/ # fluxo, espacial, rascunho, fundador
│ ├── political_cohort.py # PC-CRD + Linzer + MRP (Onda 4) ⭐
│ ├── auth_clients.py # multi-tenant API keys ⭐
│ └── harness/ # observabilidade + orçamento
│
├── api/ # FastAPI routers
│ ├── rotas_vila.py # /api/v1/vila/*
│ ├── rotas_politica.py # /api/v1/politica/* (Onda 4) ⭐
│ └── rotas_harness.py
│
├── frontend/ # vanilla JS
│ ├── index.html, cidade.html, jogo.html, rede.html
│ └── politica.html # política dashboard (Onda 4) ⭐
│
├── frontend-next/ # Next.js 15 (Vercel-ready) ⭐
│ ├── app/ # / governadores senado simular custom backtest
│ ├── components/ # Shell, Trajectory, SecondRound, ProbBar
│ └── lib/api.ts, predict.ts
│
├── data/
│ ├── banco-consultores-lendarios.json # 144 personas
│ ├── backtest/ # 50+ CSVs políticos + crypto
│ ├── political_best_config.json # config v1.4-evo MRP+Linzer ⭐
│ └── predictions_2026.json # snapshot atual ⭐
│
├── migrations/005_political_forecasts.sql ⭐
│
├── scripts/
│ ├── smoke_political.py # 35/35 PASS ⭐
│ ├── backtest_political.py
│ ├── autoresearch_political.py
│ ├── evolve_political_model.py
│ └── predict_2026.py
│
├── docs/
│ ├── ONBOARDING_POLITICAL.md # arquitetura política completa ⭐
│ ├── CLIENT_ONBOARDING.md # quickstart cliente ⭐
│ ├── DEPLOY_POLITICAL.md # Render + Vercel guide ⭐
│ ├── ARCHITECTURE.md, DEPLOY.md, INTEGRATIONS.md, ROADMAP.md
│ └── screenshots/ # 6 PNGs do frontend Next.js ⭐
│
└── tests/ # 50+ test files (Ondas 5-42)
⭐ = adicionado/modificado na Onda 4.
docs/ONBOARDING_POLITICAL.md- arquitetura + roadmapdocs/CLIENT_ONBOARDING.md- quickstart clientedocs/DEPLOY_POLITICAL.md- Render + Vercel deploy
MANIFEST.md- tabela consolidada de ondasdocs/ARCHITECTURE.md- arquitetura completadocs/DEPLOY.md- Docker, Render, Verceldocs/INTEGRATIONS.md- Mirante, Mirofish, OmniRoutedocs/ROADMAP.md- próximas iterações
docs/HONEST_FORECASTING_ARTICLE.md- 52 teoremas + 46 datasets
CONSTITUICAO_VILA.md- 11 Mandamentos, PatentesHARNESS_VILA.md- framework Zhou et al. 2026CONTRIBUTING.md- padrões de código
# Tests (cada arquivo executa standalone, não usa pytest config)
PYTHONPATH=. python tests/test_ondas_25_27.py
PYTHONPATH=. python scripts/smoke_political.py
# Lint
black engine/ api/ tests/
flake8 engine/ api/ --max-line-length=100
# Frontend
cd frontend-next && npm run build && npm run startCI roda Ondas 5-42 + JS/Python syntax em cada PR. Ver .github/workflows/tests.yml.
MIT
Mantido por: Igor Morais Vasconcelos (@igormorais123)
Predição Política BR 2026 : produto comercial. Para licenciamento empresarial e integração via API: colmeia@inteia.com.br.





