# Vault Fixture Contract This directory holds vault compatibility fixtures shared between Python and C# tests. ## Required cases 1. `YYYY-MM.vault` files generated by Python encryption flow from `fixtures/entries/`. 2. At least one wrong-password case where decrypt fails and source vault bytes remain unchanged. 3. Optional legacy case: `_init_vault.vault` for compatibility cleanup behavior. ## Current status - Vault fixtures are generated from `fixtures/entries/*.md` using Python crypto flow: - `python fixtures/vaults/generate_vault_fixtures.py` - Committed artifacts: - `2026-01.vault` - `2026-02.vault` - `manifest.json` with generation metadata, fixture password, wrong-password case, and SHA-256 hashes. ## Validation contract 1. Load with `manifest.password` must extract all `expected_entries`. 2. Each extracted entry SHA-256 must match manifest values. 3. Load with `manifest.wrong_password` must fail and keep vault bytes unchanged.