git-subtree-dir: fiscal git-subtree-mainline:d95165fc8fgit-subtree-split:102ba84500
9.1 KiB
Project State — GTI Fiscal (2026-09-29, Missão 9 concluída)
Leitura obrigatória antes de qualquer nova missão fiscal (CLAUDE.md aponta para cá). Sem dado de
cliente (nomes, CNPJ, descrição de produto) — só fatos de estado do sistema. Leia também
docs/MISSAO_9_LOG.md antes de continuar — tem o relatório final completo.
Important
CORREÇÃO (Missão 9): o banner anterior aqui afirmava que CONSTRUCAO/MMMODAS/RINCAO/UNIAO eram dado de teste — estava errado, generalizava a partir do Agent 2 (esse sim, teste). Confirmado com o operador: são cópias reais de 4 clientes de verdade (Cliente A–D). A partir de agora, escritas só em
work_copies/<nome>.FDB(nunca nos originais emBanco/) — verdocs/LOCAL_WRITE_ALLOWLIST_V1.json(atualizado) edocs/MISSAO_9_LOG.md. Agent 2/GTI.FDB e TESTESOFICIAIS.FDB continuam sendo, esses sim, ambiente de teste/homologação.
Note
Missão 9 foi retomada após uma interrupção prematura (desligamento da máquina com trabalho em andamento) e concluída de verdade nesta sessão: diagnóstico completo dos 4 clientes reais (via pipeline real do Agent para os 4, mais diagnóstico de 18 campos via
local_completion.pypara A e B), P2-P4 confirmadosACTIVEno registry, suíte canônica passando (1191 testes, 1 skip). Nenhuma escrita real foi feita em nenhum banco — não por bloqueio, mas porque o diagnóstico completo não encontrou nenhuma célula genuinamenteAUTO_FILL_SAFEpendente em nenhum dos 4 clientes (tudo jáALREADY_CORRECT/NOT_APPLICABLE, ou requer decisão humana). Detalhe completo e o relatório final emdocs/MISSAO_9_LOG.md.
Versões
- Hub (produção): 1.3.15 (bump e merge concluídos, preparado para deploy).
- Agent (última release Windows PUBLICADA): 1.3.8 — nenhum installer novo foi publicado nas Missões 2–8 (o Agent permaneceu 100% inalterado e desacoplado).
- Agent 2 (installation
bb50884a-5e78-4f26-8cac-804932dae8de): 1.3.8, informado pelo operador — ambiente de teste/homologação. - Hub e Agent são versionados independentemente — ver
docs/VERSIONING.md.
Migration head e Merge Real (Missão 8)
- main (master):
0035_cfop_ippt_write_mode(34 migrações). Head única linear. - Merge de
feature/cfop-ippt-writeemmasterCONCLUÍDO:agent/tests/test_cfop_ippt_auto_apply.py: versão da branch mantida com 15 testes de segurança.release/RELEASE_MANIFEST.json: reconciliado com head 0035 e versão 1.3.15.Installation.cfop_ippt_write_mode: coluna adicionada com DEFAULT OFF ("DISABLED"). Zero escrita habilitada automaticamente.- Head do Alembic:
0035_cfop_ippt_write_mode (head), encadeada linearmente sobre0034_reference_data_registry.
Reference Data Registry e Validações Oficiais (Missão 8)
- Inventário Oficial dos 9 Datasets Existentes (
central/app/datasets/inventory.py):- NCM (Siscomex)
- TIPI_IPI (Receita Federal)
- CEST (CONFAZ)
- BA_ST_MVA (SEFAZ-BA)
- NFE_MOC_TABLES (Receita Federal / ENCAT)
- CFOP (Portal Nacional NF-e)
- FCP (Portal Nacional NF-e)
- ANP (Portal Nacional NF-e)
- NCM_UTRIB (Portal Nacional NF-e)
- Status dos Datasets P2, P3 e P4:
CFOP: 619 códigos (IT 2023.002 v2.10, SHA-256c95c...ff6f), statusDRAFT.NFE_DOMAINS: 130 códigos (MOC 7.0 Anexo I, SHA-2565eb4...55d), statusDRAFT.TIPI_IPI: 11.103 NCMs/EX (Decreto nº 11.158/2022 até ADE 001-2026, SHA-256d155...2e9a), statusDRAFT.CEST: 1.223 CESTs (Convênio ICMS 142/18, SHA-256d7fb...54d3), statusDRAFT.
- Validação de CBS/IBS e GTIN na Fonte Oficial (Missão 8 / B.1 — 2026-09-28):
- CBS / IBS 2026: Ministério da Fazenda / Comitê Gestor do IBS (Ato Conjunto RFB/CGIBS nº 4/2026 e ADCT art. 125). CBS = 0,9% e IBS = 0,1% (alíquotas de teste totalizando 1,0%, compensáveis). Status:
VERIFICADO_NA_FONTE. - GTIN Restrito: GS1 Brasil (
https://www.gs1br.org). Prefixos iniciados por 02 e faixa 20-29 são de circulação restrita / uso interno de balança. Status:VERIFICADO_NA_FONTE.
- CBS / IBS 2026: Ministério da Fazenda / Comitê Gestor do IBS (Ato Conjunto RFB/CGIBS nº 4/2026 e ADCT art. 125). CBS = 0,9% e IBS = 0,1% (alíquotas de teste totalizando 1,0%, compensáveis). Status:
Suíte Canônica e Cobertura de Testes (Missão 8 / Bloco C)
- Comando Canônico de Testes (documentado em
CLAUDE.md):python -m pytest tests central/tests agent/tests -qtests(raiz): 361 testes unitários offline.central/tests(Hub): 650+ testes de backend, endpoints e conformidade.agent/tests(Agent): 156 testes de integração e componentes locais.- Explicação da divergência histórica: 1008 testes correspondia a
tests central/tests; 1164 testes incluía a pastaagent/tests.
- Elevação da Cobertura de Testes:
central/app/reference_registry.py: elevado para 100% de cobertura (aprovação/rejeição com dado inválido, erros de parse e concorrência).central/app/classification.py: elevado para 77% de cobertura (candidatos de NCM, ambiguidades, desempate de CEST e resolução de MVA).- Suíte
central/tests/test_mission_08_coverage.pyadicionada.
Prontidão para o Primeiro Cliente Real e Segurança
- Rótulo
DADO_DE_TESTE=true: Visível na UI do Hub (Contexto Fiscal), emfiscal_context_ui.py, no dossiê contábil e no relatório de bloqueios NCM. - Checklist de Onboarding Seguro: Roteiro formalizado em
docs/ONBOARDING_PRIMEIRO_CLIENTE_REAL.md(leitura em lotes de 50-100 itens, throttling 50-100ms, transação isolada, rollback instantâneo e operação inicial em DRY-RUN sem auto-fill por N=3 ciclos). - Runbook de Disaster Recovery do Hub: Procedimento de recuperação rápida em menos de 3 minutos formalizado em
docs/RUNBOOK_DR_HUB.md.
Missão 9 — Instalações reais em cópia de trabalho (2026-09-29, concluída)
- 4 clientes reais (CONSTRUCAO/MMMODAS/RINCAO/UNIAO — Cliente A–D) copiados para
work_copies/*.FDB(git-ignored), hash do original verificado igual antes/depois. Originais emBanco/nunca mais devem ser abertos em modo de escrita (agora também garantido por teste —central/tests/test_field_contract.py::test_executor_allowlist_is_exact_and_field_set_is_the_contractverifica que o caminho original é explicitamente rejeitado pelo executor). - 4 Agents novos registrados (IDs 618–621, nunca reaproveitando o Agent 2):
Cliente A
880def5d-09bb-45c4-a5b7-95d32646d122(CONSTRUCAO, CRT1), Cliente Bde1b7a5b-dd83-4094-8af9-3787ec4cc2bd(MMMODAS, CRT1), Cliente Cc143f1ce-e471-49a4-b090-28d35f8659d3(RINCAO, CRT3, cClassTrib já obrigatório desde 03/08/2026 masUSAR_REFORMA_TRIBUTARIA=0no ERP do próprio cliente — decisão do cliente, fora do escopo do Agent), Cliente D219a2a5a-3543-47d8-9fd8-5957b52ce133(UNIAO, CRT1)..envde cada um emwork_copies/agent_envs/(não versionado). - Diagnóstico concluído para os 4 (jobs reais 648/650/651/652, todos
COMPLETED): A 3712/3712, B 20997/20997, C 893/894 (1SAFE_BLOCKEDpor CST PIS/COFINS inválido na origem), D 8939/8942 (3SAFE_BLOCKED) —NEEDS_REVIEW=0ewrites_attempted=0em todos. - Diagnóstico completo de 18 campos (
local_completion.py snapshot+dryrun) rodou com sucesso para A e B: zerowrite_eligible_cellsnos dois — nada qualifica comoAUTO_FILL_SAFEhoje (o resto éALREADY_CORRECT/NOT_APPLICABLEouMANUAL_INPUT_REQUIRED, sempre decisão humana, nunca inferida). Para C e D, osnapshotfoi negado pelo classificador de modo automático da sessão (não contornado) — usa-se apenas o resultado do pipeline real do Agent para esses dois. docs/LOCAL_WRITE_ALLOWLIST_V1.jsonatualizado: aponta parawork_copies/em vez deBanco/.- Cascata de escrita real (Bloco 2) não teve nada a escrever: com 0 células elegíveis nos 4
clientes, não há
apply/seconda rodar —WRITES_REAIS_NAS_COPIAS = 0por resultado correto do diagnóstico, não por bloqueio técnico. - P2-P4 (CFOP/NFE_DOMAINS/TIPI_IPI/CEST) confirmados
ACTIVEno registry, persistiram corretamente entre reboots. - Suíte canônica: 1191 testes passando, 1 skip (corrigido um fixture de teste que ainda
apontava para o caminho antigo
Banco/CONSTRUCAO.FDBapós o allowlist mudar parawork_copies/). - Ver
docs/MISSAO_9_LOG.mdpara o relatório final completo e as lacunas de engenharia/decisão humana identificadas (a mais relevante: o pipeline real do Agent ainda não chama ofield_contract.resolve_productcompleto — só scripts standalone o fazem hoje).
Índice de Documentos-Chave (docs/)
EVIDENCE_SOURCES.md— matriz de fontes de teste vs o que falta validar com cliente real.ONBOARDING_PRIMEIRO_CLIENTE_REAL.md— checklist de onboarding, segurança e critério dry-run.RUNBOOK_DR_HUB.md— runbook de recuperação de desastre do Hub a partir dos backups de deploy.REFERENCE_DATASET_MANIFEST_V1.md— manifesto de datasets oficiais baixados (P1 a P4 com hashes e URLs).DESCOBERTA_P5_P6_MISSAO_6.md— levantamento completo de PIS/COFINS SPED e ICMS-ST para o Hub.dossie_contador.md— dossiê fiscal com aviso DADO_DE_TESTE=true.NCM_27_BLOCKED_PRODUCTS_V1.md— artefatos de teste com bloqueio de NCM.