bijux-vex 0.1.0__py3-none-any.whl → 0.2.0__py3-none-any.whl

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.
bijux_vex/_version.py CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.1.0'
32
- __version_tuple__ = version_tuple = (0, 1, 0)
31
+ __version__ = version = '0.2.0'
32
+ __version_tuple__ = version_tuple = (0, 2, 0)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -0,0 +1,176 @@
1
+ Metadata-Version: 2.4
2
+ Name: bijux-vex
3
+ Version: 0.2.0
4
+ Summary: Vector execution runtime with replayable determinism and audited ANN (nothing implicit).
5
+ Project-URL: Homepage, https://bijux.github.io/bijux-vex/
6
+ Project-URL: Documentation, https://bijux.github.io/bijux-vex/
7
+ Project-URL: Source, https://github.com/bijux/bijux-vex
8
+ Project-URL: Issues, https://github.com/bijux/bijux-vex/issues
9
+ Project-URL: Changelog, https://github.com/bijux/bijux-vex/blob/main/CHANGELOG.md
10
+ Project-URL: Security, https://github.com/bijux/bijux-vex/blob/main/SECURITY.md
11
+ Project-URL: Funding, https://github.com/sponsors/bijux
12
+ Author-email: Bijan Mousavi <mousavi.bijan@gmail.com>
13
+ Maintainer-email: Bijan Mousavi <mousavi.bijan@gmail.com>
14
+ License: MIT
15
+ License-File: LICENSE
16
+ Keywords: ann,audit,bijux,determinism,execution,nearest-neighbor,provenance,replay,reproducibility,vector,vector-search,vex
17
+ Classifier: Development Status :: 4 - Beta
18
+ Classifier: Intended Audience :: Developers
19
+ Classifier: License :: OSI Approved :: MIT License
20
+ Classifier: Natural Language :: English
21
+ Classifier: Operating System :: OS Independent
22
+ Classifier: Programming Language :: Python :: 3
23
+ Classifier: Programming Language :: Python :: 3 :: Only
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3.13
27
+ Classifier: Programming Language :: Python :: 3.14
28
+ Classifier: Topic :: Security
29
+ Classifier: Topic :: Software Development :: Libraries
30
+ Classifier: Typing :: Typed
31
+ Requires-Python: <4,>=3.11
32
+ Requires-Dist: fastapi<0.129,>=0.128
33
+ Requires-Dist: pydantic<3.0,>=2.12
34
+ Requires-Dist: typer<0.22,>=0.21
35
+ Provides-Extra: api
36
+ Requires-Dist: fastapi<0.129,>=0.128; extra == 'api'
37
+ Requires-Dist: schemathesis<5.0,>=4.0; extra == 'api'
38
+ Requires-Dist: uvicorn<1.0,>=0.30.1; extra == 'api'
39
+ Provides-Extra: config
40
+ Requires-Dist: pyyaml<7.0,>=6.0; extra == 'config'
41
+ Provides-Extra: dev
42
+ Requires-Dist: anyio<5.0,>=4.4.0; extra == 'dev'
43
+ Requires-Dist: bandit<2.0,>=1.7.10; extra == 'dev'
44
+ Requires-Dist: build<2.0,>=1.0.3; extra == 'dev'
45
+ Requires-Dist: codespell<3.0,>=2.3.0; extra == 'dev'
46
+ Requires-Dist: commitizen<5.0,>=4.0.0; extra == 'dev'
47
+ Requires-Dist: cyclonedx-bom>=4.6.0; extra == 'dev'
48
+ Requires-Dist: deptry<1.0,>=0.10.0; extra == 'dev'
49
+ Requires-Dist: hypothesis-jsonschema<1.0,>=0.23.0; extra == 'dev'
50
+ Requires-Dist: hypothesis<7.0,>=6.103.0; extra == 'dev'
51
+ Requires-Dist: interrogate<2.0,>=1.7.0; extra == 'dev'
52
+ Requires-Dist: mypy<2.0,>=1.11.2; extra == 'dev'
53
+ Requires-Dist: openapi-spec-validator<1.0,>=0.7.1; extra == 'dev'
54
+ Requires-Dist: pexpect<5.0,>=4.8.0; extra == 'dev'
55
+ Requires-Dist: pip-audit<3.0,>=2.7.3; extra == 'dev'
56
+ Requires-Dist: prance>=25.4.0.0; extra == 'dev'
57
+ Requires-Dist: pre-commit>=4.0; extra == 'dev'
58
+ Requires-Dist: pydocstyle<7.0,>=6.2.1; extra == 'dev'
59
+ Requires-Dist: pyright[nodejs]<2.0,>=1.1.320; extra == 'dev'
60
+ Requires-Dist: pytest-asyncio<2.0,>=1.0.0; extra == 'dev'
61
+ Requires-Dist: pytest-benchmark<5.0,>=4.0.0; extra == 'dev'
62
+ Requires-Dist: pytest-cov<7.0,>=6.2.1; extra == 'dev'
63
+ Requires-Dist: pytest-rerunfailures<14.0,>=13.0; extra == 'dev'
64
+ Requires-Dist: pytest-timeout<3.0,>=2.4.0; extra == 'dev'
65
+ Requires-Dist: pytest<9.0,>=8.4.1; extra == 'dev'
66
+ Requires-Dist: pytype>=2024.10.11; extra == 'dev'
67
+ Requires-Dist: radon>=6.0.0; extra == 'dev'
68
+ Requires-Dist: reuse<6.0.0,>=4.0.0; extra == 'dev'
69
+ Requires-Dist: ruff<1.0,>=0.6.8; extra == 'dev'
70
+ Requires-Dist: schemathesis<5.0,>=4.0; extra == 'dev'
71
+ Requires-Dist: towncrier<25.0,>=23.0; extra == 'dev'
72
+ Requires-Dist: twine<7.0,>=6.1.0; extra == 'dev'
73
+ Requires-Dist: types-colorama<1.0,>=0.0.14; extra == 'dev'
74
+ Requires-Dist: types-orjson<4.0,>=3.6.0; extra == 'dev'
75
+ Requires-Dist: types-pexpect<5.0,>=4.9.0; extra == 'dev'
76
+ Requires-Dist: types-psutil<7.0,>=6.0.0; extra == 'dev'
77
+ Requires-Dist: types-pyyaml<7.0,>=6.0.12; extra == 'dev'
78
+ Requires-Dist: typing-extensions<5.0,>=4.5.0; extra == 'dev'
79
+ Requires-Dist: uvicorn<1.0,>=0.30.1; extra == 'dev'
80
+ Requires-Dist: vulture<3.0,>=2.7; extra == 'dev'
81
+ Provides-Extra: docs
82
+ Requires-Dist: mkdocs-gen-files; extra == 'docs'
83
+ Requires-Dist: mkdocs-git-revision-date-localized-plugin<2.0,>=1.2.0; extra == 'docs'
84
+ Requires-Dist: mkdocs-glightbox<1.0,>=0.3; extra == 'docs'
85
+ Requires-Dist: mkdocs-include-markdown-plugin; extra == 'docs'
86
+ Requires-Dist: mkdocs-literate-nav; extra == 'docs'
87
+ Requires-Dist: mkdocs-material<10.0,>=9.5.39; extra == 'docs'
88
+ Requires-Dist: mkdocs-material[imaging]<10.0,>=9.5.39; extra == 'docs'
89
+ Requires-Dist: mkdocs-minify-plugin<1.0,>=0.7; extra == 'docs'
90
+ Requires-Dist: mkdocs-redirects<2.0,>=1.2; extra == 'docs'
91
+ Requires-Dist: mkdocs<2.0,>=1.6.1; extra == 'docs'
92
+ Requires-Dist: mkdocstrings[python]<1.0,>=0.26.1; extra == 'docs'
93
+ Provides-Extra: embeddings
94
+ Requires-Dist: sentence-transformers<3.0,>=2.7.0; extra == 'embeddings'
95
+ Provides-Extra: nd
96
+ Requires-Dist: hnswlib<1.0,>=0.8.0; extra == 'nd'
97
+ Provides-Extra: vdb
98
+ Requires-Dist: faiss-cpu<2.0,>=1.7.4; extra == 'vdb'
99
+ Requires-Dist: numpy<3.0,>=1.26; extra == 'vdb'
100
+ Requires-Dist: qdrant-client<2.0,>=1.9.0; extra == 'vdb'
101
+ Description-Content-Type: text/markdown
102
+
103
+ <p align="center">
104
+ <img src="https://raw.githubusercontent.com/bijux/bijux-vex/main/docs/assets/bijux_logo_hq.png" alt="Bijux-Vex" width="180" />
105
+ </p>
106
+
107
+ # bijux-vex
108
+
109
+ **Vector execution runtime with replayable determinism + audited ANN (nothing implicit).**
110
+
111
+ Why this exists: production vector search drifts quietly. Bijux‑Vex makes correctness explicit, and refuses when guarantees cannot be met.
112
+
113
+ If you only read one page, read this: https://bijux.github.io/bijux-vex/user/only_read_one_page/
114
+
115
+ ## Why bijux-vex
116
+
117
+ - Replayable determinism for results you can defend
118
+ - Audited, bounded ND (ANN) instead of silent approximation
119
+ - Nothing implicit: fail‑closed by design
120
+
121
+ ## Hello world (deterministic, exact)
122
+
123
+ ```bash
124
+ bijux vex ingest --doc "hello" --vector "[0.0, 1.0, 0.0]" \
125
+ --vector-store memory
126
+ bijux vex materialize --execution-contract deterministic --vector-store memory
127
+ bijux vex execute --artifact-id art-1 \
128
+ --execution-contract deterministic --execution-intent exact_validation \
129
+ --execution-mode strict --vector "[0.0, 1.0, 0.0]"
130
+ ```
131
+
132
+ ## Hello world (ND / ANN with quality)
133
+
134
+ ```bash
135
+ bijux vex materialize --execution-contract non_deterministic --index-mode ann \
136
+ --vector-store faiss --vector-store-uri ./index.faiss
137
+ bijux vex execute --artifact-id art-1 \
138
+ --execution-contract non_deterministic --execution-intent exploratory_search \
139
+ --execution-mode bounded --randomness-seed 42 --randomness-sources ann_probe \
140
+ --nd-witness sample --vector "[0.0, 1.0, 0.0]"
141
+ ```
142
+
143
+ ## Concept map (instant mental model)
144
+
145
+ ```
146
+ request → plan → execute → provenance
147
+ ├─ deterministic (exact)
148
+ └─ ND (ANN) + quality
149
+ vector store: optional + explicit
150
+ ```
151
+
152
+ ## When NOT to use this
153
+
154
+ - Not a vector DB (no implicit CRUD or query language)
155
+ - Not a RAG framework (no prompts, no orchestration)
156
+ - Not a hosted service (you run it)
157
+
158
+ ## Stability & support
159
+
160
+ - Supported Python: 3.11–3.14
161
+ - Determinism: stable and replayable
162
+ - ND (ANN): experimental but audited and bounded
163
+
164
+ ## Getting help / reporting issues
165
+
166
+ GitHub issues: https://github.com/bijux/bijux-vex/issues
167
+ Include `bijux vex debug-bundle` output when reporting a bug.
168
+
169
+ ## Quick links
170
+
171
+ - Start Here (10 minutes): https://bijux.github.io/bijux-vex/user/start_here_10_minutes/
172
+ - Start Here (human): https://bijux.github.io/bijux-vex/user/start_here_human/
173
+ - Concept Map: https://bijux.github.io/bijux-vex/user/concept_map/
174
+ - ND Production Guide: https://bijux.github.io/bijux-vex/guides/nd_production/
175
+ - Security Policy: https://github.com/bijux/bijux-vex/blob/main/SECURITY.md
176
+ - Changelog: https://github.com/bijux/bijux-vex/blob/main/CHANGELOG.md
@@ -0,0 +1,7 @@
1
+ bijux_vex/_version.py,sha256=Dg8AmJomLVpjKL6prJylOONZAPRtB86LOce7dorQS_A,704
2
+ bijux_vex/py.typed,sha256=NU-OYcV83NloaV7vtRk0bk8kc64u5PuiDkBRJwvHkBE,107
3
+ bijux_vex-0.2.0.dist-info/METADATA,sha256=fWey2D5rziRBn-c_MKOFx4uiXI8429kYnwUTqIeIAbg,7773
4
+ bijux_vex-0.2.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
5
+ bijux_vex-0.2.0.dist-info/entry_points.txt,sha256=CvD_SRleGRmZJp49y1VMy-GpVh4KPse0kW7JLGyE26g,234
6
+ bijux_vex-0.2.0.dist-info/licenses/LICENSE,sha256=JtT2Sv8_KhmjvSaHKZVexlCuwWiKuqtNOVY-xolsRAo,1070
7
+ bijux_vex-0.2.0.dist-info/RECORD,,
@@ -0,0 +1,8 @@
1
+ [bijux_vex.embeddings]
2
+ example = bijux_vex.plugins.example:register_embedding
3
+
4
+ [bijux_vex.runners]
5
+ example = bijux_vex.plugins.example:register_runner
6
+
7
+ [bijux_vex.vectorstores]
8
+ example = bijux_vex.plugins.example:register_vectorstore
@@ -1,185 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: bijux-vex
3
- Version: 0.1.0
4
- Summary: bijux-vex: contract-driven vector execution runtime with explicit determinism semantics.
5
- Project-URL: Homepage, https://bijux.github.io/bijux-vex/
6
- Project-URL: Repository, https://github.com/bijux/bijux-vex
7
- Project-URL: Documentation, https://bijux.github.io/bijux-vex/
8
- Project-URL: Issues, https://github.com/bijux/bijux-vex/issues
9
- Author-email: Bijan Mousavi <mousavi.bijan@gmail.com>
10
- License: MIT
11
- License-File: LICENSE
12
- Keywords: bijux,determinism,execution,vector,vex
13
- Classifier: Development Status :: 4 - Beta
14
- Classifier: Intended Audience :: Developers
15
- Classifier: License :: OSI Approved :: MIT License
16
- Classifier: Natural Language :: English
17
- Classifier: Programming Language :: Python :: 3
18
- Classifier: Programming Language :: Python :: 3 :: Only
19
- Classifier: Programming Language :: Python :: 3.11
20
- Classifier: Programming Language :: Python :: 3.12
21
- Classifier: Programming Language :: Python :: 3.13
22
- Classifier: Programming Language :: Python :: 3.14
23
- Classifier: Topic :: Security
24
- Classifier: Topic :: Software Development :: Libraries
25
- Requires-Python: <4,>=3.11
26
- Requires-Dist: fastapi<0.129,>=0.128
27
- Requires-Dist: pydantic<3.0,>=2.12
28
- Requires-Dist: typer<0.22,>=0.21
29
- Provides-Extra: api
30
- Requires-Dist: fastapi<0.129,>=0.128; extra == 'api'
31
- Requires-Dist: schemathesis<5.0,>=4.0; extra == 'api'
32
- Requires-Dist: uvicorn<1.0,>=0.30.1; extra == 'api'
33
- Provides-Extra: dev
34
- Requires-Dist: anyio<5.0,>=4.4.0; extra == 'dev'
35
- Requires-Dist: bandit<2.0,>=1.7.10; extra == 'dev'
36
- Requires-Dist: build<2.0,>=1.0.3; extra == 'dev'
37
- Requires-Dist: codespell<3.0,>=2.3.0; extra == 'dev'
38
- Requires-Dist: commitizen<5.0,>=4.0.0; extra == 'dev'
39
- Requires-Dist: cyclonedx-bom>=4.6.0; extra == 'dev'
40
- Requires-Dist: deptry<1.0,>=0.10.0; extra == 'dev'
41
- Requires-Dist: hypothesis-jsonschema<1.0,>=0.23.0; extra == 'dev'
42
- Requires-Dist: hypothesis<7.0,>=6.103.0; extra == 'dev'
43
- Requires-Dist: interrogate<2.0,>=1.7.0; extra == 'dev'
44
- Requires-Dist: mkdocs-gen-files; extra == 'dev'
45
- Requires-Dist: mkdocs-git-revision-date-localized-plugin<2.0,>=1.2.0; extra == 'dev'
46
- Requires-Dist: mkdocs-glightbox<1.0,>=0.3; extra == 'dev'
47
- Requires-Dist: mkdocs-include-markdown-plugin; extra == 'dev'
48
- Requires-Dist: mkdocs-literate-nav; extra == 'dev'
49
- Requires-Dist: mkdocs-material<10.0,>=9.5.39; extra == 'dev'
50
- Requires-Dist: mkdocs-material[imaging]<10.0,>=9.5.39; extra == 'dev'
51
- Requires-Dist: mkdocs-minify-plugin<1.0,>=0.7; extra == 'dev'
52
- Requires-Dist: mkdocs-redirects<2.0,>=1.2; extra == 'dev'
53
- Requires-Dist: mkdocs<2.0,>=1.6.1; extra == 'dev'
54
- Requires-Dist: mkdocstrings[python]<1.0,>=0.26.1; extra == 'dev'
55
- Requires-Dist: mypy<2.0,>=1.11.2; extra == 'dev'
56
- Requires-Dist: openapi-spec-validator<1.0,>=0.7.1; extra == 'dev'
57
- Requires-Dist: pexpect<5.0,>=4.8.0; extra == 'dev'
58
- Requires-Dist: pip-audit<3.0,>=2.7.3; extra == 'dev'
59
- Requires-Dist: prance>=25.4.0.0; extra == 'dev'
60
- Requires-Dist: pre-commit>=4.0; extra == 'dev'
61
- Requires-Dist: pydocstyle<7.0,>=6.2.1; extra == 'dev'
62
- Requires-Dist: pyright[nodejs]<2.0,>=1.1.320; extra == 'dev'
63
- Requires-Dist: pytest-asyncio<2.0,>=1.0.0; extra == 'dev'
64
- Requires-Dist: pytest-benchmark<5.0,>=4.0.0; extra == 'dev'
65
- Requires-Dist: pytest-cov<7.0,>=6.2.1; extra == 'dev'
66
- Requires-Dist: pytest-rerunfailures<14.0,>=13.0; extra == 'dev'
67
- Requires-Dist: pytest-timeout<3.0,>=2.4.0; extra == 'dev'
68
- Requires-Dist: pytest<9.0,>=8.4.1; extra == 'dev'
69
- Requires-Dist: pytype>=2024.10.11; extra == 'dev'
70
- Requires-Dist: radon>=6.0.0; extra == 'dev'
71
- Requires-Dist: reuse<6.0.0,>=4.0.0; extra == 'dev'
72
- Requires-Dist: ruff<1.0,>=0.6.8; extra == 'dev'
73
- Requires-Dist: schemathesis<5.0,>=4.0; extra == 'dev'
74
- Requires-Dist: towncrier<25.0,>=23.0; extra == 'dev'
75
- Requires-Dist: twine<7.0,>=6.1.0; extra == 'dev'
76
- Requires-Dist: types-colorama<1.0,>=0.0.14; extra == 'dev'
77
- Requires-Dist: types-orjson<4.0,>=3.6.0; extra == 'dev'
78
- Requires-Dist: types-pexpect<5.0,>=4.9.0; extra == 'dev'
79
- Requires-Dist: types-psutil<7.0,>=6.0.0; extra == 'dev'
80
- Requires-Dist: types-pyyaml<7.0,>=6.0.12; extra == 'dev'
81
- Requires-Dist: typing-extensions<5.0,>=4.5.0; extra == 'dev'
82
- Requires-Dist: uvicorn<1.0,>=0.30.1; extra == 'dev'
83
- Requires-Dist: vulture<3.0,>=2.7; extra == 'dev'
84
- Provides-Extra: llm
85
- Description-Content-Type: text/markdown
86
-
87
- # bijux-vex — vector execution engine with explicit determinism
88
-
89
- [![PyPI - Version](https://img.shields.io/pypi/v/bijux-vex.svg)](https://pypi.org/project/bijux-vex/)
90
- [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/bijux-vex.svg)](https://pypi.org/project/bijux-vex/)
91
- [![Typing: typed (PEP 561)](https://img.shields.io/badge/typing-typed-4F8CC9.svg)](https://peps.python.org/pep-0561/)
92
- [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/bijux/bijux-vex/raw/main/LICENSES/MIT.txt)
93
- [![Documentation](https://img.shields.io/badge/docs-GitHub%20Pages-brightgreen)](https://bijux.github.io/bijux-vex/)
94
- [![CI Status](https://github.com/bijux/bijux-vex/actions/workflows/ci.yml/badge.svg)](https://github.com/bijux/bijux-vex/actions)
95
-
96
- bijux-vex executes vector workloads under **contracts**. Deterministic runs are replayable; non-deterministic runs are bounded, audited, and comparable.
97
- Nothing is implicit: no silent defaults, retries, or randomness.
98
-
99
- ## What bijux-vex is
100
- Vector execution engine with explicit determinism contracts. Deterministic paths are bit-stable and replayable; non-deterministic paths (ANN) are supported but **experimental** and always emit approximation + randomness provenance.
101
-
102
- ## What bijux-vex is not
103
- - Not a vector DB or storage layer.
104
- - Not an embedding or RAG framework.
105
- - Not a serving platform with SLAs.
106
-
107
- ## Quick links
108
- - Start here (single onboarding path): [user/start_here.md](user/start_here.md)
109
- - Docs home: https://bijux.github.io/bijux-vex/
110
- - Concepts: [overview/concepts.md](overview/concepts.md)
111
- - API: [api/index.md](api/index.md) and [`api/v1/schema.yaml`](https://github.com/bijux/bijux-vex/blob/main/api/v1/schema.yaml) (canonical contract)
112
- - Examples: [examples/overview.md](examples/overview.md)
113
- - Changelog: [changelog.md](changelog.md)
114
- - Not a vector DB: [user/not_a_vdb.md](user/not_a_vdb.md)
115
-
116
- ## Reading order (guaranteed)
117
- 1) Start with [user/start_here.md](user/start_here.md) for the problem, fit, and next steps.
118
- 2) Then [overview/concepts.md](overview/concepts.md) for execution vs storage and determinism vs non-determinism.
119
- 3) Then [spec/system_contract.md](spec/system_contract.md) and [spec/execution_contracts.md](spec/execution_contracts.md) for the normative rules.
120
- 4) Run [examples/overview.md](examples/overview.md) for deterministic and ANN flows.
121
- 5) Consult [api/index.md](api/index.md) and [`api/v1/schema.yaml`](https://github.com/bijux/bijux-vex/blob/main/api/v1/schema.yaml) when integrating.
122
- Everything else is reference or maintainer material.
123
-
124
- ## Start here
125
- Read `docs/user/start_here.md`. It explains the problem, when to use bijux-vex, deterministic vs non-deterministic execution, and where to go next.
126
-
127
- ## Minimal example (CLI, 10 lines)
128
- ```sh
129
- bijux vex create --name demo
130
- bijux vex ingest --documents doc.txt --vectors [[0,1,0]]
131
- bijux vex artifact --artifact-id exact --contract deterministic
132
- bijux vex execute --artifact-id exact --vector [0,1,0] --top-k 1 --contract deterministic
133
- bijux vex artifact --artifact-id ann --contract non_deterministic
134
- bijux vex execute --artifact-id ann --vector [0,1,0] --top-k 1 --contract non_deterministic --randomness-profile seed=1
135
- bijux vex explain --artifact-id exact --result-id <vector_id>
136
- bijux vex compare --artifact-id exact --other-id ann
137
- ```
138
-
139
- ## Execution truth table (canonical)
140
- | Contract | Support level | Replayable | Output stability | Provenance / audit | Notes |
141
- | --- | --- | --- | --- | --- | --- |
142
- | deterministic | stable | yes (bit-identical) | stable | full chain + fingerprints | frozen ABI; breaking changes require major bump |
143
- | non_deterministic | stable_bounded | no (envelope only) | outcome-variable (bounded divergence) | approximation + randomness metadata required | experimental surface; may fail if ANN backend unavailable |
144
-
145
- ## Stability guarantees
146
- - Supported Python: 3.11–3.13 (CI + metadata aligned).
147
- - Package version: dynamic from git tags via hatch-vcs.
148
- - Public API version: **v1.x** (frozen; breaking changes require major bump).
149
- - Deterministic execution surface and ABI are frozen; breaking changes require a major bump.
150
- - ND/ANN execution is **experimental** and may change; it can legally fail when no ANN backend is available.
151
- - Determinism gates, ANN contracts, and provenance schema are enforced in conformance tests; regressions fail CI.
152
- - Testing policy: tox runs multi-version tests; lint/quality/security/typing gates run only on the lowest supported Python (3.11) for cost/time efficiency.
153
-
154
- ## No synonym drift
155
- We use one term per concept: **replayable** (deterministic, bit-identical), **audited** (non-deterministic with envelopes), **stable** (supported and frozen), **outcome-variable** (bounded divergence). Avoid “reproducible” or “supported” as stand-ins.
156
-
157
- ## Public surfaces
158
- - **CLI (Typer)**: `create`, `ingest`, `materialize`, `execute`, `explain`, `replay`, `compare`, `list-artifacts`.
159
- - **API (FastAPI)**: versioned under `bijux_vex.api.v1` with frozen OpenAPI (`api/v1/openapi.v1.json`), endpoints mirror CLI verbs.
160
- - **Core types**: `ExecutionContract`, `ExecutionRequest`, `ExecutionArtifact`, `ExecutionResources`, `ApproximationReport`, `RandomnessProfile`.
161
-
162
- ## Non-goals checksum
163
- X - Not a VDB or search service.
164
- X - Not an ML/embedding framework.
165
- X - Not a serving layer with SLAs.
166
- X - Not a “best-effort” ANN wrapper—contracts must be explicit.
167
-
168
- ## Why strict
169
- Aggressive invariants, terminal failures, and refusal to fallback exist to keep provenance honest and prevent silent divergence; permissive modes are intentionally rejected.
170
-
171
- ## Assumptions
172
- - Trusted runtime and honest backend declaration.
173
- - Data is non-adversarial unless stated in tests.
174
- - Users read the “Start here” path before touching API/CLI.
175
-
176
- ## When contracts are violated
177
- - Deterministic: execution refuses to run; replay fails closed.
178
- - Non-deterministic: fails fast if ANN unavailable or metadata missing; never silently falls back to deterministic.
179
- - Budget or capability breaches raise typed errors; no hidden retries or approximations.
180
-
181
- ## Contributing & release
182
- - Keep invariants terminal; ND without metadata is forbidden.
183
- - Run `make lint quality security test` before any PR.
184
- - Release process: see `docs/maintainer/release_process.md`; tags drive package versions, SBOM, and wheels.
185
- - Licensing: code under MIT; docs/config under CC0. See `docs/legal/licensing.md`.
@@ -1,6 +0,0 @@
1
- bijux_vex/_version.py,sha256=5jwwVncvCiTnhOedfkzzxmxsggwmTBORdFL_4wq0ZeY,704
2
- bijux_vex/py.typed,sha256=NU-OYcV83NloaV7vtRk0bk8kc64u5PuiDkBRJwvHkBE,107
3
- bijux_vex-0.1.0.dist-info/METADATA,sha256=m46ky_Y1OpoBiQsTpCTmjQfdc2M7aRH2mPobAXRcSe8,10708
4
- bijux_vex-0.1.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
5
- bijux_vex-0.1.0.dist-info/licenses/LICENSE,sha256=JtT2Sv8_KhmjvSaHKZVexlCuwWiKuqtNOVY-xolsRAo,1070
6
- bijux_vex-0.1.0.dist-info/RECORD,,