Update ARCHITECTURE.md to reflect 87 curated topics and 131 edges. Refactor exemplar_coverage_audit.py to use vault.db instead of retired corpus.json. Update exemplar-gaps.yaml inventory.
.github/workflows/vault-ci.yml
Matches repo workflow style (emoji-prefixed name, concurrency group,
path-scoped triggers). Phase-0 scope: pip install, vault --version,
ruff, pytest, exemplar-audit staleness check. Python 3.12 pinned for
hash stability per ARCHITECTURE.md §3.5. mypy --strict included but
non-blocking at Phase 0; enforces in Phase 1. Placeholder for
vault check --strict, vault build, vault codegen --check as those
commands land.
interviews/vault-cli/scripts/exemplar_coverage_audit.py
Reads corpus.json, groups by (track, level, zone), counts total
questions vs exemplar-eligible per cell (requires provenance ∈
{human, llm-then-human-edited}). Phase-0 honest output: provenance
field doesn't exist in corpus.json yet, so eligible=0 for every
cell until Phase-1 YAML split + provenance backfill. Audit shape is
stable so Phase-1 re-runs slot in without refactoring.
interviews/vault/exemplar-gaps.yaml
First audit snapshot: 190 cells catalogued, all gap=3 pending
Phase-1. Filling gaps unblocks vault generate in Phase 7, not a
Phase 0 blocker (Chip N-H3 resolution).
Phase 0 milestone: complete.