# MANIFEST — Brasiliana Fotográfica → S3 > **Versão final, 2026-09-30.** Coleta concluída em 2026-09-13. Números > conferidos contra o ledger de envio (`pipeline/subidor.sqlite`) e a listagem > do bucket. Detalhe técnico em `tasks/PLANO.md` e `README.md`. ## O que é Cópia de preservação do acervo da **Brasiliana Fotográfica** (brasilianafotografica.bn.gov.br), um repositório DSpace mantido pela Biblioteca Nacional do Brasil reunindo fotografias de 15 instituições (14 brasileiras e uma alemã) (handles `20.500.12156.1/*`). Depositada em `s3://brasiliana` como acervo arquivístico — procedência e checksums preservados por item, não uma cópia solta de imagens. Inclui também os posts editoriais do blog WordPress do mesmo projeto (raiz do domínio, separado do repositório DSpace) — ensaios curatoriais que contextualizam itens do acervo, com autoria e data preservadas. ## Por que foi coletado assim A Biblioteca Nacional foi consultada: o material é público, mas a instituição não tem equipe técnica para fornecer um dump. A coleta por scraping foi o caminho combinado, com ritmo cortês e identificação do coletor mantidos ao longo de toda a coleta. ## Como foi coletado **Metadados** (13.060 itens): enumerados via `browse?type=title` por comunidade (o sitemap oficial está desatualizado desde 2019 e cobre só 41% do acervo), colhidos um a um do DSpace (`?show=full`), executado a partir de um navegador real — o site usa uma proteção anti-automação que bloqueia requisições de servidores e navegadores sem sessão real, mesmo pra bitstreams de imagem, não só páginas HTML. **Imagens**: cada item pode ter mais de uma imagem original (achado desta coleta — 121 itens tinham de 2 a 8 bitstreams reais, não um). Pra cada item coletamos: a imagem de preservação (a de maior resolução), a(s) imagem(ns) adicional(is) quando existem, e a miniatura gerada pelo próprio DSpace. Uma cópia legada de menor resolução (`objdigital.bn.br`) também foi preservada quando disponível — é a mesma proveniência, resolução inferior, mantida por referência histórica, nunca como substituta da imagem de preservação. **Posts do blog**: 636 posts únicos coletados (637 identificados, 1 com erro na origem; 8 categorias do WordPress, com sobreposição substancial entre elas), com título, autor, data, categorias e corpo do texto, mais a lista de handles do acervo que cada post referencia. ## Estrutura no bucket ``` s3://brasiliana/ MANIFEST.md este arquivo INDEX.md índice legível dos itens catalogo.jsonl metadados completos, 1 linha por item wordpress-posts.jsonl posts do blog, 1 linha por post wordpress/ um Markdown por post falhas-500-2026-09-13.txt itens cuja preservação a origem não serve descricao/ descrição arquivística NOBRADE (ver abaixo) itens/{handle-com-underscore}/ metadata.json Dublin Core completo + URL de origem + data/hora UTC de captura manifest-sha256.txt SHA-256 de cada arquivo do item preservacao/ {nome-do-arquivo}.jpg imagem de maior resolução extra_seqN.jpg imagens adicionais (itens com múltiplos bitstreams — ver achado 2.7 do PLANO.md) thumbnail/ thumb_N.jpg miniatura gerada pelo DSpace legado/ {nome-original}.jpg cópia de objdigital.bn.br, quando existe (menor resolução, mesma proveniência) derivados/thumb256/ {handle-com-underscore}.webp miniatura DERIVADA por nós (não é material de origem — ver abaixo) derivados/medio/ {handle-com-underscore}.webp imagem média (~1000 px) DERIVADA, usada no cartão do mural ``` ### Sobre `derivados/` Tudo sob `itens/` é material de origem: veio da Biblioteca Nacional como está. `derivados/` é o oposto — foi gerado por nós a partir do que está em `itens/`, e pode ser reconstruído do zero a qualquer momento. A separação é proposital: misturar derivado nosso com bitstream de origem apagaria a procedência que o resto deste manifesto garante. `derivados/thumb256/` tem **13.059 miniaturas** (256px no maior lado, WebP q80, ~100 MB no total), uma por item, geradas com libvips a partir da imagem de preservação quando ela existe e, nos 69 itens sem ela, do `thumbnail/` do próprio DSpace. A especificação de saída é a mesma nos dois casos, então o conjunto é uniforme. Cobre **13.059 dos 13.060 handles do catálogo (99,99%)**. O único ausente é `7523`, cujos bitstreams a origem serve com HTTP 500. `derivados/medio/` tem a mesma cobertura (13.059). Contagem de itens: o `catalogo.jsonl` final tem **13.060 handles distintos**, todos itens reais. O falso-positivo `20.500.12156.1/1` (página raiz da comunidade) não está nele. A cifra de 13.058 de rascunhos anteriores está superada. Note que `itens/{handle}/thumbnail/` **não** é uma miniatura no sentido usual: os arquivos que o DSpace chama de thumbnail têm 721 a 3.709 px no maior lado (média ~1.087). São derivados de resolução média, não miniaturas de listagem. ## Não-negociáveis (cumpridos) - **SHA-256 de cada arquivo** — em `manifest-sha256.txt`, por item - **URL de origem + data/hora UTC de captura** — em `metadata.json` (`source_url`, `fetched_at`) - **`dc.rights` e instituição de origem preservados por item** — `metadata.json` traz `community` (100% dos itens) e `rights` (quando a instituição de origem o preencheu — ver nota abaixo) ## Contagens (fechadas em 2026-09-30) | | Arquivos | Itens | Tamanho | |---|--:|--:|--:| | Itens no catálogo | — | 13.060 | 45,9 MB (`catalogo.jsonl`) | | Imagem de preservação | 13.194 | 12.991 | 127,4 GB | | ↳ extras (itens com 2 a 8 imagens) | 203 | 121 | incluídos acima | | Miniatura do DSpace (`thumbnail/`) | 13.060 | 13.059 | 1,5 GB | | Cópia legada (objdigital) | 2.137 (1.899 JPG, 213 PDF, 25 outros) | 2.137 | 9,6 GB | | `metadata.json` + `manifest-sha256.txt` | 26.118 | 13.059 | 65 MB | | Derivado `thumb256` | 13.059 | 13.059 | 101 MB | | Derivado `medio` | 13.059 | 13.059 | 499 MB | | Posts do blog (`wordpress/`) | 636 | — | 10 MB | | **Total no bucket** (sem `descricao/`) | **81.269 objetos** | | **139,2 GB** | Sem imagem de preservação: **69 itens**, listados em `errors.md` e `falhas-500-2026-09-13.txt`. A origem responde HTTP 500 ao bitstream, e todos, menos o `7523`, têm a miniatura do DSpace. ## Descrição arquivística (NOBRADE) `descricao/` descreve esta coleção segundo a NOBRADE (CONARQ, 2006), em seis níveis: acervo › coleção › 15 seções (instituição de origem) › 115 séries (coleção ou fundo de origem) › 13.060 dossiês (itens do DSpace) › 13.262 itens documentais (cada imagem). Código de referência `BR RJXYZ.BF....`, com a entidade `RJXYZ` provisória até o CONARQ atribuir um CODEARQ. | Arquivo | Conteúdo | |---|---| | `unidades.jsonl` | 26.454 unidades de descrição, elementos pelo número da norma | | `autoridades.jsonl`, `eac/` | 457 registros de autoridade (ISAAR(CPF)), também em EAC-CPF | | `ead/brasiliana.xml` | a coleção inteira em EAD 3, validada contra o XSD oficial | | `atom.csv` | importação no AtoM (modelo ISAD) | | `pendencias.md` | validador dos obrigatórios: 0 pendências | | `revisao/`, `textos/` | tabelas dos normalizadores e textos dos níveis 1–2 | | `manifest-sha256.txt` | SHA-256 de cada arquivo de `descricao/` | A descrição é derivada, como `derivados/`: regenera-se com `python3 -m nobrade` a partir do catálogo e do ledger. Decisões e mapeamentos estão em `CONARQ.md`, no repositório. ## Exceções conhecidas (não são bugs) - **`dc.rights` ausente em 5.833 itens (44,7%)** — característica real da fonte: várias instituições nunca preencheram esse campo no DSpace. A instituição de origem (`community`) está preservada em 100% dos casos; a decisão de redistribuição desses itens deve considerar a política de cada instituição individualmente (ver seção "Direitos" abaixo). - **Handle `20.500.12156.1/1`** — descoberto pelo crawler mas não é um item: é a página raiz da comunidade. Excluído do catálogo final. - **Duplicatas com sufixo `(N)` removidas** — 3.511 objetos nomeados `arquivo (1).jpg` ao lado de um `arquivo.jpg` byte a byte idêntico (artefato do navegador rebaixando por cima). Confirmados idênticos por ETag + tamanho antes de apagar; 0,39 GB recuperados. Sobraram 43 cujo nome tem o sufixo mas que são o único arquivo do item (ficam como estão) e 30 cujo gêmeo tem tamanho diferente — esses precisam de conferência individual e **não** foram tocados. - **Handle `20.500.12156.1/7523`** ("Vista Aérea de Cabo Frio", Museu Aeroespacial) — sem imagem. O servidor da Biblioteca Nacional retorna `HTTP 500` ao tentar servir os bitstreams desse item especificamente; não é um problema do nosso lado. Metadados preservados normalmente. - **Handles `20.500.12156.1/6656` e `20.500.12156.1/7939`**: a primeira tentativa baixou o bitstream de LICENÇA do DSpace (777 bytes de texto com extensão `.jpg`), que a validação de magic bytes barrou. Na rodada de 2026-09-13 os dois foram recuperados, e a imagem de preservação real está no bucket. ## Direitos Majoritariamente domínio público por antiguidade, mas as 15 instituições de origem (14 brasileiras + 1 alemã) têm políticas distintas. `dc.rights` e a instituição de origem são preservados **por item**: a decisão de redistribuir é item a item, não do acervo em bloco. Arquivar para si é uma coisa; republicar é outra.