2026-02-23 20:12:10 -06:00

25 lines
963 B
Markdown

# 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.