# Corpus slots

**Schema:** `aziel.unseal-site.v1.1`  
**Catalog:** [`manifest.json`](manifest.json)  
**Machine schema:** [`manifest.schema.json`](manifest.schema.json)  
**Author:** Aziel Eliab  
**License:** Apache-2.0  

This folder is the prep catalog for manuscript surfaces. The site reads `manifest.json`. It does not download the files named there.

Categories:

| `kind` | What an entry is |
| --- | --- |
| `transcription` | Machine-readable transliteration (EVA, ZL, GC, RF, STA, or a local slot) |
| `folio_image` | A public page where facsimile images are published, or an empty slot for a later local image |
| `ocr` | An empty slot for an OCR layer the operator supplies |
| `public_baseline` | A public format note or alphabet definition |
| `materials` | A public codicological note, or an empty slot for a later materials table |
| `aggregate` | An empty slot for a later combined table |

Each entry carries `id`, `title`, `kind`, `license`, `source_url`, `sha256` (only when the bytes are local), and `notes`.

`present: false` and `sha256: null` mean the bytes are not in this repo. Remote `content-length` figures in the notes are observations from 2026-10-30. They are not hashes.

The one local transcription pointer is the prep-store blob already chained as `ivtff-sta1-transcription`. Its sha256 is the receipt-store hash. The bytes stay in `receipts/sources/`. They are not copied here.

## Drop a file later

1. Put the file under `corpus/files/`.
2. Set `local_path`, `sha256`, `bytes`, and `present: true` on that entry.
3. Leave `decryption_complete` false.
4. Skip paywalled dumps and skip a second copy of a sha256 that already lives in `receipts/sources/`.

`corpus/files/` is an empty slot in this prep pass. The public domain tip stays open.

Receipts chained here are also housed on azielcorpuslibrary.net under the tab label `voynich`. The wrap, pull, and counter doors are in [`../VOYNICH-CORPUS.md`](../VOYNICH-CORPUS.md). `decryption_complete` stays false.
