Problem
A cold-cache run of both the full test suite and python scripts/verify_vocabulary_change.py attempts to download sentence-transformers/all-MiniLM-L6-v2 while rebuilding or pulling the real vocabulary. With network unavailable, the real-vocabulary pull test fails and deterministic reconstruction aborts, even though embeddings are not part of pattern identity or hash verification.
This was reproduced while reviewing PRs #69-#73 on 2026-07-19. After allowing the model download once, 390 tests and the full 453-pattern verification workflow passed.
Why it matters
The canonical contributor/CI workflow should prove vocabulary determinism without depending on an external model host or a warm user cache. The current dependency adds avoidable latency and a third-party failure mode to semantic verification.
Acceptance criteria
python scripts/verify_vocabulary_change.py succeeds with an empty model cache and outbound network blocked.
- The real-vocabulary pull integration test does not contact an external model host.
- Production search embeddings remain unchanged; any deterministic stand-in or embedding bypass is scoped to reconstruction/test paths.
- Add a regression test that fails if the verification path requests a model download.
Problem
A cold-cache run of both the full test suite and
python scripts/verify_vocabulary_change.pyattempts to downloadsentence-transformers/all-MiniLM-L6-v2while rebuilding or pulling the real vocabulary. With network unavailable, the real-vocabulary pull test fails and deterministic reconstruction aborts, even though embeddings are not part of pattern identity or hash verification.This was reproduced while reviewing PRs #69-#73 on 2026-07-19. After allowing the model download once, 390 tests and the full 453-pattern verification workflow passed.
Why it matters
The canonical contributor/CI workflow should prove vocabulary determinism without depending on an external model host or a warm user cache. The current dependency adds avoidable latency and a third-party failure mode to semantic verification.
Acceptance criteria
python scripts/verify_vocabulary_change.pysucceeds with an empty model cache and outbound network blocked.