00_GAP_INTL.md (IARC
vols 113-135, EU CLP, OSHA Z-1, AIHA WEEL, DFG MAK, NIOSH IDLH, EU OEL
98/24/EC, WHO IPCS, GHS, TSCA/SVHC). 3 P0, 3 P1, 2 P2, 2 P3. Top-3
priorizadas para roadmap Q3 2026: IARC pos-2014, NIOSH IDLH, EU CLP
Annex VI.Mantida a definicao V2-strict do certificado anterior para as 4 bases originais:
V2_completa(e) :=
(e.cited_text IS NOT NULL)
AND ((e.limite_numerico IS NOT NULL) OR (e.sem_limite_por_design IS TRUE))
Para as 6 bases novas em V3, criterio adaptado por natureza da tabela:
fonte + 20 entries LINACH
faltantes.score_V3 = 0.20·s_nr15 + 0.15·s_acgih + 0.12·s_linach + 0.10·s_decreto
+ 0.05·s_niosh_rel + 0.05·s_echa_cmr
+ 0.08·s_composto_anexo13 + 0.03·s_familias
+ 0.05·s_vw_carcinog + 0.02·s_nr15_acgih_diff
+ 0.10·100 + 0.05·100 # velocidade + cobertura busca
Pesos somam 1.000. ECHA REACH CMR entra como constante 0 (base inexistente, pune omissao igual a erro por design - tornar visivel a falta de tabela ECHA).
Bootstrap stratified 5000 iter, seed=20260629. Para cada base com
n>0, reamostragem com reposicao do vetor
[1]*completos + [0]*(n-completos). ECHA REACH CMR (n=0)
entra como constante 0; velocidade e cobertura entram como constantes
100. Percentis 2.5 e 97.5 produzem o IC95%.
| # | Base | Peso | n auditado | Score % | Wilson IC95 | Contribuicao pp | Status |
|---|---|---|---|---|---|---|---|
| 1 | NR-15 (fds.nr15_entries, 433) |
0.20 | 316 | 99.68 | [98.23, 99.94] | 19.936 | Auditado V2 carry-forward |
| 2 | ACGIH (fds.acgih_tlv, 240) |
0.15 | 219 | 89.50 | [84.69, 92.86] | 13.425 | Auditado V2 carry-forward |
| 3 | LINACH (fds.linach, 99) |
0.12 | 114 | 99.12 | [95.20, 99.84] | 11.894 | Auditado V2 carry-forward |
| 4 | Decreto 3048 (fds.decreto3048, 190) |
0.10 | 177 | 100.00 | [97.88, 100.00] | 10.000 | Auditado V2 carry-forward |
| 5 | NIOSH REL (fds.niosh_rel, 106) |
0.05 | 8 ext + 60 int | 25.00 | [7.15, 59.07] | 1.250 | NUNCA testada antes WF21 |
| 6 | ECHA REACH CMR (fds.echa_reach_cmr) |
0.05 | 0 (base inexistente) | 0.00 | [0, 0] | 0.000 | Tabela nao existe |
| 7 | composto_anexo13 (fds.composto_anexo13, 165 vinc) |
0.08 | 116 censo | 100.00 | [96.93, 100.00] | 8.000 | NUNCA testada antes WF21 |
| 8 | familias_quimicas (fds.familias_quimicas, 24) |
0.03 | 18 censo | 100.00 | [82.41, 100.00] | 3.000 | NUNCA testada antes WF21 |
| 9 | vw_carcinogeno_resolvido (view, 99) | 0.05 | 79 | 91.14 | [82.85, 95.66] | 4.557 | NUNCA testada antes WF21 |
| 10 | nr15_acgih_diff_aceito (fds.nr15_acgih_diff_aceito,
91) |
0.02 | 62 censo | 100.00 | [94.16, 100.00] | 2.000 | NUNCA testada antes WF21 |
| OP-1 | Velocidade busca (operacional) | 0.10 | constante | 100.00 | — | 10.000 | Carry V2 |
| OP-2 | Cobertura busca (operacional) | 0.05 | constante | 100.00 | — | 5.000 | Carry V2 |
| TOTAL | — | 1.000 | — | — | — | 89.062 | — |
fds.echa_reach_cmr nao existe no banco.
Score=0 por construcao, peso=0.05 -> 5pp perdidos visiveis. Nao ha
divergencia real — ha ausencia de fonte. Decisao de
design: pune omissao para tornar gap visivel.fonte + 1 entry grupo=‘3’ + 20 entries faltantes vs MD
canonico.fds_PRE_WF21_20260629_235935.dumppre-wf21-29jun31fe176fds_PRE_WF19_*.dump,
fds_PRE_WF20_*.dump).SK1_numeros.md)Veredito: numeros_ok = true, 5 anomalias nao-bloqueantes detectadas, 0 erro fatal.
| # | Anomalia | Diagnostico | Impacto |
|---|---|---|---|
| 1 | LINACH drift declared 99.12 vs observed 98/99=98.99 | codigo _score_v3.py usa numero memoria WF19 |
+0.016pp insignificante |
| 2 | IC95 V3 (3.31pp) 1.51x maior que V2 (2.19pp) | esperado: NIOSH n=8 + ECHA n=0 inflam variancia | informativo |
| 3 | NIOSH peso 0.05 com n=8 externo da 0.00625pp/sample | score fragil a outliers | justifica rebuild com n=60 censo |
| 4 | ECHA peso 0.05 em base inexistente | pune omissao = erro | decisao de design valida, confunde leitura |
| 5 | Velocidade + Cobertura = 100% hardcoded sem re-teste WF21 | contribuem 15pp constantes | WF22 reauditar ou rebaixar peso |
SK2_bases.md)Veredito: bases_validas = 6, alucinacoes = 0.
Cada uma das 6 bases novas (NIOSH REL, ECHA, composto_anexo13,
familias, vw_carcinog, nr15_acgih_diff) foi validada contra inventario
SQL (00_INVENTORY.md). Nenhuma fabricacao de tabela, schema
ou contagem.
SK3_gap_intl.md)Veredito: roadmap_realista = false; 11 ajustes recomendados (3 BLOQUEANTES, 5 FORTES, 3 MELHORIAS).
Bloqueantes: 1. Reescrever comunicacao publica do Selo Platinum V2 (landing + dashboard + email) antes de qualquer ingest novo — dizer “4 bases brasileiras auditadas”, nao “97%” generico. Risco regulatorio e reputacional. 2. Incluir 4 pendencias de hardening do lancamento 25/06 dentro do mes 1 (rotacao MP_ACCESS_TOKEN+webhook secret, CPF criptografado, snapshots Lightsail, dedup 28.811 compostos). Sao LGPD/operacionais bloqueantes — nao podem competir com ingest de novas bases. 3. Exigir POC de 1 semana (~20h cada) para IARC e EU CLP antes de fechar cronograma — estimativas atuais sao chute sem parser real; ECHA mudou estrutura CSV em 2024 (ATP), IARC scrape historicamente quebra.
Fortes: 4. Rebaixar EU CLP Annex VI de P0 para P1 e adiar para Q4 2026 (80-120h subestimado, dicionario PT perpetuo). 5. Rebaixar DFG MAK de P1 para P2 (traducao alemao + ciclo anual + 50% overlap ACGIH). 6. Promover ECHA SVHC de P2 para P1 e executar mes 1 junto com NIOSH IDLH (240 entries de alto signal, 20-30h). 7. Adicionar item zero “governanca de fontes externas” (owner por base, cron de update, politica de versionamento, criterio fora-de-validade). 8. Orcar 30h de validacao com Eduardo (6 ingests = 6 ciclos MD-LLM nao contabilizados).
Melhorias: 9. Substituir “+X.Ypp” por estimativa qualitativa baixo/medio/alto/muito alto. 10. Adicionar coluna “data ultima revisao da fonte” na tabela priorizada. 11. Descartar GHS framework do roadmap (entra implicito via CLP/ABNT 14725).
Detalhe completo em
/home/renato/fds/wf21_29jun/00_GAP_INTL.md. Resumo
priorizado:
| Rank | Fonte | Prioridade | Tamanho | Esforco_h | Overlap | Ganho qualitativo | ROI |
|---|---|---|---|---|---|---|---|
| 1 | IARC vols 113-135 (pos-2014) | P0 | ~150 | 60-90 | ~30% | ALTO (gap 12 anos LINACH) | ALTO |
| 2 | NIOSH IDLH | P0 | ~390 | 30-40 | ~80% c/ REL | MEDIO (extensao natural NIOSH) | MUITO ALTO |
| 3 | EU CLP Annex VI | P0 -> P1 (SK3) | ~4500 | 80-120 | ~15-20% | ALTO (cross-validation CMR) | ALTO |
| 4 | DFG MAK | P1 -> P2 (SK3) | ~700 | 50-80 | ~50% | MEDIO (segunda opiniao EU) | MEDIO |
| 5 | AIHA WEEL | P1 | ~120 | 30-50 | ~5% | MEDIO (preenche gap ACGIH) | MEDIO-ALTO |
| 6 | EU OEL 98/24/EC | P1 | ~190 | 40-60 | ~60% | MEDIO | ALTO |
| 7 | OSHA PEL Z-1 | P2 | ~470 | 40-60 | ~70% | BAIXO (defasado vs ACGIH) | MEDIO |
| 8 | ECHA SVHC | P2 -> P1 (SK3) | ~240 | 20-30 | ~60% | MEDIO-ALTO (exportador BR-UE) | ALTO |
| 9 | WHO IPCS EHC | P3 | ~250 | 120-200 | ~70% | BAIXO (texto livre) | BAIXO |
| 10 | GHS Purple Book | P3 (descartar SK3) | framework | 80-100 | indireto | BAIXO solo | BAIXO solo |
Mes 1 (jul/2026): Pendencias hardening 25/06 (rotacao MP, CPF cripto, snapshot LS, dedup) + POC ingest IARC (1 semana) + POC ingest EU CLP (1 semana) + NIOSH IDLH ingest (~40h) + ECHA SVHC ingest (~25h, promovido P1) + governanca de fontes externas (~15h) + Cochran 5% das 2 bases novas (~20h) + reescrever comunicacao publica do selo V2.
Mes 2 (ago/2026): IARC vols 113-135 ingest unificado se POC ok (~80h) + Cochran IARC margem 5% (~280 amostras) + Selo Platinum V4 release com 6 bases auditadas (NR-15, ACGIH, LINACH, Decreto, NIOSH IDLH, ECHA SVHC) + ciclo MD-LLM Eduardo (~30h).
Mes 3 (set/2026): EU OEL diretivas consolidadas (~50h) + AIHA WEEL (~40h) + POC DFG MAK (~30h). EU CLP rebaixado para Q4 2026 (esforco subestimado).
A base regulatoria FDS Intelligence atinge 89.06% de pureza V3 cobertura ampla (IC95 [87.53%, 90.84%], Bootstrap stratified 5000 iter, seed=20260629) sobre 10 bases armazenadas auditaveis (71% das 14 inventariadas) + 2 dimensoes operacionais (velocidade, cobertura busca). Cobertura internacional explicitamente reportada como GAP em 10 fontes nao armazenadas — roadmap Q3 2026 prioriza IARC pos-2014, NIOSH IDLH e ECHA SVHC.
Platinum V3 Cobertura Ampla (10 bases) — selo interno CEPEA, exige score >= 85%, cobertura >= 70% das bases armazenadas inventariadas, gap internacional explicitamente reportado, zero alucinacao em Skeptics.
fds.echa_reach_cmr nao existe; decisao de design para
tornar gap visivel.| Acao | Ganho estimado pp | Esforco |
|---|---|---|
Popular fds.echa_reach_cmr via CSV ECHA Annex XIV (~59
entradas) + Cochran |
+4.5 a +5.0 | medio (1d) |
Rebuild fds.niosh_rel via NIOSH Pocket Guide JSON +
coluna rel_unidade + mapping C/ST |
+3.0 a +3.7 | medio (1d) |
Materializar VIEW fds.vw_carcinogeno_resolvido +
normalizar fonte + inserir 20 entries LINACH |
+0.4 a +0.5 | baixo (4h) |
| Fechar 22 divergencias ACGIH n=210 com round curatorial Eduardo | +1.5 | alto (1sem) |
| Total projetado | +9.4 a +10.7pp | — |
Score projetado pos-correcoes: ~98.4-99.7% (cruza meta 99% com folga marginal). Atencao SK1: medicao de pp eh projecao qualitativa - confirmar com Cochran efetivo pos-ingest.
/home/renato/fds/wf21_29jun/)00_INVENTORY.md — censo das 14 bases armazenadas no
banco00_COCHRAN_V3.md — score V3 consolidado + bootstrap
stratified00_GAP_INTL.md — 10 fontes internacionais nao
armazenadas com priorizacaoC1_niosh.md — NIOSH REL (n=8 externo + n=60
interno)C2_echa.md — ECHA REACH CMR base inexistenteC3_composto_anexo13.md — composto_anexo13 n=116
censoC4_familias.md — familias_quimicas n=18 censoC5_vw_carcinog.md — vw_carcinogeno_resolvido n=79C6_diff_aceito.md — nr15_acgih_diff_aceito n=62
censo_score_v3.py — script de calculo bootstrap_score_v3.json — resultado serializadoSK1_numeros.md — Skeptic numeros e calculo (5 anomalias
nao-bloqueantes)SK2_bases.md — Skeptic bases (6 validas, 0
alucinacoes)SK3_gap_intl.md — Skeptic roadmap internacional (11
ajustes recomendados)/home/renato/fds/certif_v2_29jun/ (Cochran 4 bases
originais + 3-way validations)/home/renato/fds/wf20_29jun/ (B1 universal ACGIH
24 classifications)# 1. Restore snapshot pre-WF21 se necessario
sudo docker exec -i pg pg_restore -U fds_user -d fds_db < fds_PRE_WF21_20260629_235935.dump
# 2. Re-rodar Cochran V3 (READ-ONLY no banco)
python3 /home/renato/fds/wf21_29jun/_score_v3.py > /home/renato/fds/wf21_29jun/_score_v3.json
# 3. Re-rodar Skeptics
# (manuais; ver SK1/SK2/SK3 markdowns)Emitido em 2026-06-29 por WF21 Agent Teams CEPEA
Branch: branch head 31fe176 | Tag
pre-WF21: pre-wf21-29jun |
Snapshot:
fds_PRE_WF21_20260629_235935.dump
Substitui:
CERTIFICADO_PUREZA_V2_29JUN2026_v2.md (v2 / pos-WF20,
escopo 4 bases, score 97.06%) Cobertura ampliada: 4
-> 10 bases (29% -> 71% das 14 inventariadas) + 10 fontes intl
reportadas como gap explicito