O sucesso final é uma conjunção, não uma sensação
O falso positivo morre quando cada camada responde uma pergunta diferente: estrutura, qualidade, classificação incremental e status operacional.
Quatro gates 1. validate-corpus — todos os arquivos e índices existem?
2. audit-corpus-quality — há pacote parcial, artigo incompleto, mídia inválida ou ruído de DOM?
3. classify-incremental-run — o lote novo criou regressão ou deixou fila pendente?
4. current_rebuild_status — o estado raiz conta a verdade atual, não um `run_summary` velho?
Resultado final desta correção {
"status": "success",
"corpus_bookmark_count": 1171,
"discovery_source": "codex_chrome_plugin",
"chrome_discovery_required": true,
"chrome_discovered_count": 14,
"x_app_discovered_count": 0,
"new_count": 0,
"processed_count": 14,
"skipped_complete_count": 14,
"queued_native_x_article_count": 0,
"audit_failed_count": 0,
"discovery_quality": {
"records": 14,
"with_visible_text": 14,
"with_post_images": 14,
"x_article_cards": 14,
"x_status_cards": 0
}
}
O detalhe honesto O run processado está verde, mas `known_boundary_reached` ficou `false`: esta execução não provou exaustão total da timeline de bookmarks. Isso não invalida os 14 cards capturados; só impede a frase “percorri tudo até o fim”.
Mapa anti-falso-positivo
Validar estrutura Auditar qualidade Classificar incremental Status raiz verdade atual