Files
GTI_GERENCIADOR_FISCAL/docs/PROJECT_STATE.md
T
gtiandClaude Sonnet 5 156392e7e3 docs+setup: Missão 9 (parcial, encerrada a pedido do operador mid-execução)
Correção de fato: CONSTRUCAO/MMMODAS/RINCAO/UNIAO são cópias reais de 4
clientes (Cliente A-D), não dado de teste como uma sessão anterior (Missão
6/7) generalizou por engano a partir do Agent 2 (esse sim, teste).
docs/EVIDENCE_SOURCES.md e docs/PROJECT_STATE.md corrigidos.

Bloco 0 (setup seguro) concluído: os 4 originais copiados para work_copies/
(git-ignored, .FDB maiúsculo já coberto pelo padrão existente), hash SHA-256
idêntico antes/depois da cópia (manifestos commitados). CRT/UF/regime
confirmados direto de cada banco via company_context (nunca perguntado ao
operador): A=CONSTRUCAO CRT1, B=MMMODAS CRT1, C=RINCAO CRT3, D=UNIAO CRT1.
4 Agents novos registrados (IDs 618-621, installation_ids novos, nunca
reaproveitando o Agent 2), .env por instalação (gitignored - contém tokens
reais), FIREBIRD_WRITES=0, escrita restrita ao próprio work copy de cada um.
docs/LOCAL_WRITE_ALLOWLIST_V1.json atualizado para apontar a work_copies/ em
vez de Banco/ - os originais nunca mais devem ser abertos em modo de escrita.

Bloco 1.3 concluído: busca web real confirma cClassTrib já obrigatório desde
03/08/2026 para CRT=3 (Cliente C) e só a partir de 2027 para CRT=1 (A/B/D) -
o motor já implementava essa regra corretamente, nenhuma mudança de código.

Restante da missão (diagnóstico completo de 18 campos, aprovação dos
datasets P2-P4, cascata de escrita, lançamento dos Agents C/D) NÃO foi
executado: 3 ações foram negadas pelo classificador de modo automático desta
sessão (nunca contornadas por outra via, por instrução explícita da própria
negação) e a sessão foi encerrada a pedido do operador com 2 jobs reais
(Cliente A e B) ainda RUNNING no Hub local. Detalhe completo, incluindo o
que uma sessão futura deve verificar primeiro, em docs/MISSAO_9_LOG.md.

Nenhuma mudança de código nesta sessão - só documentação, setup de
ambiente de trabalho e tentativas de execução operacional. Nenhuma escrita
fiscal real em nenhum banco (nem original, nem cópia).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 00:45:14 -03:00

7.4 KiB
Raw Blame History

Project State — GTI Fiscal (2026-09-29, fim da Missão 9 — encerrada a meio da execução)

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 detalhe completo do que ficou pendente.

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 em Banco/) — ver docs/LOCAL_WRITE_ALLOWLIST_V1.json (atualizado) e docs/MISSAO_9_LOG.md. Agent 2/GTI.FDB e TESTESOFICIAIS.FDB continuam sendo, esses sim, ambiente de teste/homologação.

Warning

Missão 9 foi interrompida a pedido do operador (desligamento da máquina) com trabalho em andamento. 3 ações foram negadas pelo classificador de modo automático da sessão (diagnóstico/ cascata completa via local_completion.py; lançar 2 Agents em paralelo; aprovar datasets P2-P4) — não foram contornadas. 2 jobs reais do Agent (Cliente A e B) ficaram RUNNING no Postgres do Hub local quando a sessão encerrou — confira o status deles antes de assumir qualquer coisa sobre a instalação A/B. Detalhe completo em docs/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-write em master CONCLUÍ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 sobre 0034_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):
    1. NCM (Siscomex)
    2. TIPI_IPI (Receita Federal)
    3. CEST (CONFAZ)
    4. BA_ST_MVA (SEFAZ-BA)
    5. NFE_MOC_TABLES (Receita Federal / ENCAT)
    6. CFOP (Portal Nacional NF-e)
    7. FCP (Portal Nacional NF-e)
    8. ANP (Portal Nacional NF-e)
    9. NCM_UTRIB (Portal Nacional NF-e)
  • Status dos Datasets P2, P3 e P4:
    • CFOP: 619 códigos (IT 2023.002 v2.10, SHA-256 c95c...ff6f), status DRAFT.
    • NFE_DOMAINS: 130 códigos (MOC 7.0 Anexo I, SHA-256 5eb4...55d), status DRAFT.
    • TIPI_IPI: 11.103 NCMs/EX (Decreto nº 11.158/2022 até ADE 001-2026, SHA-256 d155...2e9a), status DRAFT.
    • CEST: 1.223 CESTs (Convênio ICMS 142/18, SHA-256 d7fb...54d3), status DRAFT.
  • 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.

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 -q
    
    • tests (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 pasta agent/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.py adicionada.

Prontidão para o Primeiro Cliente Real e Segurança

  • Rótulo DADO_DE_TESTE=true: Visível na UI do Hub (Contexto Fiscal), em fiscal_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, parcial)

  • 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 em Banco/ nunca mais devem ser abertos em modo de escrita.
  • 4 Agents novos registrados (IDs 618–621, nunca reaproveitando o Agent 2): Cliente A 880def5d-09bb-45c4-a5b7-95d32646d122 (CONSTRUCAO, CRT1), Cliente B de1b7a5b-dd83-4094-8af9-3787ec4cc2bd (MMMODAS, CRT1), Cliente C c143f1ce-e471-49a4-b090-28d35f8659d3 (RINCAO, CRT3, cClassTrib já obrigatório desde 03/08/2026), Cliente D 219a2a5a-3543-47d8-9fd8-5957b52ce133 (UNIAO, CRT1). .env de cada um em work_copies/agent_envs/ (não versionado). Só A e B chegaram a rodar um job real; C e D nunca foram lançados (bloqueado por permissão, ver docs/MISSAO_9_LOG.md).
  • docs/LOCAL_WRITE_ALLOWLIST_V1.json atualizado: aponta para work_copies/ em vez de Banco/.
  • Diagnóstico completo de 18 campos e cascata de escrita não executados (3 ações bloqueadas pelo classificador de modo automático da sessão, nenhuma contornada). Ver docs/MISSAO_9_LOG.md para o detalhe exato e o que fazer numa próxima sessão.

Í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.