# Corpus Snapshot — Disclosure Bureau v0.2.0

> Generated: 2026-05-17 · Após batch rebuild completo

## Totais

| Métrica | Valor |
|---|---|
| **Documentos arquivados** | 116/115 (100% — extra: doc-342 test) |
| **Chunks totais** | 20.935 |
| **Páginas processadas** | 3.359 |
| **Imagens cropadas** | 752 (bilíngue desc + UAP check) |
| **UFO anomaly flagged** | 3.020 chunks (14.4%) |
| **Cryptid anomaly flagged** | 21 chunks (0.1%) |
| **Disk usage** | 634 MB (`raw/*--subagent`) |
| **Custo cumulativo** | ~$409 USD |
| **Validação harness** | 93 ok · 23 com warnings YAML (body OK) |

## Cobertura por coleção

- **DOW-UAP D1-D75** (75 docs Mission Reports DoD 2020-2025): completos
- **65 HS1 FBI Vault** (12 sections + 16 serials + sub-a): completos
- **NASA Apollo** (transcripts 11/12/17/Skylab — 5 docs): completos
- **DOS-UAP** (cables diplomáticos 3 docs): completos
- **FBI photos b2-b24** (10 docs): completos
- **059UAP** (FOIA — 3 docs): completos
- **doc-18, doc-255, doc-331, doc-341, doc-342**: completos
- **serials redacted** (3-5): completos
- **western-us-event-slides** + **usper-statement**: completos

## Estrutura por documento

Cada `raw/<doc-id>--subagent/` contém:

```
├── document.md           assembled bilingual master (EN+PT-BR inline)
├── _index.json           ordered chunk index (harness reassembly)
├── chunks/
│   ├── c0001.md          1 file per chunk, frontmatter rico (bbox+type+anomaly)
│   ├── c0002.md
│   └── ...
├── images/               cropped bbox regions PNG (with bilingual descriptions)
└── tables/               stitched multi-page tables CSV
```

## Próximos passos pré-deploy

Toda infra do retrieval layer está construída (`scripts/30,31,32,33` + `embed-service/` + migration `0002_chunks_retrieval.sql`). Para ativar:

```bash
# Sobe stack na VPS (embed-service + pgvector migration aplicada)
cd infra/disclosure-stack && ./scripts/deploy.sh

# Index chunks → Postgres + BGE-M3 embeddings
python3 scripts/30-index-chunks-to-db.py

# Materialize entity_mentions (chunk ↔ entity, ~30min)
python3 scripts/31-populate-entity-mentions.py

# Sync mentioned_in[] → markdown (fecha loop wiki ↔ DB)
python3 scripts/32-sync-mentioned-in-yaml.py

# (Manutenção) Compact progress.jsonl
python3 scripts/33-compact-progress-log.py
```

Detalhes em [`infra/DEPLOY-CHECKLIST.md`](infra/DEPLOY-CHECKLIST.md).

## Frontend já operacional

13 rotas + Cmd+K + chat agente:
- `/` lista de docs com summaries + filtros
- `/d/<doc>/v2` chunks rebuilt rico
- `/d/<doc>/v2/<page>` single page side-by-side
- `/search?q=…` URL-shareable hybrid search
- `/timeline` cronologia decade-grouped
- `/graph` force-directed entity network
- `/e/<class>` entity list por classe
- `/e/<class>/<id>` entity detail + co-mentions live
- `/admin/stats` corpus analytics
- `/admin/batch` rebuild monitor
- `/admin/indexer` retrieval health
- Chat: 12 tools (hybrid_search / read_chunk / entity_neighbors / etc)

## Warnings conhecidos

Os 23 docs com YAML warnings (todos `body OK` graças ao parser resiliente):
- doc-38-143685, doc-59-64634, doc-65-hs1-101634279
- doc-65-hs1-834228961 sections 1, 2, 4, 5, 6, 7, 8, 10
- doc-65-hs1-834228961 serials 130, 403, 438, 449
- doc-65-hs1-834228961 sub-a
- fbi-photo-b4, b5, b8, b11, b17, b23
- nasa-uap-d7-skylab

Causa: Sonnet 4.6 escreveu aspas duplas mal-escapadas em campos `ocr_source_lines` ou outros. Fix preventivo já aplicado no `page-rebuilder.md` para próximos rebuilds. Os atuais funcionam 100% para retrieval (texto OK), só perdem alguns metadados estruturados em ~140 chunks.
