Cobertura histórica do corpus
Esta página documenta — com orgulho e sem letras miúdas — até onde o corpus neutro de INAPI alcança e a
partir de que ano ele é denso. A honestidade faz parte do contrato: um consumidor merece saber "até quando"
os dados são confiáveis antes de construir sobre eles. O corpus é neutro — zero campos ou referências
cruzadas de RMC (imposto por pnpm neutrality).
Os números abaixo foram medidos contra produção em 2026-07-08 (snapshot). São re-executáveis com a auditoria somente-leitura em
scripts/data-quality-audit.sql. Total do corpus no momento do snapshot: 829.757 linhas deinstancia.
A fronteira de cobertura, em uma frase
O corpus é denso a partir de ~2007-2009 e residual antes disso (1994-2006). Isto não é uma lacuna a tapar nem um defeito: é o formato real da fonte pública de INAPI, e a documentamos como é para que ninguém seja pego de surpresa.
Densidade por ano de apresentação
| Faixa | Cobertura | Volume típico por ano |
|---|---|---|
| 1994-2006 | Residual | da ordem de 1 / 3 / 6 / … 474 pedidos/ano (cresce devagar até o fim da faixa) |
| ~2007-2009 | Começa a densificar | milhares de pedidos/ano |
| 2010 → hoje | Denso | dezenas de milhares de pedidos/ano |
Leitura-chave: a fronteira ~2007 separa "o corpus está substancialmente completo" de "a cobertura é residual". Uma análise que comece antes de ~2007 verá poucas linhas porque a fonte tem poucas linhas, não porque falte ingestão.
Como o contrato de leitura expõe essa fronteira
Sob o trabalho de honestidade do contrato (CONTRACT-01), cada resposta de insights deixa de ser um array nu e é envolvida em um envelope com metadados de frescor:
{
"data": [ /* … as mesmas linhas da agregação, intactas … */ ],
"dataAsOf": "2026-03-06T10:05:00.000Z",
"coverageThrough": "2026-03-05"
}
data— exatamente as linhas que a agregação retornava antes (mesmas linhas, mesma ordem, mesmas contagens). O envelope envolve, nunca muta.dataAsOf— timestamp ISO do último sync bem-sucedido: até quando a ingestão rodou.coverageThrough— a fronteira enriquecida: a data de apresentação mais recente entre as instâncias já enriquecidas (com classe/titular). Além dessa data vivem os stubs frescos do Buscador, vistos mas ainda não enriquecidos — reportar a data mais nova DELES superestimaria a cobertura.
Ambos os campos são omitidos (nunca aparecem como null) quando não há dado, de forma aditiva e
retrocompatível — a mesma convenção de detail e similar. REST e MCP retornam o mesmo envelope por
construção (uma única camada na camada de consultas compartilhada), provado com um teste de paridade deep-equal.
O scoring histórico herda a fronteira
O segundo moat do produto — o scoring por histórico de decisões — se apoia no histórico de resoluções de INAPI. Por definição ele herda essa mesma fronteira: uma análise histórica anterior a ~2007 tem cobertura residual, e isso é o esperado, não uma lacuna. Quanto mais recente o período analisado, mais densa a evidência sobre a qual o score se apoia. Isto é documentado aqui para que um score histórico seja lido com o contexto de cobertura correto.
Notas de qualidade relacionadas
- A lacuna de
estado(~126k linhas sem estado no snapshot, ≈15,2%) é uma cauda longa espalhada por todos os anos, não um buraco de um ano/uma fonte específica — verSCHEMA-MAPPING.md(referência interna de engenharia). É fechada pela varredura diária autoritativa do Sheets, não por re-raspar o Buscador. - A série de numeração "99x" (~20.315 linhas, majoritariamente marcas estrangeiras) é legítima — consistente com registros internacionais / Protocolo de Madri para o Chile — e é tratada igual à série normal para fins de leitura.
Em resumo: o corpus é honesto sobre sua própria fronteira. Denso a partir de ~2007, residual antes, e cada resposta de insights o diz em voz alta via
coverageThroughedataAsOf.