valoricore 0.1.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.
- valoricore-0.1.0/.dockerignore +8 -0
- valoricore-0.1.0/.env.example +5 -0
- valoricore-0.1.0/.github/ISSUE_TEMPLATE/bug_report.md +31 -0
- valoricore-0.1.0/.github/ISSUE_TEMPLATE/feature_proposal.md +16 -0
- valoricore-0.1.0/.github/pull_request_template.md +27 -0
- valoricore-0.1.0/.github/workflows/multi-arch-determinism.yml +191 -0
- valoricore-0.1.0/.gitignore +65 -0
- valoricore-0.1.0/CODE_OF_CONDUCT.md +43 -0
- valoricore-0.1.0/COMMERCIAL_LICENSE.md +27 -0
- valoricore-0.1.0/CONTRIBUTING.md +48 -0
- valoricore-0.1.0/Cargo.lock +3618 -0
- valoricore-0.1.0/Dockerfile +29 -0
- valoricore-0.1.0/LICENSE +611 -0
- valoricore-0.1.0/PKG-INFO +179 -0
- valoricore-0.1.0/README.md +492 -0
- valoricore-0.1.0/SECURITY.md +43 -0
- valoricore-0.1.0/all-functions.md +559 -0
- valoricore-0.1.0/architecture.md +593 -0
- valoricore-0.1.0/assets/bench_1m.png +0 -0
- valoricore-0.1.0/assets/bench_filter.png +0 -0
- valoricore-0.1.0/assets/bench_ingest.png +0 -0
- valoricore-0.1.0/assets/bench_persistence.png +0 -0
- valoricore-0.1.0/assets/bench_recall.png +0 -0
- valoricore-0.1.0/crates/README.md +207 -0
- valoricore-0.1.0/demo/demo_adapters.py +60 -0
- valoricore-0.1.0/demo/demo_run.py +99 -0
- valoricore-0.1.0/demo/e2e_lifecycle.py +147 -0
- valoricore-0.1.0/demo/simple_remote.py +37 -0
- valoricore-0.1.0/docs/adapter-improvements.md +324 -0
- valoricore-0.1.0/docs/api-reference.md +73 -0
- valoricore-0.1.0/docs/authentication.md +72 -0
- valoricore-0.1.0/docs/build-determinism.md +40 -0
- valoricore-0.1.0/docs/core-concepts.md +69 -0
- valoricore-0.1.0/docs/crash-recovery-proof.md +180 -0
- valoricore-0.1.0/docs/determinism-guarantees.md +44 -0
- valoricore-0.1.0/docs/deterministic-proof.md +124 -0
- valoricore-0.1.0/docs/embedded-quickstart.md +195 -0
- valoricore-0.1.0/docs/functions.md +120 -0
- valoricore-0.1.0/docs/getting-started.md +87 -0
- valoricore-0.1.0/docs/memory_protocol_v0.md +144 -0
- valoricore-0.1.0/docs/memory_protocol_v1.md +65 -0
- valoricore-0.1.0/docs/multi-arch-determinism.md +39 -0
- valoricore-0.1.0/docs/publishing-pypi.md +284 -0
- valoricore-0.1.0/docs/python-reference.md +95 -0
- valoricore-0.1.0/docs/python-usage-guide.md +348 -0
- valoricore-0.1.0/docs/remote-mode.md +97 -0
- valoricore-0.1.0/docs/verifiable-replication.md +72 -0
- valoricore-0.1.0/docs/verification_report.md +100 -0
- valoricore-0.1.0/docs/wal-replay-guarantees.md +278 -0
- valoricore-0.1.0/essence.rst +252 -0
- valoricore-0.1.0/examples/langchain_example.py +165 -0
- valoricore-0.1.0/examples/llamaindex_example.py +223 -0
- valoricore-0.1.0/ffi/Cargo.lock +185 -0
- valoricore-0.1.0/ffi/Cargo.toml +18 -0
- valoricore-0.1.0/ffi/README.md +86 -0
- valoricore-0.1.0/ffi/build_err_ffi.txt +38 -0
- valoricore-0.1.0/ffi/src/lib.rs +463 -0
- valoricore-0.1.0/ffi/test_valori.py +70 -0
- valoricore-0.1.0/ffi/verify_offline_withoutserver.py +14 -0
- valoricore-0.1.0/knowledge/valori_crates_module_report.md +55 -0
- valoricore-0.1.0/knowledge/valori_ffi_module_report.md +81 -0
- valoricore-0.1.0/knowledge/valori_fxp_module_report.md +113 -0
- valoricore-0.1.0/knowledge/valori_graph_module_report.md +97 -0
- valoricore-0.1.0/knowledge/valori_node_server_module_report.md +65 -0
- valoricore-0.1.0/knowledge/valori_python_sdk_module_report.md +53 -0
- valoricore-0.1.0/knowledge/valori_snapshot_proof_module_report.md +77 -0
- valoricore-0.1.0/knowledge/valori_state_event_module_report.md +104 -0
- valoricore-0.1.0/knowledge/valori_storage_index_module_report.md +98 -0
- valoricore-0.1.0/knowledge/valori_workflow_report.md +163 -0
- valoricore-0.1.0/node/API_README.md +132 -0
- valoricore-0.1.0/node/Cargo.lock +804 -0
- valoricore-0.1.0/node/Cargo.toml +33 -0
- valoricore-0.1.0/node/build_err.txt +58 -0
- valoricore-0.1.0/node/examples/crash_recovery_demo.rs +101 -0
- valoricore-0.1.0/node/src/api.rs +205 -0
- valoricore-0.1.0/node/src/config.rs +128 -0
- valoricore-0.1.0/node/src/engine.rs +423 -0
- valoricore-0.1.0/node/src/errors.rs +52 -0
- valoricore-0.1.0/node/src/events/event_commit.rs +346 -0
- valoricore-0.1.0/node/src/events/event_journal.rs +233 -0
- valoricore-0.1.0/node/src/events/event_log.rs +328 -0
- valoricore-0.1.0/node/src/events/event_proof.rs +153 -0
- valoricore-0.1.0/node/src/events/event_replay.rs +208 -0
- valoricore-0.1.0/node/src/events/mod.rs +27 -0
- valoricore-0.1.0/node/src/lib.rs +16 -0
- valoricore-0.1.0/node/src/main.rs +77 -0
- valoricore-0.1.0/node/src/metadata.rs +41 -0
- valoricore-0.1.0/node/src/network/client.rs +59 -0
- valoricore-0.1.0/node/src/network/mod.rs +2 -0
- valoricore-0.1.0/node/src/persistence.rs +154 -0
- valoricore-0.1.0/node/src/recovery.rs +148 -0
- valoricore-0.1.0/node/src/replication.rs +259 -0
- valoricore-0.1.0/node/src/server.rs +475 -0
- valoricore-0.1.0/node/src/structure/deterministic/kmeans.rs +147 -0
- valoricore-0.1.0/node/src/structure/deterministic/mod.rs +2 -0
- valoricore-0.1.0/node/src/structure/hnsw.rs +394 -0
- valoricore-0.1.0/node/src/structure/index.rs +36 -0
- valoricore-0.1.0/node/src/structure/ivf.rs +146 -0
- valoricore-0.1.0/node/src/structure/mod.rs +6 -0
- valoricore-0.1.0/node/src/structure/quant/mod.rs +58 -0
- valoricore-0.1.0/node/src/structure/quant/pq.rs +115 -0
- valoricore-0.1.0/node/src/telemetry.rs +47 -0
- valoricore-0.1.0/node/src/wal_reader.rs +155 -0
- valoricore-0.1.0/node/src/wal_writer.rs +148 -0
- valoricore-0.1.0/node/tests/api_batch_ingest.rs +108 -0
- valoricore-0.1.0/node/tests/api_replication.rs +102 -0
- valoricore-0.1.0/node/tests/deterministic_edge_tests.rs +100 -0
- valoricore-0.1.0/node/tests/deterministic_ivf_tests.rs +51 -0
- valoricore-0.1.0/node/tests/deterministic_kmeans_tests.rs +33 -0
- valoricore-0.1.0/node/tests/deterministic_pq_tests.rs +41 -0
- valoricore-0.1.0/node/tests/fuzz_crash_recovery.rs +156 -0
- valoricore-0.1.0/node/tests/hnsw_tests.rs +63 -0
- valoricore-0.1.0/node/tests/integration_tests.rs +85 -0
- valoricore-0.1.0/node/tests/multi_arch_determinism.rs +119 -0
- valoricore-0.1.0/node/tests/persistence_index_tests.rs +114 -0
- valoricore-0.1.0/node/tests/persistence_tests.rs +80 -0
- valoricore-0.1.0/node/tests/replication_bootstrap.rs +128 -0
- valoricore-0.1.0/node/tests/replication_cluster.rs +131 -0
- valoricore-0.1.0/node/tests/replication_divergence.rs +206 -0
- valoricore-0.1.0/pyproject.toml +53 -0
- valoricore-0.1.0/python/docs/api_reference.md +102 -0
- valoricore-0.1.0/python/docs/getting_started.md +123 -0
- valoricore-0.1.0/python/examples/async_fastapi_demo.py +63 -0
- valoricore-0.1.0/python/examples/comprehensive_demo.py +105 -0
- valoricore-0.1.0/python/examples/demo_embeddings.py +44 -0
- valoricore-0.1.0/python/examples/demo_remote.py +85 -0
- valoricore-0.1.0/python/examples/demo_sentence_transformers.py +76 -0
- valoricore-0.1.0/python/pyproject.toml +53 -0
- valoricore-0.1.0/python/tests/test_adapters.py +106 -0
- valoricore-0.1.0/python/tests/test_batch_verify.py +96 -0
- valoricore-0.1.0/python/tests/test_bridge.py +412 -0
- valoricore-0.1.0/python/tests/test_insert_with_proof.py +203 -0
- valoricore-0.1.0/python/tests/test_koyeb_production.py +417 -0
- valoricore-0.1.0/python/tests/test_memory.py +154 -0
- valoricore-0.1.0/python/tests/test_new_ffi.py +140 -0
- valoricore-0.1.0/python/tests/test_protocol.py +82 -0
- valoricore-0.1.0/python/tests/test_protocol_errors.py +75 -0
- valoricore-0.1.0/python/tests/test_protocol_remote.py +143 -0
- valoricore-0.1.0/python/tests/test_python_remote.py +48 -0
- valoricore-0.1.0/python/tests/test_replication_e2e.py +177 -0
- valoricore-0.1.0/python/tests/test_robust_client.py +67 -0
- valoricore-0.1.0/python/tests/test_scale_10k.py +105 -0
- valoricore-0.1.0/python/tests/test_unified.py +63 -0
- valoricore-0.1.0/python/tests/test_valori_integrated.py +73 -0
- valoricore-0.1.0/python/valoricore/__init__.py +18 -0
- valoricore-0.1.0/python/valoricore/adapter.py +153 -0
- valoricore-0.1.0/python/valoricore/adapters/__init__.py +23 -0
- valoricore-0.1.0/python/valoricore/adapters/base.py +105 -0
- valoricore-0.1.0/python/valoricore/adapters/langchain.py +55 -0
- valoricore-0.1.0/python/valoricore/adapters/langchain_vectorstore.py +302 -0
- valoricore-0.1.0/python/valoricore/adapters/llamaindex.py +114 -0
- valoricore-0.1.0/python/valoricore/adapters/sentence_transformers_adapter.py +49 -0
- valoricore-0.1.0/python/valoricore/adapters/utils.py +18 -0
- valoricore-0.1.0/python/valoricore/async_memory.py +75 -0
- valoricore-0.1.0/python/valoricore/base.py +105 -0
- valoricore-0.1.0/python/valoricore/chunking.py +58 -0
- valoricore-0.1.0/python/valoricore/exceptions.py +25 -0
- valoricore-0.1.0/python/valoricore/factory.py +32 -0
- valoricore-0.1.0/python/valoricore/ingest.py +45 -0
- valoricore-0.1.0/python/valoricore/kinds.py +18 -0
- valoricore-0.1.0/python/valoricore/langchain.py +55 -0
- valoricore-0.1.0/python/valoricore/langchain_vectorstore.py +302 -0
- valoricore-0.1.0/python/valoricore/llamaindex.py +114 -0
- valoricore-0.1.0/python/valoricore/local.py +196 -0
- valoricore-0.1.0/python/valoricore/memory.py +138 -0
- valoricore-0.1.0/python/valoricore/protocol.py +437 -0
- valoricore-0.1.0/python/valoricore/remote.py +457 -0
- valoricore-0.1.0/python/valoricore/sentence_transformers_adapter.py +49 -0
- valoricore-0.1.0/python/valoricore/types.py +15 -0
- valoricore-0.1.0/python/valoricore/utils.py +18 -0
- valoricore-0.1.0/python/valoricore_readme.md +142 -0
- valoricore-0.1.0/run_test.sh +8 -0
- valoricore-0.1.0/scratch.py +22 -0
- valoricore-0.1.0/scratch2.py +18 -0
- valoricore-0.1.0/scripts/download_data.sh +29 -0
- valoricore-0.1.0/scripts/run_python_test.sh +27 -0
- valoricore-0.1.0/scripts/run_scale_test.sh +37 -0
- valoricore-0.1.0/scripts/test_dynamic.sh +45 -0
- valoricore-0.1.0/src/README.md +44 -0
- valoricore-0.1.0/src/adapters/ivecs.rs +33 -0
- valoricore-0.1.0/src/adapters/mod.rs +2 -0
- valoricore-0.1.0/src/adapters/sift_batch.rs +210 -0
- valoricore-0.1.0/src/config.rs +11 -0
- valoricore-0.1.0/src/dist.rs +77 -0
- valoricore-0.1.0/src/error.rs +42 -0
- valoricore-0.1.0/src/event.rs +278 -0
- valoricore-0.1.0/src/fxp/mod.rs +3 -0
- valoricore-0.1.0/src/fxp/ops.rs +57 -0
- valoricore-0.1.0/src/fxp/qformat.rs +4 -0
- valoricore-0.1.0/src/graph/adjacency.rs +79 -0
- valoricore-0.1.0/src/graph/edge.rs +26 -0
- valoricore-0.1.0/src/graph/mod.rs +5 -0
- valoricore-0.1.0/src/graph/node.rs +24 -0
- valoricore-0.1.0/src/graph/pool.rs +115 -0
- valoricore-0.1.0/src/hnsw.rs +507 -0
- valoricore-0.1.0/src/index/brute_force.rs +109 -0
- valoricore-0.1.0/src/index/mod.rs +43 -0
- valoricore-0.1.0/src/kernel.rs +177 -0
- valoricore-0.1.0/src/lib.rs +21 -0
- valoricore-0.1.0/src/math/dot.rs +39 -0
- valoricore-0.1.0/src/math/l2.rs +22 -0
- valoricore-0.1.0/src/math/mod.rs +3 -0
- valoricore-0.1.0/src/proof.rs +72 -0
- valoricore-0.1.0/src/quant/mod.rs +29 -0
- valoricore-0.1.0/src/replay.rs +99 -0
- valoricore-0.1.0/src/replay_events.rs +200 -0
- valoricore-0.1.0/src/snapshot/blake3.rs +158 -0
- valoricore-0.1.0/src/snapshot/decode.rs +195 -0
- valoricore-0.1.0/src/snapshot/encode.rs +154 -0
- valoricore-0.1.0/src/snapshot/hash.rs +110 -0
- valoricore-0.1.0/src/snapshot/mod.rs +5 -0
- valoricore-0.1.0/src/state/command.rs +38 -0
- valoricore-0.1.0/src/state/kernel.rs +346 -0
- valoricore-0.1.0/src/state/mod.rs +3 -0
- valoricore-0.1.0/src/storage/mod.rs +2 -0
- valoricore-0.1.0/src/storage/pool.rs +69 -0
- valoricore-0.1.0/src/storage/record.rs +26 -0
- valoricore-0.1.0/src/tests/determinism_tests.rs +94 -0
- valoricore-0.1.0/src/tests/e2e_tests.rs +141 -0
- valoricore-0.1.0/src/tests/fxp_tests.rs +79 -0
- valoricore-0.1.0/src/tests/graph_tests.rs +47 -0
- valoricore-0.1.0/src/tests/index_tests.rs +59 -0
- valoricore-0.1.0/src/tests/math_tests.rs +52 -0
- valoricore-0.1.0/src/tests/metadata_tests.rs +176 -0
- valoricore-0.1.0/src/tests/mod.rs +14 -0
- valoricore-0.1.0/src/tests/proof_tests.rs +217 -0
- valoricore-0.1.0/src/tests/quant_tests.rs +40 -0
- valoricore-0.1.0/src/tests/snapshot_tests.rs +42 -0
- valoricore-0.1.0/src/tests/state_tests.rs +82 -0
- valoricore-0.1.0/src/tests/storage_tests.rs +66 -0
- valoricore-0.1.0/src/types/enums.rs +71 -0
- valoricore-0.1.0/src/types/id.rs +26 -0
- valoricore-0.1.0/src/types/mod.rs +133 -0
- valoricore-0.1.0/src/types/scalar.rs +14 -0
- valoricore-0.1.0/src/types/vector.rs +79 -0
- valoricore-0.1.0/src/verify.rs +117 -0
- valoricore-0.1.0/test_delete_local.py +34 -0
- valoricore-0.1.0/test_remote_graph.py +62 -0
- valoricore-0.1.0/test_retrieval.py +317 -0
- valoricore-0.1.0/valori_e2e_tracer.py +148 -0
- valoricore-0.1.0/valoricore/__init__.py +18 -0
- valoricore-0.1.0/valoricore/adapter.py +153 -0
- valoricore-0.1.0/valoricore/adapters/__init__.py +23 -0
- valoricore-0.1.0/valoricore/adapters/base.py +105 -0
- valoricore-0.1.0/valoricore/adapters/langchain.py +55 -0
- valoricore-0.1.0/valoricore/adapters/langchain_vectorstore.py +302 -0
- valoricore-0.1.0/valoricore/adapters/llamaindex.py +114 -0
- valoricore-0.1.0/valoricore/adapters/sentence_transformers_adapter.py +49 -0
- valoricore-0.1.0/valoricore/adapters/utils.py +18 -0
- valoricore-0.1.0/valoricore/async_memory.py +75 -0
- valoricore-0.1.0/valoricore/base.py +105 -0
- valoricore-0.1.0/valoricore/chunking.py +58 -0
- valoricore-0.1.0/valoricore/exceptions.py +25 -0
- valoricore-0.1.0/valoricore/factory.py +32 -0
- valoricore-0.1.0/valoricore/ingest.py +45 -0
- valoricore-0.1.0/valoricore/kinds.py +18 -0
- valoricore-0.1.0/valoricore/langchain.py +55 -0
- valoricore-0.1.0/valoricore/langchain_vectorstore.py +302 -0
- valoricore-0.1.0/valoricore/llamaindex.py +114 -0
- valoricore-0.1.0/valoricore/local.py +196 -0
- valoricore-0.1.0/valoricore/memory.py +138 -0
- valoricore-0.1.0/valoricore/protocol.py +437 -0
- valoricore-0.1.0/valoricore/remote.py +457 -0
- valoricore-0.1.0/valoricore/sentence_transformers_adapter.py +49 -0
- valoricore-0.1.0/valoricore/types.py +15 -0
- valoricore-0.1.0/valoricore/utils.py +18 -0
- valoricore-0.1.0/valoricore_readme.md +142 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug Report
|
|
3
|
+
about: Report determinism, ingestion, or kernel correctness issues
|
|
4
|
+
title: "[BUG]"
|
|
5
|
+
labels: bug
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
### Description
|
|
9
|
+
|
|
10
|
+
Describe the issue and expected behavior.
|
|
11
|
+
|
|
12
|
+
### Category
|
|
13
|
+
- Determinism divergence
|
|
14
|
+
- Snapshot / WAL behavior
|
|
15
|
+
- Quantization or clamping
|
|
16
|
+
- Cross-architecture mismatch
|
|
17
|
+
|
|
18
|
+
### Reproduction Steps
|
|
19
|
+
|
|
20
|
+
### Hardware / Substrate
|
|
21
|
+
|
|
22
|
+
CPU:
|
|
23
|
+
Architecture:
|
|
24
|
+
OS:
|
|
25
|
+
|
|
26
|
+
### Input Data Characteristics
|
|
27
|
+
|
|
28
|
+
Vector dimension:
|
|
29
|
+
Value range:
|
|
30
|
+
|
|
31
|
+
### Additional Notes
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature Proposal
|
|
3
|
+
about: Suggest kernel-level improvements
|
|
4
|
+
title: "[PROPOSAL]"
|
|
5
|
+
labels: enhancement
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
### Problem Context
|
|
9
|
+
|
|
10
|
+
### Proposed Change
|
|
11
|
+
|
|
12
|
+
### Determinism Impact
|
|
13
|
+
|
|
14
|
+
### Cross-substrate Considerations
|
|
15
|
+
|
|
16
|
+
### Why this belongs in kernel (not evaluator)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
## Summary
|
|
2
|
+
|
|
3
|
+
What does this change do?
|
|
4
|
+
|
|
5
|
+
## Determinism Impact
|
|
6
|
+
|
|
7
|
+
- [ ] No determinism impact
|
|
8
|
+
- [ ] Improves determinism
|
|
9
|
+
- [ ] Changes arithmetic behavior
|
|
10
|
+
|
|
11
|
+
Explain why.
|
|
12
|
+
|
|
13
|
+
## Cross-Architecture Behavior
|
|
14
|
+
|
|
15
|
+
Tested on:
|
|
16
|
+
- [ ] x86
|
|
17
|
+
- [ ] ARM / Apple Silicon
|
|
18
|
+
- [ ] Embedded / Jetson
|
|
19
|
+
|
|
20
|
+
## Tests
|
|
21
|
+
|
|
22
|
+
Include reproduction / validation cases.
|
|
23
|
+
|
|
24
|
+
## Notes
|
|
25
|
+
|
|
26
|
+
If this relates to forensic or evaluator tracks,
|
|
27
|
+
confirm that logic is kernel-appropriate.
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
name: Multi-Architecture Determinism Validation
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main, develop ]
|
|
6
|
+
paths:
|
|
7
|
+
- 'src/**'
|
|
8
|
+
- 'node/**'
|
|
9
|
+
- 'embedded/**'
|
|
10
|
+
- 'ffi/**'
|
|
11
|
+
- 'Cargo.toml'
|
|
12
|
+
- 'Cargo.lock'
|
|
13
|
+
- '.github/workflows/**'
|
|
14
|
+
# Ignore documentation changes
|
|
15
|
+
- '!**.md'
|
|
16
|
+
- '!docs/**'
|
|
17
|
+
pull_request:
|
|
18
|
+
branches: [ main ]
|
|
19
|
+
paths:
|
|
20
|
+
- 'src/**'
|
|
21
|
+
- 'node/**'
|
|
22
|
+
- 'embedded/**'
|
|
23
|
+
- 'ffi/**'
|
|
24
|
+
- 'Cargo.toml'
|
|
25
|
+
- 'Cargo.lock'
|
|
26
|
+
workflow_dispatch: # Allow manual triggering
|
|
27
|
+
|
|
28
|
+
jobs:
|
|
29
|
+
# Test on x86_64 Linux
|
|
30
|
+
test-x86:
|
|
31
|
+
name: "Determinism Test (x86_64 Linux)"
|
|
32
|
+
runs-on: ubuntu-latest
|
|
33
|
+
steps:
|
|
34
|
+
- uses: actions/checkout@v4
|
|
35
|
+
|
|
36
|
+
- name: Install Rust
|
|
37
|
+
uses: dtolnay/rust-toolchain@stable
|
|
38
|
+
|
|
39
|
+
- name: Cache cargo
|
|
40
|
+
uses: actions/cache@v3
|
|
41
|
+
with:
|
|
42
|
+
path: |
|
|
43
|
+
~/.cargo/bin/
|
|
44
|
+
~/.cargo/registry/index/
|
|
45
|
+
~/.cargo/registry/cache/
|
|
46
|
+
~/.cargo/git/db/
|
|
47
|
+
target/
|
|
48
|
+
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
|
49
|
+
|
|
50
|
+
- name: Run determinism test
|
|
51
|
+
run: |
|
|
52
|
+
cargo test -p valori-node --test multi_arch_determinism --release determinism_x86 -- --nocapture --test-threads=1 > x86_output.txt 2>&1 || true
|
|
53
|
+
|
|
54
|
+
- name: Extract hash
|
|
55
|
+
run: |
|
|
56
|
+
grep "HASH:" x86_output.txt | head -1 | cut -d':' -f2 > x86_hash.txt
|
|
57
|
+
cat x86_hash.txt
|
|
58
|
+
|
|
59
|
+
- name: Upload hash artifact
|
|
60
|
+
uses: actions/upload-artifact@v4
|
|
61
|
+
with:
|
|
62
|
+
name: x86-hash
|
|
63
|
+
path: x86_hash.txt
|
|
64
|
+
|
|
65
|
+
# Test on ARM64 macOS
|
|
66
|
+
test-arm:
|
|
67
|
+
name: "Determinism Test (ARM64 macOS)"
|
|
68
|
+
runs-on: macos-latest
|
|
69
|
+
steps:
|
|
70
|
+
- uses: actions/checkout@v4
|
|
71
|
+
|
|
72
|
+
- name: Install Rust
|
|
73
|
+
uses: dtolnay/rust-toolchain@stable
|
|
74
|
+
|
|
75
|
+
- name: Cache cargo
|
|
76
|
+
uses: actions/cache@v3
|
|
77
|
+
with:
|
|
78
|
+
path: |
|
|
79
|
+
~/.cargo/bin/
|
|
80
|
+
~/.cargo/registry/index/
|
|
81
|
+
~/.cargo/registry/cache/
|
|
82
|
+
~/.cargo/git/db/
|
|
83
|
+
target/
|
|
84
|
+
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
|
85
|
+
|
|
86
|
+
- name: Run determinism test
|
|
87
|
+
run: |
|
|
88
|
+
cargo test -p valori-node --test multi_arch_determinism --release determinism_arm -- --nocapture --test-threads=1 > arm_output.txt 2>&1 || true
|
|
89
|
+
|
|
90
|
+
- name: Extract hash
|
|
91
|
+
run: |
|
|
92
|
+
grep "HASH:" arm_output.txt | head -1 | cut -d':' -f2 > arm_hash.txt
|
|
93
|
+
cat arm_hash.txt
|
|
94
|
+
|
|
95
|
+
- name: Upload hash artifact
|
|
96
|
+
uses: actions/upload-artifact@v4
|
|
97
|
+
with:
|
|
98
|
+
name: arm-hash
|
|
99
|
+
path: arm_hash.txt
|
|
100
|
+
|
|
101
|
+
# Test on WASM32
|
|
102
|
+
test-wasm:
|
|
103
|
+
name: "Determinism Test (WASM32)"
|
|
104
|
+
runs-on: ubuntu-latest
|
|
105
|
+
steps:
|
|
106
|
+
- uses: actions/checkout@v4
|
|
107
|
+
|
|
108
|
+
- name: Install Rust + WASM target
|
|
109
|
+
uses: dtolnay/rust-toolchain@stable
|
|
110
|
+
with:
|
|
111
|
+
targets: wasm32-unknown-unknown
|
|
112
|
+
|
|
113
|
+
- name: Cache cargo
|
|
114
|
+
uses: actions/cache@v3
|
|
115
|
+
with:
|
|
116
|
+
path: |
|
|
117
|
+
~/.cargo/bin/
|
|
118
|
+
~/.cargo/registry/index/
|
|
119
|
+
~/.cargo/registry/cache/
|
|
120
|
+
~/.cargo/git/db/
|
|
121
|
+
target/
|
|
122
|
+
key: ${{ runner.os }}-wasm-cargo-${{ hashFiles('**/Cargo.lock') }}
|
|
123
|
+
|
|
124
|
+
- name: Build kernel for WASM
|
|
125
|
+
run: |
|
|
126
|
+
cargo build --lib --target wasm32-unknown-unknown --release
|
|
127
|
+
|
|
128
|
+
- name: Install wasmtime
|
|
129
|
+
run: |
|
|
130
|
+
curl https://wasmtime.dev/install.sh -sSf | bash
|
|
131
|
+
echo "$HOME/.wasmtime/bin" >> $GITHUB_PATH
|
|
132
|
+
|
|
133
|
+
- name: Run WASM determinism test
|
|
134
|
+
run: |
|
|
135
|
+
cargo test -p valori-node --test multi_arch_determinism --release determinism_wasm -- --nocapture --test-threads=1 > wasm_output.txt 2>&1 || true
|
|
136
|
+
|
|
137
|
+
- name: Extract hash
|
|
138
|
+
run: |
|
|
139
|
+
grep "HASH:" wasm_output.txt | head -1 | cut -d':' -f2 > wasm_hash.txt
|
|
140
|
+
cat wasm_hash.txt
|
|
141
|
+
|
|
142
|
+
- name: Upload hash artifact
|
|
143
|
+
uses: actions/upload-artifact@v4
|
|
144
|
+
with:
|
|
145
|
+
name: wasm-hash
|
|
146
|
+
path: wasm_hash.txt
|
|
147
|
+
|
|
148
|
+
# Compare all hashes
|
|
149
|
+
validate:
|
|
150
|
+
name: "Validate Determinism Across Architectures"
|
|
151
|
+
needs: [test-x86, test-arm, test-wasm]
|
|
152
|
+
runs-on: ubuntu-latest
|
|
153
|
+
steps:
|
|
154
|
+
- name: Download x86 hash
|
|
155
|
+
uses: actions/download-artifact@v4
|
|
156
|
+
with:
|
|
157
|
+
name: x86-hash
|
|
158
|
+
|
|
159
|
+
- name: Download ARM hash
|
|
160
|
+
uses: actions/download-artifact@v4
|
|
161
|
+
with:
|
|
162
|
+
name: arm-hash
|
|
163
|
+
|
|
164
|
+
- name: Download WASM hash
|
|
165
|
+
uses: actions/download-artifact@v4
|
|
166
|
+
with:
|
|
167
|
+
name: wasm-hash
|
|
168
|
+
|
|
169
|
+
- name: Compare hashes
|
|
170
|
+
run: |
|
|
171
|
+
echo "=== Multi-Architecture Determinism Validation ==="
|
|
172
|
+
echo ""
|
|
173
|
+
echo "x86_64 hash: $(cat x86_hash.txt)"
|
|
174
|
+
echo "ARM64 hash: $(cat arm_hash.txt)"
|
|
175
|
+
echo "WASM32 hash: $(cat wasm_hash.txt)"
|
|
176
|
+
echo ""
|
|
177
|
+
|
|
178
|
+
X86_HASH=$(cat x86_hash.txt | tr -d '[:space:]')
|
|
179
|
+
ARM_HASH=$(cat arm_hash.txt | tr -d '[:space:]')
|
|
180
|
+
WASM_HASH=$(cat wasm_hash.txt | tr -d '[:space:]')
|
|
181
|
+
|
|
182
|
+
if [ "$X86_HASH" = "$ARM_HASH" ] && [ "$ARM_HASH" = "$WASM_HASH" ]; then
|
|
183
|
+
echo "✅✅✅ SUCCESS! All hashes match!"
|
|
184
|
+
echo "🎯 Determinism verified across x86, ARM, and WASM"
|
|
185
|
+
exit 0
|
|
186
|
+
else
|
|
187
|
+
echo "❌ FAILURE: Hashes do not match!"
|
|
188
|
+
echo "Determinism broken - this should never happen"
|
|
189
|
+
exit 1
|
|
190
|
+
fi
|
|
191
|
+
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Rust
|
|
2
|
+
target/
|
|
3
|
+
target_tmp/
|
|
4
|
+
**/*.rs.bk
|
|
5
|
+
debug/
|
|
6
|
+
release/
|
|
7
|
+
|
|
8
|
+
# Python
|
|
9
|
+
__pycache__/
|
|
10
|
+
*.py[cod]
|
|
11
|
+
*$py.class
|
|
12
|
+
*.so
|
|
13
|
+
.Python
|
|
14
|
+
build/
|
|
15
|
+
develop-eggs/
|
|
16
|
+
dist/
|
|
17
|
+
downloads/
|
|
18
|
+
eggs/
|
|
19
|
+
.eggs/
|
|
20
|
+
lib/
|
|
21
|
+
lib64/
|
|
22
|
+
parts/
|
|
23
|
+
sdist/
|
|
24
|
+
var/
|
|
25
|
+
wheels/
|
|
26
|
+
share/python-wheels/
|
|
27
|
+
*.egg-info/
|
|
28
|
+
.installed.cfg
|
|
29
|
+
*.egg
|
|
30
|
+
MANIFEST
|
|
31
|
+
|
|
32
|
+
# FFI / Native
|
|
33
|
+
*.dll
|
|
34
|
+
*.dylib
|
|
35
|
+
*.pyd
|
|
36
|
+
|
|
37
|
+
# Environments
|
|
38
|
+
.env
|
|
39
|
+
.venv
|
|
40
|
+
env/
|
|
41
|
+
venv/
|
|
42
|
+
ENV/
|
|
43
|
+
env.bak/
|
|
44
|
+
venv.bak/
|
|
45
|
+
|
|
46
|
+
# IDEs
|
|
47
|
+
.vscode/
|
|
48
|
+
.idea/
|
|
49
|
+
*.swp
|
|
50
|
+
*.swo
|
|
51
|
+
|
|
52
|
+
# OS
|
|
53
|
+
.DS_Store
|
|
54
|
+
Thumbs.db
|
|
55
|
+
.agent/
|
|
56
|
+
*.log
|
|
57
|
+
*.log
|
|
58
|
+
demo_db/
|
|
59
|
+
|
|
60
|
+
# Ignore Data
|
|
61
|
+
data/
|
|
62
|
+
*.fvecs
|
|
63
|
+
*.ivecs
|
|
64
|
+
*.tar.gz
|
|
65
|
+
*.db
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Valori Project Code of Conduct
|
|
2
|
+
|
|
3
|
+
The Valori Kernel is a research–grade deterministic computation project.
|
|
4
|
+
Our work touches systems reliability, reproducibility, and substrate–level
|
|
5
|
+
computing research. We welcome discussion, critique, and contributions — but
|
|
6
|
+
expect interaction to remain respectful and technically grounded.
|
|
7
|
+
|
|
8
|
+
## Expected Behavior
|
|
9
|
+
|
|
10
|
+
Participants are expected to:
|
|
11
|
+
|
|
12
|
+
- Engage constructively and in good faith
|
|
13
|
+
- Critique ideas, not individuals
|
|
14
|
+
- Focus on technical accuracy and clarity
|
|
15
|
+
- Respect research rigor and empirical evidence
|
|
16
|
+
|
|
17
|
+
## Unacceptable Behavior
|
|
18
|
+
|
|
19
|
+
Examples include:
|
|
20
|
+
|
|
21
|
+
- Personal attacks or harassment
|
|
22
|
+
- Misrepresentation of technical claims
|
|
23
|
+
- Intellectual dishonesty
|
|
24
|
+
- Attempts to appropriate or reframe authorship of work
|
|
25
|
+
|
|
26
|
+
## Research Integrity
|
|
27
|
+
|
|
28
|
+
Valori maintains strict boundaries between:
|
|
29
|
+
|
|
30
|
+
- Open–source kernel research and
|
|
31
|
+
- Commercial / enterprise extensions
|
|
32
|
+
|
|
33
|
+
Contributors must respect these licensing and scope boundaries.
|
|
34
|
+
|
|
35
|
+
## Reporting Issues
|
|
36
|
+
|
|
37
|
+
If you believe behavior or activity violates this policy, contact the
|
|
38
|
+
maintainer privately through the repository issue tracker or project email.
|
|
39
|
+
|
|
40
|
+
The maintainers reserve the right to remove contributions that threaten the
|
|
41
|
+
integrity, safety, or research accuracy of the project.
|
|
42
|
+
|
|
43
|
+
Thank you for helping maintain a collaborative research environment.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Valori Commercial Licensing
|
|
2
|
+
|
|
3
|
+
Valori is open-source software licensed under the **GNU Affero General Public License v3.0 (AGPLv3)**.
|
|
4
|
+
|
|
5
|
+
## What does this mean?
|
|
6
|
+
|
|
7
|
+
### For Open Source & Personal Use (Free)
|
|
8
|
+
You can use Valori Kernel for free if:
|
|
9
|
+
* You are building an open-source application (licensed under AGPLv3 compatible terms).
|
|
10
|
+
* You are using it for personal, non-commercial projects.
|
|
11
|
+
* You are using it internally within your organization **without** exposing it as a service to external users.
|
|
12
|
+
|
|
13
|
+
### For Commercial Use (Paid License Required)
|
|
14
|
+
You **must** purchase a Commercial License if:
|
|
15
|
+
* You want to embed Valori Kernel into a proprietary (closed-source) software product or device.
|
|
16
|
+
* You want to host Valori as a SaaS (Software-as-a-Service) offering to external customers without releasing your own source code.
|
|
17
|
+
* You simply prefer not to be bound by the copyleft terms of the AGPLv3.
|
|
18
|
+
|
|
19
|
+
## Commercial License Benefits
|
|
20
|
+
* **Proprietary Usage**: Embed Valori in your closed-source product without sharing your code.
|
|
21
|
+
* **Indemnification**: Legal protection and warranty not provided by the open-source license.
|
|
22
|
+
* **Support**: Direct access to the core engineering team for priority issue resolution.
|
|
23
|
+
* **Long-Term Support (LTS)**: Access to stable, supported versions for enterprise deployment.
|
|
24
|
+
|
|
25
|
+
## Contact
|
|
26
|
+
To acquire a commercial license, please contact:
|
|
27
|
+
**varshith.gudur17@gmail.com**
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Contributing to the Valori Kernel
|
|
2
|
+
|
|
3
|
+
Thanks for your interest in contributing.
|
|
4
|
+
|
|
5
|
+
Valori is a deterministic computation kernel designed to eliminate
|
|
6
|
+
substrate-driven divergence across architectures (x86 / ARM / GPU / embedded).
|
|
7
|
+
The project prioritizes mathematical correctness, reproducibility, and
|
|
8
|
+
cross-platform determinism over performance shortcuts.
|
|
9
|
+
|
|
10
|
+
## Contribution Philosophy
|
|
11
|
+
|
|
12
|
+
Contributions should:
|
|
13
|
+
|
|
14
|
+
- Improve determinism, reproducibility, or verification
|
|
15
|
+
- Strengthen fixed-point arithmetic correctness
|
|
16
|
+
- Improve cross-substrate consistency guarantees
|
|
17
|
+
- Add test coverage or validation proofs
|
|
18
|
+
|
|
19
|
+
Contributions that optimize performance at the cost of determinism will
|
|
20
|
+
not be accepted.
|
|
21
|
+
|
|
22
|
+
## PR Requirements
|
|
23
|
+
|
|
24
|
+
Pull requests must include:
|
|
25
|
+
|
|
26
|
+
- Description of the change
|
|
27
|
+
- Explanation of determinism impact
|
|
28
|
+
- Reproducible test case
|
|
29
|
+
- Cross-architecture notes (where applicable)
|
|
30
|
+
|
|
31
|
+
## What is Out of Scope
|
|
32
|
+
|
|
33
|
+
The following belong in private / enterprise tracks:
|
|
34
|
+
|
|
35
|
+
- forensic analysis pipelines
|
|
36
|
+
- incident replay engines
|
|
37
|
+
- audit and compliance evaluators
|
|
38
|
+
- production ingestion tooling
|
|
39
|
+
|
|
40
|
+
These systems depend on the kernel but are not part of the open core.
|
|
41
|
+
|
|
42
|
+
## Development Workflow
|
|
43
|
+
|
|
44
|
+
1. Open an Issue describing the proposal
|
|
45
|
+
2. Discuss approach and determinism implications
|
|
46
|
+
3. Submit PR after agreement on direction
|
|
47
|
+
|
|
48
|
+
Thank you for helping strengthen deterministic computing research.
|