27e6a67388
Cycle-close tidy for the packed-versioned-index-bundle cycle (issues #3 + #4, both shipped and closed). Architect drift review over d83b10f..HEAD against the spec + glossary (no paths.design_ledger / project CLAUDE.md configured, so spec + glossary are the only references; the regression gate is empty — commands.regression: [] — so architect was the sole cycle-close gate). Architect verdict: drift_found, minor — no spec contract violated. Format, header schema, on-disk layout, and the load_packed_or_store validation order (n_rows → model → corpus hash) match the spec exactly; both #3 and #4 acceptance criteria are test-evidenced; no glossary term drift; the IndexStatus / degraded orthogonality is honored. Resolutions: - [medium] Missing positional-alignment test. The spec § Testing strategy promised a "row i == store.get(entries[i].text)" guard, and it had not shipped — the load-bearing invariant that licenses dropping the per-row SHA256 key (row i = corpus entry i) was unprotected. FIXED: added tests/pack_cli_tests.rs::cli_packed_rows_are_in_corpus_order, which packs a store with order-revealing orthogonal vectors via the CLI, reads the packed file back, and asserts the rows follow corpus-load order (swapped order fails the test). - [low] Stale IndexStatus doc comments still said "structurally valid/invalid" though the variants now also carry semantic model/corpus mismatch. FIXED: refreshed the Ok / Mismatch comments in src/model.rs. - [low] The `index --pack` writer logic lives inline in main rather than in the packed module, leaving its header construction outside library test reach. CARRY-ON: filed as backlog issue #5 (idea/debt) — behaviour is correct and CLI-test-covered; the refactor is a self-contained testability improvement, not forced into this tidy. - [note] No design ledger / project CLAUDE.md configured; drift is measurable only against spec + glossary. Recorded as an infrastructure observation. Regression: no scripts configured (no-op). Full suite green (68 tests, +1 for the alignment guard). cycle packed-versioned-bundle tidy (drift-clean). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>