No end-to-end tests exist. Unit tests cover `store.rs`, `crypto.rs`, and `openai.rs` in isolation but there is no test that exercises the full ingest → search → result pipeline.
Once sled is removed (see #3) and the store is in-memory, tests can instantiate `AppState` directly without any tempdir setup.
Minimum viable test:
- Ingest 3–5 short texts with known semantic content
- Search for a query that should match one of them
- Assert the correct chunk is ranked first and score > 0.7
- Assert a semantically unrelated query does not return the matching chunk in position 1
A mock embedder (returns a deterministic fixed vector based on input hash) would make tests fast and hermetic without requiring the ONNX model files.
No end-to-end tests exist. Unit tests cover `store.rs`, `crypto.rs`, and `openai.rs` in isolation but there is no test that exercises the full ingest → search → result pipeline.
Once sled is removed (see #3) and the store is in-memory, tests can instantiate `AppState` directly without any tempdir setup.
Minimum viable test:
A mock embedder (returns a deterministic fixed vector based on input hash) would make tests fast and hermetic without requiring the ONNX model files.