vector-engine 1.1.1__tar.gz → 1.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vector_engine-1.2.0/CITATION.cff +11 -0
- vector_engine-1.2.0/MANIFEST.in +4 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/PKG-INFO +14 -6
- {vector_engine-1.1.1 → vector_engine-1.2.0}/README.md +13 -5
- vector_engine-1.2.0/docs/releases/v0.2.0-alpha.md +61 -0
- vector_engine-1.2.0/docs/releases/v0.3.0.md +57 -0
- vector_engine-1.2.0/docs/releases/v1.0.0-checklist.md +40 -0
- vector_engine-1.2.0/docs/releases/v1.0.0.md +88 -0
- vector_engine-1.2.0/docs/releases/v1.1.0-checklist.md +40 -0
- vector_engine-1.2.0/docs/releases/v1.1.0.md +114 -0
- vector_engine-1.2.0/docs/releases/v1.1.1.md +21 -0
- vector_engine-1.2.0/docs/releases/v1.2.0-checklist.md +48 -0
- vector_engine-1.2.0/docs/releases/v1.2.0.md +72 -0
- vector_engine-1.2.0/notebooks/01_semantic_search.ipynb +101 -0
- vector_engine-1.2.0/notebooks/02_knn_baseline.ipynb +111 -0
- vector_engine-1.2.0/notebooks/03_recommender_similarity.ipynb +100 -0
- vector_engine-1.2.0/notebooks/04_stability_runs.ipynb +255 -0
- vector_engine-1.2.0/notebooks/05_ann_backend.ipynb +132 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/pyproject.toml +1 -1
- vector_engine-1.2.0/scripts/artifact_contracts.py +319 -0
- vector_engine-1.2.0/scripts/benchmark_ivf.py +125 -0
- vector_engine-1.2.0/scripts/benchmark_ivf_batching.py +163 -0
- vector_engine-1.2.0/scripts/benchmark_matrix.py +342 -0
- vector_engine-1.2.0/scripts/build_release_bundle.py +90 -0
- vector_engine-1.2.0/scripts/credibility_audit.py +238 -0
- vector_engine-1.2.0/scripts/datasets.py +278 -0
- vector_engine-1.2.0/scripts/env_diagnostics.py +91 -0
- vector_engine-1.2.0/scripts/ingest_dataset.py +273 -0
- vector_engine-1.2.0/scripts/matrix_profile_advisor.py +74 -0
- vector_engine-1.2.0/scripts/performance_gates.py +161 -0
- vector_engine-1.2.0/scripts/profile_local.py +113 -0
- vector_engine-1.2.0/scripts/publishable_results.py +124 -0
- vector_engine-1.2.0/scripts/rag_baseline.py +103 -0
- vector_engine-1.2.0/scripts/rag_real_corpus_eval.py +207 -0
- vector_engine-1.2.0/scripts/repro_smoke.py +164 -0
- vector_engine-1.2.0/scripts/stability_runs.py +203 -0
- vector_engine-1.2.0/tests/test_ivf_backend.py +206 -0
- vector_engine-1.2.0/tests/test_notebook_integrity.py +30 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_release_bundle.py +5 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/__init__.py +1 -1
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/backends/__init__.py +3 -0
- vector_engine-1.2.0/vector_engine/backends/ivf.py +224 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine.egg-info/PKG-INFO +14 -6
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine.egg-info/SOURCES.txt +36 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/LICENSE +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/setup.cfg +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_api_stability.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_artifact_contracts.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_core.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_credibility_audit.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_dataset_benchmark_tooling.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_env_diagnostics.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_eval_surface_v1.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_faiss_optional.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_hardening.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_ingest_pipeline.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_install_smoke.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_matrix_profile_advisor.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_ml_eval.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_perf_smoke.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_persistence_compat.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_profile_local.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_rag_reliability.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_real_corpus_eval.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_release_performance_workflow.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/tests/test_v02_features.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/array.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/backends/base.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/backends/bruteforce.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/backends/faiss_backend.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/backends/registry.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/eval/__init__.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/eval/retrieval.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/index.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/io/__init__.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/io/manifest.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/metric.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/ml/__init__.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/ml/clustering.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/ml/knn.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/results.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/training/__init__.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine/training/hard_negative.py +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine.egg-info/dependency_links.txt +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine.egg-info/requires.txt +0 -0
- {vector_engine-1.1.1 → vector_engine-1.2.0}/vector_engine.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
cff-version: 1.2.0
|
|
2
|
+
title: "Vector Engine"
|
|
3
|
+
message: "If you use Vector Engine in research, please cite this project."
|
|
4
|
+
type: software
|
|
5
|
+
authors:
|
|
6
|
+
- family-names: "Panchal"
|
|
7
|
+
given-names: "Neel"
|
|
8
|
+
repository-code: "https://github.com/neelpanchal11/Vector-Engine"
|
|
9
|
+
license: MIT
|
|
10
|
+
version: "1.2.0"
|
|
11
|
+
date-released: 2026-08-13
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vector-engine
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
4
4
|
Summary: ML-first vector computation and retrieval engine.
|
|
5
5
|
Author: Neel Panchal
|
|
6
6
|
License-Expression: MIT
|
|
@@ -30,7 +30,7 @@ Provides-Extra: dev
|
|
|
30
30
|
Requires-Dist: pytest<9,>=8.2; extra == "dev"
|
|
31
31
|
Dynamic: license-file
|
|
32
32
|
|
|
33
|
-
# Vector Engine v1.
|
|
33
|
+
# Vector Engine v1.2.0
|
|
34
34
|
|
|
35
35
|
Reproducibility-first vector retrieval toolkit for local ML and IR workflows.
|
|
36
36
|
|
|
@@ -116,6 +116,7 @@ Each notebook opens directly from this repo, so it always matches the current re
|
|
|
116
116
|
- Semantic search: [](https://colab.research.google.com/github/neelpanchal11/Vector-Engine/blob/main/notebooks/01_semantic_search.ipynb)
|
|
117
117
|
- kNN baseline classifier: [](https://colab.research.google.com/github/neelpanchal11/Vector-Engine/blob/main/notebooks/02_knn_baseline.ipynb)
|
|
118
118
|
- Item-item recommender similarity: [](https://colab.research.google.com/github/neelpanchal11/Vector-Engine/blob/main/notebooks/03_recommender_similarity.ipynb)
|
|
119
|
+
- IVF ANN backend (recall vs. speed): [](https://colab.research.google.com/github/neelpanchal11/Vector-Engine/blob/main/notebooks/05_ann_backend.ipynb)
|
|
119
120
|
|
|
120
121
|
`notebooks/04_stability_runs.ipynb` analyzes locally generated benchmark artifacts (see [Reproducibility and Evidence](#reproducibility-and-evidence)) and is not a standalone Colab demo.
|
|
121
122
|
|
|
@@ -180,13 +181,16 @@ Bundle outputs include:
|
|
|
180
181
|
|
|
181
182
|
## Backends
|
|
182
183
|
|
|
183
|
-
| Backend | Search | Add | Save/Load | Custom Metric |
|
|
184
|
-
| --- | ---: | ---: | ---: | ---: |
|
|
185
|
-
| `bruteforce` | yes | yes | yes | yes |
|
|
186
|
-
| `
|
|
184
|
+
| Backend | Search | Add | Save/Load | Custom Metric | Deps |
|
|
185
|
+
| --- | ---: | ---: | ---: | ---: | --- |
|
|
186
|
+
| `bruteforce` | yes | yes | yes | yes | numpy only |
|
|
187
|
+
| `ivf` | yes | yes | yes | yes | numpy only |
|
|
188
|
+
| `faiss` | yes | yes | yes | no | `faiss-cpu` (optional; no wheel on macOS arm64) |
|
|
187
189
|
|
|
188
190
|
FAISS is optional. The required reproducibility path is bruteforce-safe.
|
|
189
191
|
|
|
192
|
+
`ivf` is a pure-numpy approximate backend (coarse-quantize with k-means, probe the `nprobe` nearest clusters at search time) — it needs no extra install and works on hosts where `faiss-cpu` has no wheel. Tune it via `backend_config={"n_clusters": ..., "nprobe": ...}`. Search batches queries by probed cluster to reduce per-query Python overhead. It still trades recall for speed as `nprobe` changes; see `docs/releases/v1.2.0.md` for the original recall/latency sweep and its implementation details.
|
|
193
|
+
|
|
190
194
|
## Reproducibility and Evidence
|
|
191
195
|
|
|
192
196
|
Recommended release evidence flow:
|
|
@@ -194,6 +198,8 @@ Recommended release evidence flow:
|
|
|
194
198
|
```bash
|
|
195
199
|
python scripts/repro_smoke.py --output-dir artifacts/repro_smoke
|
|
196
200
|
python scripts/benchmark_matrix.py --mode exact --warmup 2 --loops 8 --seed 7 --output-dir artifacts/benchmark_matrix
|
|
201
|
+
python scripts/benchmark_ivf_batching.py --n 5000 --d 64 --nq 200 --k 10 --n-clusters 32 --nprobe-options 1,4,16,32 --loops 5 --warmup 1 --seed 22 --output artifacts/ivf_benchmark/ivf_batching_comparison.json
|
|
202
|
+
python scripts/benchmark_ivf.py --n 5000 --d 64 --nq 100 --k 10 --n-clusters 32 --nprobe-options 1,4,8,16,32 --loops 3 --seed 7 --output artifacts/ivf_benchmark/ivf_batched_recall_sweep.json
|
|
197
203
|
python scripts/publishable_results.py --matrix-summary artifacts/benchmark_matrix/matrix_summary.json --stability-summary artifacts/testing_runs/stability_summary_bruteforce_200.json --output artifacts/benchmark_matrix/publishable_results.v1.json
|
|
198
204
|
python scripts/credibility_audit.py --matrix-summary artifacts/benchmark_matrix/matrix_summary.json --stability-summary artifacts/testing_runs/stability_summary_bruteforce_200.json --publishable-summary artifacts/benchmark_matrix/publishable_results.v1.json --output artifacts/audit/credibility_audit.v1.json
|
|
199
205
|
```
|
|
@@ -206,6 +212,7 @@ python scripts/credibility_audit.py --matrix-summary artifacts/benchmark_matrix/
|
|
|
206
212
|
- `notebooks/01_semantic_search.ipynb`
|
|
207
213
|
- `notebooks/02_knn_baseline.ipynb`
|
|
208
214
|
- `notebooks/03_recommender_similarity.ipynb`
|
|
215
|
+
- `notebooks/05_ann_backend.ipynb`
|
|
209
216
|
|
|
210
217
|
## Troubleshooting
|
|
211
218
|
|
|
@@ -216,6 +223,7 @@ python scripts/credibility_audit.py --matrix-summary artifacts/benchmark_matrix/
|
|
|
216
223
|
|
|
217
224
|
## Project Links
|
|
218
225
|
|
|
226
|
+
- `docs/releases/v1.2.0.md`
|
|
219
227
|
- `docs/releases/v1.1.0.md`
|
|
220
228
|
- `docs/releases/v1.1.0-checklist.md`
|
|
221
229
|
- `docs/reproducibility.md`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Vector Engine v1.
|
|
1
|
+
# Vector Engine v1.2.0
|
|
2
2
|
|
|
3
3
|
Reproducibility-first vector retrieval toolkit for local ML and IR workflows.
|
|
4
4
|
|
|
@@ -84,6 +84,7 @@ Each notebook opens directly from this repo, so it always matches the current re
|
|
|
84
84
|
- Semantic search: [](https://colab.research.google.com/github/neelpanchal11/Vector-Engine/blob/main/notebooks/01_semantic_search.ipynb)
|
|
85
85
|
- kNN baseline classifier: [](https://colab.research.google.com/github/neelpanchal11/Vector-Engine/blob/main/notebooks/02_knn_baseline.ipynb)
|
|
86
86
|
- Item-item recommender similarity: [](https://colab.research.google.com/github/neelpanchal11/Vector-Engine/blob/main/notebooks/03_recommender_similarity.ipynb)
|
|
87
|
+
- IVF ANN backend (recall vs. speed): [](https://colab.research.google.com/github/neelpanchal11/Vector-Engine/blob/main/notebooks/05_ann_backend.ipynb)
|
|
87
88
|
|
|
88
89
|
`notebooks/04_stability_runs.ipynb` analyzes locally generated benchmark artifacts (see [Reproducibility and Evidence](#reproducibility-and-evidence)) and is not a standalone Colab demo.
|
|
89
90
|
|
|
@@ -148,13 +149,16 @@ Bundle outputs include:
|
|
|
148
149
|
|
|
149
150
|
## Backends
|
|
150
151
|
|
|
151
|
-
| Backend | Search | Add | Save/Load | Custom Metric |
|
|
152
|
-
| --- | ---: | ---: | ---: | ---: |
|
|
153
|
-
| `bruteforce` | yes | yes | yes | yes |
|
|
154
|
-
| `
|
|
152
|
+
| Backend | Search | Add | Save/Load | Custom Metric | Deps |
|
|
153
|
+
| --- | ---: | ---: | ---: | ---: | --- |
|
|
154
|
+
| `bruteforce` | yes | yes | yes | yes | numpy only |
|
|
155
|
+
| `ivf` | yes | yes | yes | yes | numpy only |
|
|
156
|
+
| `faiss` | yes | yes | yes | no | `faiss-cpu` (optional; no wheel on macOS arm64) |
|
|
155
157
|
|
|
156
158
|
FAISS is optional. The required reproducibility path is bruteforce-safe.
|
|
157
159
|
|
|
160
|
+
`ivf` is a pure-numpy approximate backend (coarse-quantize with k-means, probe the `nprobe` nearest clusters at search time) — it needs no extra install and works on hosts where `faiss-cpu` has no wheel. Tune it via `backend_config={"n_clusters": ..., "nprobe": ...}`. Search batches queries by probed cluster to reduce per-query Python overhead. It still trades recall for speed as `nprobe` changes; see `docs/releases/v1.2.0.md` for the original recall/latency sweep and its implementation details.
|
|
161
|
+
|
|
158
162
|
## Reproducibility and Evidence
|
|
159
163
|
|
|
160
164
|
Recommended release evidence flow:
|
|
@@ -162,6 +166,8 @@ Recommended release evidence flow:
|
|
|
162
166
|
```bash
|
|
163
167
|
python scripts/repro_smoke.py --output-dir artifacts/repro_smoke
|
|
164
168
|
python scripts/benchmark_matrix.py --mode exact --warmup 2 --loops 8 --seed 7 --output-dir artifacts/benchmark_matrix
|
|
169
|
+
python scripts/benchmark_ivf_batching.py --n 5000 --d 64 --nq 200 --k 10 --n-clusters 32 --nprobe-options 1,4,16,32 --loops 5 --warmup 1 --seed 22 --output artifacts/ivf_benchmark/ivf_batching_comparison.json
|
|
170
|
+
python scripts/benchmark_ivf.py --n 5000 --d 64 --nq 100 --k 10 --n-clusters 32 --nprobe-options 1,4,8,16,32 --loops 3 --seed 7 --output artifacts/ivf_benchmark/ivf_batched_recall_sweep.json
|
|
165
171
|
python scripts/publishable_results.py --matrix-summary artifacts/benchmark_matrix/matrix_summary.json --stability-summary artifacts/testing_runs/stability_summary_bruteforce_200.json --output artifacts/benchmark_matrix/publishable_results.v1.json
|
|
166
172
|
python scripts/credibility_audit.py --matrix-summary artifacts/benchmark_matrix/matrix_summary.json --stability-summary artifacts/testing_runs/stability_summary_bruteforce_200.json --publishable-summary artifacts/benchmark_matrix/publishable_results.v1.json --output artifacts/audit/credibility_audit.v1.json
|
|
167
173
|
```
|
|
@@ -174,6 +180,7 @@ python scripts/credibility_audit.py --matrix-summary artifacts/benchmark_matrix/
|
|
|
174
180
|
- `notebooks/01_semantic_search.ipynb`
|
|
175
181
|
- `notebooks/02_knn_baseline.ipynb`
|
|
176
182
|
- `notebooks/03_recommender_similarity.ipynb`
|
|
183
|
+
- `notebooks/05_ann_backend.ipynb`
|
|
177
184
|
|
|
178
185
|
## Troubleshooting
|
|
179
186
|
|
|
@@ -184,6 +191,7 @@ python scripts/credibility_audit.py --matrix-summary artifacts/benchmark_matrix/
|
|
|
184
191
|
|
|
185
192
|
## Project Links
|
|
186
193
|
|
|
194
|
+
- `docs/releases/v1.2.0.md`
|
|
187
195
|
- `docs/releases/v1.1.0.md`
|
|
188
196
|
- `docs/releases/v1.1.0-checklist.md`
|
|
189
197
|
- `docs/reproducibility.md`
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Vector Engine v0.2.0-alpha (Draft)
|
|
2
|
+
|
|
3
|
+
## Highlights
|
|
4
|
+
|
|
5
|
+
- Expanded clustering API with richer outputs:
|
|
6
|
+
- labels
|
|
7
|
+
- centers
|
|
8
|
+
- inertia
|
|
9
|
+
- iteration count
|
|
10
|
+
- Hard-negative mining strategies:
|
|
11
|
+
- `top1`
|
|
12
|
+
- `topk_sample`
|
|
13
|
+
- `distance_band`
|
|
14
|
+
- plus exclusion support (`exclude_ids`, `exclude_mask`)
|
|
15
|
+
- Retrieval evaluation enhancements:
|
|
16
|
+
- `retrieval_report_detailed` (summary + per-query)
|
|
17
|
+
- `batch_metrics_summary` for multi-run aggregation
|
|
18
|
+
- Real-corpus evaluation script:
|
|
19
|
+
- `scripts/rag_real_corpus_eval.py`
|
|
20
|
+
- supports retrieval thresholds and latency gates
|
|
21
|
+
- Public demo template included in `demo_repo_template/`
|
|
22
|
+
|
|
23
|
+
## Validation Snapshot
|
|
24
|
+
|
|
25
|
+
- RAG baseline artifact generation validated.
|
|
26
|
+
- Real-corpus style 3-run reports generated in `artifacts/real_corpus_runs/`:
|
|
27
|
+
- quality stable across runs (`recall@1/3/6 = 1.0`, `ndcg@1/3/6 = 1.0`)
|
|
28
|
+
- p95 latency envelope: `0.0376-0.0717 ms`
|
|
29
|
+
- thresholds pass in all runs (`recall >= 0.75`, `ndcg >= 0.70`, `p95 <= 120 ms`)
|
|
30
|
+
- Faiss Flat exact-equivalence checks generated in `artifacts/faiss_equivalence/`:
|
|
31
|
+
- `overlap_vs_bruteforce = 1.0` in all 3 runs with `--min-flat-overlap 0.99`
|
|
32
|
+
- p95 latency ranges:
|
|
33
|
+
- bruteforce: `29.99-37.63 ms`
|
|
34
|
+
- faiss_flat: `4.17-15.03 ms`
|
|
35
|
+
- 200-run stability study generated:
|
|
36
|
+
- `artifacts/testing_runs/stability_runs_bruteforce_200.jsonl`
|
|
37
|
+
- `artifacts/testing_runs/stability_summary_bruteforce_200.json`
|
|
38
|
+
- p95 mean `0.0255 ms` (95% interval `0.0203-0.0547 ms`)
|
|
39
|
+
- qps mean `188,097` (95% interval `117,499-214,111`)
|
|
40
|
+
- Stability analysis notebook: `notebooks/04_stability_runs.ipynb`.
|
|
41
|
+
|
|
42
|
+
## Known Limitations
|
|
43
|
+
|
|
44
|
+
- Real-corpus evaluation requires user-provided embeddings/ground-truth files.
|
|
45
|
+
- Public demo template is included locally; publish as separate repo for outreach.
|
|
46
|
+
- Mock/public-safe corpus numbers are not a substitute for production-scale private corpus benchmarks.
|
|
47
|
+
|
|
48
|
+
## Release Checklist
|
|
49
|
+
|
|
50
|
+
1. Run `python3 -m pytest -q`
|
|
51
|
+
2. Run `python3 scripts/rag_baseline.py --output-dir artifacts --k 3`
|
|
52
|
+
3. Run exact equivalence:
|
|
53
|
+
- `python3 benchmarks/compare_bruteforce_vs_faiss.py --mode exact --min-flat-overlap 0.99 --output artifacts/benchmark_exact.json`
|
|
54
|
+
4. Run real corpus eval:
|
|
55
|
+
- `python3 scripts/rag_real_corpus_eval.py --embeddings ... --query-embeddings ... --ids ... --ground-truth ...`
|
|
56
|
+
5. Run stability study:
|
|
57
|
+
- `python3 scripts/stability_runs.py --embeddings ... --query-embeddings ... --ids ... --ground-truth ... --backend bruteforce --run-count 200 --output-dir artifacts/testing_runs`
|
|
58
|
+
6. Update README benchmark and quality numbers
|
|
59
|
+
7. Tag and release:
|
|
60
|
+
- `git tag -a v0.2.0-alpha -m "Vector Engine v0.2.0-alpha"`
|
|
61
|
+
- `git push origin v0.2.0-alpha`
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Vector Engine v0.3.0 (Draft)
|
|
2
|
+
|
|
3
|
+
## Release Positioning
|
|
4
|
+
|
|
5
|
+
v0.3.0 is a stability-oriented integration release. It focuses on adoption and reproducibility workflows on top of the core feature surfaces introduced in v0.2.0-alpha.
|
|
6
|
+
|
|
7
|
+
## Highlights
|
|
8
|
+
|
|
9
|
+
- Public-ready demo workflow under `demo_repo_template/`:
|
|
10
|
+
- semantic retrieval demo
|
|
11
|
+
- item similarity demo
|
|
12
|
+
- benchmark demo with bruteforce vs faiss_flat comparison
|
|
13
|
+
- quickstart verification script (`scripts/verify_quickstart.py`)
|
|
14
|
+
- Stable integration guidance:
|
|
15
|
+
- `docs/integration_guides.md`
|
|
16
|
+
- `docs/reproducibility.md`
|
|
17
|
+
- Reproducibility-first command workflow and artifact policy:
|
|
18
|
+
- baseline report
|
|
19
|
+
- real-corpus evaluation report
|
|
20
|
+
- repeated stability runs
|
|
21
|
+
- exact-equivalence benchmark checks
|
|
22
|
+
|
|
23
|
+
## Migration from v0.2.0-alpha
|
|
24
|
+
|
|
25
|
+
- No breaking API changes are introduced in core `vector_engine` entry points.
|
|
26
|
+
- Existing v0.2.0-alpha workflows continue to run.
|
|
27
|
+
- Documentation language now positions the project as v0.3.0 stable.
|
|
28
|
+
- Integration and release workflows are now organized into explicit guides and publish/private artifact policy.
|
|
29
|
+
|
|
30
|
+
## Validation Evidence Snapshot
|
|
31
|
+
|
|
32
|
+
- Real-corpus style 3-run results remain stable (see `artifacts/real_corpus_runs/`).
|
|
33
|
+
- Faiss Flat exact-equivalence checks pass overlap gating (`overlap_vs_bruteforce >= 0.99` target, observed `1.0` in recorded runs).
|
|
34
|
+
- 200-run stability study generated with summary statistics and plot:
|
|
35
|
+
- `artifacts/testing_runs/stability_runs_bruteforce_200.jsonl`
|
|
36
|
+
- `artifacts/testing_runs/stability_summary_bruteforce_200.json`
|
|
37
|
+
- `artifacts/testing_runs/stability_plot_p95_qps.png`
|
|
38
|
+
- Stability notebook:
|
|
39
|
+
- `notebooks/04_stability_runs.ipynb`
|
|
40
|
+
|
|
41
|
+
## Known Limits
|
|
42
|
+
|
|
43
|
+
- Real private-corpus embeddings and raw IDs should remain outside the public repo.
|
|
44
|
+
- Published benchmark numbers are configuration-dependent; include hardware/runtime notes with external reports.
|
|
45
|
+
- Faiss benchmark paths require local Faiss installation (`faiss-cpu`).
|
|
46
|
+
|
|
47
|
+
## Release Checklist
|
|
48
|
+
|
|
49
|
+
1. Run tests: `python3 -m pytest -q`
|
|
50
|
+
2. Generate baseline: `python3 scripts/rag_baseline.py --output-dir artifacts --k 3`
|
|
51
|
+
3. Run real-corpus evaluation: `python3 scripts/rag_real_corpus_eval.py --embeddings ... --query-embeddings ... --ids ... --ground-truth ...`
|
|
52
|
+
4. Run stability workflow: `python3 scripts/stability_runs.py --embeddings ... --query-embeddings ... --ids ... --ground-truth ... --backend bruteforce --run-count 200 --output-dir artifacts/testing_runs`
|
|
53
|
+
5. Run exact benchmark: `python3 benchmarks/compare_bruteforce_vs_faiss.py --mode exact --min-flat-overlap 0.99 --output artifacts/faiss_equivalence/run_1.json`
|
|
54
|
+
6. Verify docs links and artifact policy language in `README.md`.
|
|
55
|
+
7. Tag and release:
|
|
56
|
+
- `git tag -a v0.3.0 -m "Vector Engine v0.3.0"`
|
|
57
|
+
- `git push origin v0.3.0`
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# v1.0.0 Final Checklist
|
|
2
|
+
|
|
3
|
+
## Core quality
|
|
4
|
+
|
|
5
|
+
- [ ] `python -m pytest -q` completes successfully in `.venv312` created via `requirements/constraints-macos-arm64-py312.txt`.
|
|
6
|
+
- [ ] API stability tests pass (`tests/test_api_stability.py`).
|
|
7
|
+
|
|
8
|
+
## Performance evidence
|
|
9
|
+
|
|
10
|
+
- [ ] Optional: exact-equivalence benchmark generated when Faiss is available (`artifacts/faiss_equivalence/run_*.json`).
|
|
11
|
+
- [ ] Stability summary generated (`artifacts/testing_runs/stability_summary_*.json`).
|
|
12
|
+
- [ ] Matrix summary generated (`artifacts/benchmark_matrix/matrix_summary.json`).
|
|
13
|
+
- [ ] Local medium profile summary generated (`artifacts/local_profile/profile_local_summary.json`).
|
|
14
|
+
- [ ] Performance table in `docs/releases/v1.0.0.md` populated from artifacts.
|
|
15
|
+
|
|
16
|
+
## Reproducibility
|
|
17
|
+
|
|
18
|
+
- [ ] Protocol settings are fixed and documented (`seed`, `warmup`, `loops`, matrix configs).
|
|
19
|
+
- [ ] Hardware/runtime notes captured in machine-readable artifacts.
|
|
20
|
+
- [ ] Public/private artifact policy respected (no confidential embeddings committed).
|
|
21
|
+
|
|
22
|
+
## Packaging
|
|
23
|
+
|
|
24
|
+
- [ ] `README.md` includes v1.0.0 install/start, ingest-to-eval, and benchmark matrix commands.
|
|
25
|
+
- [ ] `docs/reproducibility.md` includes matrix workflow + artifact locations.
|
|
26
|
+
- [ ] Canonical py312 macOS arm64 bootstrap command is documented in README and reproducibility docs.
|
|
27
|
+
- [ ] `docs/api.md` includes v1.0 API stability contract.
|
|
28
|
+
|
|
29
|
+
## Release actions
|
|
30
|
+
|
|
31
|
+
- [ ] Commit final release changes on `main`.
|
|
32
|
+
- [ ] Tag `v1.0.0` on final release commit.
|
|
33
|
+
- [ ] Publish GitHub release notes from `docs/releases/v1.0.0.md`.
|
|
34
|
+
- [ ] Build and publish PyPI package.
|
|
35
|
+
|
|
36
|
+
## Next minor cadence gate (`v1.x.0`)
|
|
37
|
+
|
|
38
|
+
- [ ] Tier-1 KPI review complete (`docs/kpi_charter.md`).
|
|
39
|
+
- [ ] Credibility audit status is `pass`.
|
|
40
|
+
- [ ] Release bundle manifest has `ready_for_submission=true`.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Vector Engine v1.0.0
|
|
2
|
+
|
|
3
|
+
## Release summary
|
|
4
|
+
|
|
5
|
+
v1.0.0 establishes Vector Engine as a reproducibility-first Python library for local retrieval experimentation, with stable API contracts, contract-validated artifacts, and publication-oriented evaluation workflows.
|
|
6
|
+
|
|
7
|
+
## Patch notes
|
|
8
|
+
|
|
9
|
+
### v1.0.2
|
|
10
|
+
|
|
11
|
+
- `retrieval_report_detailed(..., include_error_buckets=True)` now computes `zero_hit_rate@k` and `perfect_recall_rate@k` over queries that have non-empty ground truth.
|
|
12
|
+
- `no_ground_truth_rate@k` continues to use total-query denominator so missing-label prevalence stays visible.
|
|
13
|
+
- This is a semantics correction for mixed query sets (labeled + unlabeled) and does not change API names or output keys.
|
|
14
|
+
|
|
15
|
+
## Stable public surface
|
|
16
|
+
|
|
17
|
+
- Core: `VectorArray`, `VectorIndex`, `Metric`, `SearchResult`
|
|
18
|
+
- ML: `kmeans`, `KMeansResult`, `knn_classify`, `knn_regress`
|
|
19
|
+
- Training: `mine_hard_negatives`, `TripletBatch`
|
|
20
|
+
- Eval: `retrieval_report`, `retrieval_report_detailed`, `batch_metrics_summary`, `retrieval_cohort_report`
|
|
21
|
+
|
|
22
|
+
See `docs/api_stability.md` and `tests/test_api_stability.py`.
|
|
23
|
+
|
|
24
|
+
## Highlights
|
|
25
|
+
|
|
26
|
+
- Reproducibility contract pipeline via `artifact_contract_version`
|
|
27
|
+
- Dataset ingest/connectors pipeline with reproducible bundle manifests
|
|
28
|
+
- Matrix benchmarks with protocol and environment metadata
|
|
29
|
+
- Stability-study summaries with spread metrics (`std`, `cv`, intervals)
|
|
30
|
+
- Credibility audit flow for evidence-quality checks
|
|
31
|
+
|
|
32
|
+
## Evidence and artifact flow
|
|
33
|
+
|
|
34
|
+
1. benchmark matrix outputs
|
|
35
|
+
2. repeated stability outputs
|
|
36
|
+
3. publishable summary composition
|
|
37
|
+
4. credibility audit report
|
|
38
|
+
5. release bundle manifest
|
|
39
|
+
|
|
40
|
+
Recommended commands:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
python scripts/repro_smoke.py --output-dir artifacts/repro_smoke
|
|
44
|
+
python scripts/credibility_audit.py --matrix-summary artifacts/benchmark_matrix/matrix_summary.json --stability-summary artifacts/testing_runs/stability_summary_bruteforce_200.json --publishable-summary artifacts/benchmark_matrix/publishable_results.v1.json --real-corpus-report artifacts/real_corpus_runs/run_1.json --output artifacts/audit/credibility_audit.v1.json
|
|
45
|
+
python scripts/build_release_bundle.py --output-dir artifacts/release_bundle
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Legal and citation
|
|
49
|
+
|
|
50
|
+
- `LICENSE`
|
|
51
|
+
- `CITATION.cff`
|
|
52
|
+
|
|
53
|
+
## Caveats and scope boundaries
|
|
54
|
+
|
|
55
|
+
- This project does not claim a new ANN algorithm.
|
|
56
|
+
- Performance outcomes are configuration and hardware dependent.
|
|
57
|
+
- Private embeddings and sensitive metadata must remain outside public artifacts.
|
|
58
|
+
|
|
59
|
+
See `docs/limitations.md` and `docs/credibility_audit.md`.
|
|
60
|
+
|
|
61
|
+
## Migration notes (from v0.3.x)
|
|
62
|
+
|
|
63
|
+
- No intentional breaking changes in core public API.
|
|
64
|
+
- v1.0.0 formalizes API stability and reproducibility contracts.
|
|
65
|
+
- Existing v0.3 workflows remain usable, with additional artifact validation and release packaging.
|
|
66
|
+
|
|
67
|
+
## Reproduce release evidence
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
python3.12 -m venv .venv312
|
|
71
|
+
source .venv312/bin/activate
|
|
72
|
+
python -m pip install --upgrade pip setuptools wheel
|
|
73
|
+
python -m pip install -c requirements/constraints-macos-arm64-py312.txt -e ".[dev,ml]"
|
|
74
|
+
python scripts/env_diagnostics.py
|
|
75
|
+
python scripts/repro_smoke.py --output-dir artifacts/repro_smoke
|
|
76
|
+
python scripts/rag_baseline.py --output-dir artifacts --k 3
|
|
77
|
+
python scripts/rag_real_corpus_eval.py --embeddings artifacts/repro_smoke/real_corpus_inputs/embeddings.npy --query-embeddings artifacts/repro_smoke/real_corpus_inputs/query_embeddings.npy --ids artifacts/repro_smoke/real_corpus_inputs/ids.json --ground-truth artifacts/repro_smoke/real_corpus_inputs/ground_truth.json --metadata artifacts/repro_smoke/real_corpus_inputs/metadata.json --output artifacts/real_corpus_runs/run_1.json --backend bruteforce --k 10 --ks 1,5,10 --loops 5
|
|
78
|
+
python scripts/stability_runs.py --embeddings artifacts/repro_smoke/real_corpus_inputs/embeddings.npy --query-embeddings artifacts/repro_smoke/real_corpus_inputs/query_embeddings.npy --ids artifacts/repro_smoke/real_corpus_inputs/ids.json --ground-truth artifacts/repro_smoke/real_corpus_inputs/ground_truth.json --metadata artifacts/repro_smoke/real_corpus_inputs/metadata.json --backend bruteforce --run-count 200 --output-dir artifacts/testing_runs
|
|
79
|
+
python benchmarks/compare_bruteforce_vs_faiss.py --mode exact --min-flat-overlap 0.99 --output artifacts/faiss_equivalence/run_1.json
|
|
80
|
+
python scripts/benchmark_matrix.py --mode exact --warmup 2 --loops 8 --seed 7 --min-flat-overlap 0.99 --output-dir artifacts/benchmark_matrix
|
|
81
|
+
python scripts/publishable_results.py --matrix-summary artifacts/benchmark_matrix/matrix_summary.json --stability-summary artifacts/testing_runs/stability_summary_bruteforce_200.json --output artifacts/benchmark_matrix/publishable_results.v1.json
|
|
82
|
+
python scripts/credibility_audit.py --matrix-summary artifacts/benchmark_matrix/matrix_summary.json --stability-summary artifacts/testing_runs/stability_summary_bruteforce_200.json --publishable-summary artifacts/benchmark_matrix/publishable_results.v1.json --real-corpus-report artifacts/real_corpus_runs/run_1.json --output artifacts/audit/credibility_audit.v1.json
|
|
83
|
+
python scripts/build_release_bundle.py --output-dir artifacts/release_bundle
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Release checklist
|
|
87
|
+
|
|
88
|
+
See `docs/releases/v1.0.0-checklist.md`.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# v1.1.0 Final Checklist
|
|
2
|
+
|
|
3
|
+
## Core quality
|
|
4
|
+
|
|
5
|
+
- [x] `python -m pytest -q` completes successfully in `.venv312` created via `requirements/constraints-macos-arm64-py312.txt`. (71 passed, 1 skipped — optional faiss test, faiss not installed on this macOS arm64 host)
|
|
6
|
+
- [x] API stability tests pass (`tests/test_api_stability.py`).
|
|
7
|
+
|
|
8
|
+
## Performance evidence
|
|
9
|
+
|
|
10
|
+
- [x] Optional: exact-equivalence benchmark generated when Faiss is available (`artifacts/faiss_equivalence/run_*.json`). Faiss is unavailable on this host (macOS arm64, no faiss-cpu wheel); existing committed artifacts stand, regeneration deferred to a faiss-capable host.
|
|
11
|
+
- [x] Stability summary generated (`artifacts/testing_runs/stability_summary_*.json`).
|
|
12
|
+
- [x] Matrix summary generated (`artifacts/benchmark_matrix/matrix_summary.json`).
|
|
13
|
+
- [x] Local medium profile summary generated (`artifacts/local_profile/profile_local_summary.json`).
|
|
14
|
+
- [x] Performance table in `docs/releases/v1.1.0.md` populated from artifacts.
|
|
15
|
+
|
|
16
|
+
## Reproducibility
|
|
17
|
+
|
|
18
|
+
- [x] Protocol settings are fixed and documented (`seed`, `warmup`, `loops`, matrix configs).
|
|
19
|
+
- [x] Hardware/runtime notes captured in machine-readable artifacts.
|
|
20
|
+
- [x] Public/private artifact policy respected (no confidential embeddings committed).
|
|
21
|
+
|
|
22
|
+
## Packaging
|
|
23
|
+
|
|
24
|
+
- [x] `README.md` includes v1.1.0 install/start, ingest-to-eval, and benchmark matrix commands.
|
|
25
|
+
- [x] `docs/reproducibility.md` includes matrix workflow + artifact locations.
|
|
26
|
+
- [x] Canonical py312 macOS arm64 bootstrap command is documented in README and reproducibility docs.
|
|
27
|
+
- [x] `docs/api.md` includes v1.0 API stability contract.
|
|
28
|
+
|
|
29
|
+
## Release actions
|
|
30
|
+
|
|
31
|
+
- [ ] Commit final release changes on `main`.
|
|
32
|
+
- [ ] Tag `v1.1.0` on final release commit.
|
|
33
|
+
- [ ] Publish GitHub release notes from `docs/releases/v1.1.0.md`.
|
|
34
|
+
- [ ] Build and publish PyPI package.
|
|
35
|
+
|
|
36
|
+
## Next minor cadence gate (`v1.x.0`)
|
|
37
|
+
|
|
38
|
+
- [x] Tier-1 KPI review complete (`docs/kpi_charter.md`).
|
|
39
|
+
- [x] Credibility audit status is `pass`.
|
|
40
|
+
- [x] Release bundle manifest has `ready_for_submission=true`.
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Vector Engine v1.1.0
|
|
2
|
+
|
|
3
|
+
## Release summary
|
|
4
|
+
|
|
5
|
+
v1.1.0 continues Vector Engine as a reproducibility-first Python library for local retrieval experimentation, with stable API contracts, contract-validated artifacts, and publication-oriented evaluation workflows.
|
|
6
|
+
|
|
7
|
+
## Patch notes
|
|
8
|
+
|
|
9
|
+
### Included fixes from v1.0.2
|
|
10
|
+
|
|
11
|
+
- `retrieval_report_detailed(..., include_error_buckets=True)` computes `zero_hit_rate@k` and `perfect_recall_rate@k` over queries that have non-empty ground truth.
|
|
12
|
+
- `no_ground_truth_rate@k` continues to use total-query denominator so missing-label prevalence stays visible.
|
|
13
|
+
- This is a semantics correction for mixed query sets (labeled + unlabeled) and does not change API names or output keys.
|
|
14
|
+
|
|
15
|
+
## Stable public surface
|
|
16
|
+
|
|
17
|
+
- Core: `VectorArray`, `VectorIndex`, `Metric`, `SearchResult`
|
|
18
|
+
- ML: `kmeans`, `KMeansResult`, `knn_classify`, `knn_regress`
|
|
19
|
+
- Training: `mine_hard_negatives`, `TripletBatch`
|
|
20
|
+
- Eval: `retrieval_report`, `retrieval_report_detailed`, `batch_metrics_summary`, `retrieval_cohort_report`
|
|
21
|
+
|
|
22
|
+
See `docs/api_stability.md` and `tests/test_api_stability.py`.
|
|
23
|
+
|
|
24
|
+
## Highlights
|
|
25
|
+
|
|
26
|
+
- Reproducibility contract pipeline via `artifact_contract_version`
|
|
27
|
+
- Dataset ingest/connectors pipeline with reproducible bundle manifests
|
|
28
|
+
- Matrix benchmarks with protocol and environment metadata
|
|
29
|
+
- Stability-study summaries with spread metrics (`std`, `cv`, intervals)
|
|
30
|
+
- Credibility audit flow for evidence-quality checks
|
|
31
|
+
|
|
32
|
+
## Performance table
|
|
33
|
+
|
|
34
|
+
Environment: macOS-arm64, Python 3.12.0, backend `bruteforce`, mode `exact`.
|
|
35
|
+
|
|
36
|
+
### Stability study (`run-count=200`, k=10)
|
|
37
|
+
|
|
38
|
+
| Metric | Mean | CV |
|
|
39
|
+
| --- | ---: | ---: |
|
|
40
|
+
| Latency p50 (ms) | 0.037 | 0.031 |
|
|
41
|
+
| Latency p95 (ms) | 0.041 | 0.070 |
|
|
42
|
+
| QPS | 313,036 | 0.036 |
|
|
43
|
+
|
|
44
|
+
All stability CVs are well under the v1.x gate (`<= 0.35`).
|
|
45
|
+
|
|
46
|
+
### Benchmark matrix (`profile=medium`, warmup=2, loops=8, seed=7)
|
|
47
|
+
|
|
48
|
+
| Config | n | d | nq | k | Latency p95 (ms) | QPS |
|
|
49
|
+
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
|
|
50
|
+
| s_small | 5,000 | 64 | 100 | 10 | 17.98 | 8,041 |
|
|
51
|
+
| m_balanced | 10,000 | 128 | 200 | 10 | 31.64 | 6,978 |
|
|
52
|
+
| l_wide | 25,000 | 256 | 300 | 20 | 146.23 | 2,377 |
|
|
53
|
+
|
|
54
|
+
`overlap_vs_bruteforce = 1.0` for all configs (exact mode, self-comparison against bruteforce).
|
|
55
|
+
|
|
56
|
+
Source artifacts: `artifacts/testing_runs/stability_summary_bruteforce_200.json`, `artifacts/benchmark_matrix/matrix_summary.json`, `artifacts/benchmark_matrix/publishable_results.v1.json`.
|
|
57
|
+
|
|
58
|
+
## Evidence and artifact flow
|
|
59
|
+
|
|
60
|
+
1. benchmark matrix outputs
|
|
61
|
+
2. repeated stability outputs
|
|
62
|
+
3. publishable summary composition
|
|
63
|
+
4. credibility audit report
|
|
64
|
+
5. release bundle manifest
|
|
65
|
+
|
|
66
|
+
Recommended commands:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
python scripts/repro_smoke.py --output-dir artifacts/repro_smoke
|
|
70
|
+
python scripts/credibility_audit.py --matrix-summary artifacts/benchmark_matrix/matrix_summary.json --stability-summary artifacts/testing_runs/stability_summary_bruteforce_200.json --publishable-summary artifacts/benchmark_matrix/publishable_results.v1.json --real-corpus-report artifacts/real_corpus_runs/run_1.json --output artifacts/audit/credibility_audit.v1.json
|
|
71
|
+
python scripts/build_release_bundle.py --output-dir artifacts/release_bundle
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Legal and citation
|
|
75
|
+
|
|
76
|
+
- `LICENSE`
|
|
77
|
+
- `CITATION.cff`
|
|
78
|
+
|
|
79
|
+
## Caveats and scope boundaries
|
|
80
|
+
|
|
81
|
+
- This project does not claim a new ANN algorithm.
|
|
82
|
+
- Performance outcomes are configuration and hardware dependent.
|
|
83
|
+
- Private embeddings and sensitive metadata must remain outside public artifacts.
|
|
84
|
+
|
|
85
|
+
See `docs/limitations.md` and `docs/credibility_audit.md`.
|
|
86
|
+
|
|
87
|
+
## Migration notes (from v0.3.x)
|
|
88
|
+
|
|
89
|
+
- No intentional breaking changes in core public API.
|
|
90
|
+
- v1.1.0 continues API stability and reproducibility contracts.
|
|
91
|
+
- Existing v0.3 workflows remain usable, with additional artifact validation and release packaging.
|
|
92
|
+
|
|
93
|
+
## Reproduce release evidence
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
python3.12 -m venv .venv312
|
|
97
|
+
source .venv312/bin/activate
|
|
98
|
+
python -m pip install --upgrade pip setuptools wheel
|
|
99
|
+
python -m pip install -c requirements/constraints-macos-arm64-py312.txt -e ".[dev,ml]"
|
|
100
|
+
python scripts/env_diagnostics.py
|
|
101
|
+
python scripts/repro_smoke.py --output-dir artifacts/repro_smoke
|
|
102
|
+
python scripts/rag_baseline.py --output-dir artifacts --k 3
|
|
103
|
+
python scripts/rag_real_corpus_eval.py --embeddings artifacts/repro_smoke/real_corpus_inputs/embeddings.npy --query-embeddings artifacts/repro_smoke/real_corpus_inputs/query_embeddings.npy --ids artifacts/repro_smoke/real_corpus_inputs/ids.json --ground-truth artifacts/repro_smoke/real_corpus_inputs/ground_truth.json --metadata artifacts/repro_smoke/real_corpus_inputs/metadata.json --output artifacts/real_corpus_runs/run_1.json --backend bruteforce --k 10 --ks 1,5,10 --loops 5
|
|
104
|
+
python scripts/stability_runs.py --embeddings artifacts/repro_smoke/real_corpus_inputs/embeddings.npy --query-embeddings artifacts/repro_smoke/real_corpus_inputs/query_embeddings.npy --ids artifacts/repro_smoke/real_corpus_inputs/ids.json --ground-truth artifacts/repro_smoke/real_corpus_inputs/ground_truth.json --metadata artifacts/repro_smoke/real_corpus_inputs/metadata.json --backend bruteforce --run-count 200 --output-dir artifacts/testing_runs
|
|
105
|
+
python benchmarks/compare_bruteforce_vs_faiss.py --mode exact --min-flat-overlap 0.99 --output artifacts/faiss_equivalence/run_1.json
|
|
106
|
+
python scripts/benchmark_matrix.py --mode exact --warmup 2 --loops 8 --seed 7 --min-flat-overlap 0.99 --output-dir artifacts/benchmark_matrix
|
|
107
|
+
python scripts/publishable_results.py --matrix-summary artifacts/benchmark_matrix/matrix_summary.json --stability-summary artifacts/testing_runs/stability_summary_bruteforce_200.json --output artifacts/benchmark_matrix/publishable_results.v1.json
|
|
108
|
+
python scripts/credibility_audit.py --matrix-summary artifacts/benchmark_matrix/matrix_summary.json --stability-summary artifacts/testing_runs/stability_summary_bruteforce_200.json --publishable-summary artifacts/benchmark_matrix/publishable_results.v1.json --real-corpus-report artifacts/real_corpus_runs/run_1.json --output artifacts/audit/credibility_audit.v1.json
|
|
109
|
+
python scripts/build_release_bundle.py --output-dir artifacts/release_bundle
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Release checklist
|
|
113
|
+
|
|
114
|
+
See `docs/releases/v1.1.0-checklist.md`.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Vector Engine v1.1.1
|
|
2
|
+
|
|
3
|
+
## Release summary
|
|
4
|
+
|
|
5
|
+
v1.1.1 is a packaging and documentation patch on top of v1.1.0. No public API surface, behavior, or evidence artifacts changed; see `docs/releases/v1.1.0.md` for the full evidence package (stability, matrix, and reproducibility contracts, which remain valid for this patch).
|
|
6
|
+
|
|
7
|
+
## Changes
|
|
8
|
+
|
|
9
|
+
- Added PyPI `classifiers` and `[project.urls]` (Homepage, Repository, Issues, Documentation) to `pyproject.toml`.
|
|
10
|
+
- Closed out the v1.1.0 release checklist and populated the performance table in `docs/releases/v1.1.0.md` from regenerated evidence artifacts.
|
|
11
|
+
- Colab demo notebooks now install standalone via `pip` and link directly from GitHub instead of static Drive copies.
|
|
12
|
+
- Fixed a build failure under newer setuptools caused by a redundant `License ::` classifier conflicting with the SPDX `license = "MIT"` field (PEP 639).
|
|
13
|
+
|
|
14
|
+
## Stable public surface
|
|
15
|
+
|
|
16
|
+
Unchanged from v1.1.0. See `docs/api_stability.md` and `tests/test_api_stability.py`.
|
|
17
|
+
|
|
18
|
+
## Legal and citation
|
|
19
|
+
|
|
20
|
+
- `LICENSE`
|
|
21
|
+
- `CITATION.cff`
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# v1.2.0 Final Checklist
|
|
2
|
+
|
|
3
|
+
## Core quality
|
|
4
|
+
|
|
5
|
+
- [x] Full suite passes on Python 3.12 (80 passed, 3 skipped) and Python 3.14 (82 passed, 1 skipped).
|
|
6
|
+
- [x] New `tests/test_ivf_backend.py` covers: search output shapes, self-hit at full `nprobe`, recall improves monotonically with `nprobe`, `add()` + `save`/`load` round-trip equivalence, invalid-config validation.
|
|
7
|
+
- [x] IVF cluster-batched scoring preserves result IDs and scores for L2, cosine, inner-product, and custom metrics; empty-cluster fallback and result padding are covered.
|
|
8
|
+
- [x] API stability tests pass (`tests/test_api_stability.py`); `docs/api_stability.md` backend surface section updated with `"ivf"`.
|
|
9
|
+
|
|
10
|
+
## New feature: IVF backend
|
|
11
|
+
|
|
12
|
+
- [x] `vector_engine/backends/ivf.py` implements the existing `BaseBackend` protocol (`build`/`add`/`search`/`save`/`load`/`capabilities`/`get_runtime_stats`).
|
|
13
|
+
- [x] Pure numpy — no new dependency; works on hosts without a `faiss-cpu` wheel (e.g. macOS arm64).
|
|
14
|
+
- [x] Registered as `"ivf"` in `vector_engine/backends/__init__.py` / `registry.py`.
|
|
15
|
+
|
|
16
|
+
## Performance evidence
|
|
17
|
+
|
|
18
|
+
- [x] Updated recall/latency/QPS sweep generated (`scripts/benchmark_ivf.py` → `artifacts/ivf_benchmark/ivf_batched_recall_sweep.json`).
|
|
19
|
+
- [x] Current batched-IVF recall sweep and same-data previous-loop comparison generated with reproducible scripts and recorded environment metadata.
|
|
20
|
+
- [x] Original recall/latency sweep retained and updated release notes document same-data timing comparison for the cluster-batched scoring improvement (`docs/releases/v1.2.0.md`).
|
|
21
|
+
- [x] Sweep is honest about tradeoffs, not just favorable numbers — matches this project's reproducibility-first standard.
|
|
22
|
+
|
|
23
|
+
## Reproducibility
|
|
24
|
+
|
|
25
|
+
- [x] Benchmark protocol is fixed and documented (`n`, `d`, `nq`, `k`, `n_clusters`, `nprobe` sweep, `loops`, `seed`).
|
|
26
|
+
- [x] Benchmark is independently re-runnable via the documented CLI command in `docs/releases/v1.2.0.md`.
|
|
27
|
+
- [x] Release-bundle manifest reports v1.2.0 and includes both current IVF benchmark reports.
|
|
28
|
+
|
|
29
|
+
## Packaging and docs
|
|
30
|
+
|
|
31
|
+
- [x] `README.md` backend table includes `ivf` with dependency footprint and tuning knobs.
|
|
32
|
+
- [x] `README.md` title, Colab Demos, and Examples sections updated with `notebooks/05_ann_backend.ipynb`.
|
|
33
|
+
- [x] All five notebooks have separate markdown and code cells, valid Python code, and current release guidance; local demo cells execute with documented artifacts. The semantic notebook's embedding-model call is exercised with a deterministic test double because the optional model dependency and remote model weights are not installed here.
|
|
34
|
+
- [x] Source distribution includes the release notebooks, benchmark scripts, and v1.2.0 notes; the wheel contains only the importable Python package.
|
|
35
|
+
- [x] `docs/releases/v1.2.0.md` documents the design, measured batching improvement, benchmark tables, environment, and reproduction commands.
|
|
36
|
+
- [x] `notebooks/05_ann_backend.ipynb` created; code cells verified to execute end-to-end and reproduce the documented numbers.
|
|
37
|
+
|
|
38
|
+
## Release actions
|
|
39
|
+
|
|
40
|
+
- [x] Commit final release changes on `main` and point tag `v1.2.0` to that commit.
|
|
41
|
+
- [x] Publish updated GitHub release notes from `docs/releases/v1.2.0.md` (https://github.com/neelpanchal11/Vector-Engine/releases/tag/v1.2.0).
|
|
42
|
+
- [x] Rebuild and validate v1.2.0 wheel and source distributions, including the cluster-batched IVF search change.
|
|
43
|
+
- [ ] Publish the validated v1.2.0 package to PyPI.
|
|
44
|
+
|
|
45
|
+
## Next minor cadence gate (`v1.x.0`)
|
|
46
|
+
|
|
47
|
+
- [x] Credibility/evidence artifacts for this feature stand on their own sweep (`artifacts/ivf_benchmark/`), independent of the v1.1.0 bruteforce/faiss evidence pipeline (`artifacts/benchmark_matrix/`, `artifacts/audit/credibility_audit.v1.json`), which remains valid and untouched for the existing backends.
|
|
48
|
+
- [x] No breaking changes — minor version bump per `docs/api_stability.md` compatibility guarantees.
|