|
Download README.md from Snapkitty/sovereign-forge: direct link, hf CLI and curl.
- Browser
- Download file 6.62 kB
-
https://huggingface.co/Snapkitty/sovereign-forge/resolve/main/README.md
- Command line
-
hf download hf://Snapkitty/sovereign-forge/README.md
-
curl -L -o README.md https://huggingface.co/Snapkitty/sovereign-forge/resolve/main/README.md
6.62 kB
| license: other | |
| license_name: busl-1.1 | |
| license_link: https://huggingface.co/Snapkitty/sovereign-forge/blob/main/LICENSE | |
| tags: | |
| - snapkitty | |
| - formal-verification | |
| - c | |
| - lean4 | |
| # Sovereign Forge | |
| <p align="center"> | |
| <img | |
| src="docs/assets/sovereign-forge-kernel.svg" | |
| alt="Sovereign Forge exact witness verification kernel" | |
| width="100%" /> | |
| </p> | |
| <p align="center"> | |
| <strong>Exact, deterministic verification for linear-algebra witnesses.</strong> | |
| </p> | |
| <p align="center"> | |
| <strong>Compute anywhere. Verify independently.</strong> | |
| </p> | |
| --- | |
| [](https://www.open-std.org/jtc1/sc22/wg14/) | |
| [](tests/) | |
| [](proofs/lean4/) | |
| [](LICENSE) | |
| --- | |
| ## Overview | |
| Sovereign Forge is a compact C verification kernel that checks linear-algebra witnesses using **exact int64 arithmetic with explicit overflow detection**. | |
| It does not trust the solver that produced the answer. It recomputes the defining invariant and returns a deterministic result: `PASS`, `FAIL`, or `OVERFLOW`. | |
| ## Verified Obligations | |
| | Operation | Invariant | | |
| |-----------|-----------| | |
| | Matrix inverse | A Γ X = I | | |
| | Linear solution | A Γ x = b | | |
| | Least squares | Aα΅(Ax β b) = 0 | | |
| ## Guarantees | |
| - **Exact integer equality** β No floating-point tolerance | |
| - **Checked multiplication, addition, subtraction** β Overflow is detected, not wrapped | |
| - **Deterministic status codes** β Same input always produces same output | |
| - **Small C audit surface** β ~2,000 lines of core verifier | |
| ## Build | |
| ```bash | |
| git clone https://github.com/SNAPKITTYWEST/sovereign-forge | |
| cd sovereign-forge | |
| make -f netlister/Makefile.sov | |
| make -f netlister/Makefile.sov test | |
| # Output: 77+ tests PASS | |
| ``` | |
| ## API | |
| ```c | |
| #include "src/verifier/sov_verifier.h" | |
| VerifyResult sov_verify_inv( | |
| const int64_t *A, size_t A_len, | |
| const int64_t *X, size_t X_len, | |
| size_t n | |
| ); | |
| VerifyResult sov_verify_sol( | |
| const int64_t *A, size_t A_len, | |
| const int64_t *x, size_t x_len, | |
| const int64_t *b, size_t b_len, | |
| size_t m, size_t n | |
| ); | |
| VerifyResult sov_verify_lstsq( | |
| const int64_t *A, size_t A_len, | |
| const int64_t *x, size_t x_len, | |
| const int64_t *b, size_t b_len, | |
| size_t m, size_t n | |
| ); | |
| ``` | |
| Result codes: | |
| ```c | |
| typedef enum { | |
| VER_PASS = 0, // Invariant verified | |
| VER_FAIL = 1, // Invariant does not hold | |
| VER_OVERFLOW = 2, // Arithmetic overflow detected | |
| VER_SHAPE_MISMATCH = 3, | |
| VER_NULL_INPUT = 4, | |
| VER_ALLOC_FAILURE = 5, | |
| VER_DIMS_EXCEEDED = 6, | |
| VER_OPS_EXCEEDED = 7 | |
| } VerifyResult; | |
| ``` | |
| ## Trust Boundary | |
| Sovereign Forge verifies a supplied witness against a declared invariant. It does **not** prove: | |
| - The solver is trustworthy | |
| - The runtime is untampered | |
| - The transport layer is secure | |
| - The stored artifacts are original | |
| Those assurances belong to higher-level infrastructure. Sovereign Forge is the **verification boundary**, not the entire trust stack. | |
| ## Project Scope | |
| ### Available Now | |
| - Exact verifier core (42 conformance + 31 adversarial tests) | |
| - Safe allocation with overflow checks | |
| - Three obligation classes (inverse, solution, least-squares) | |
| - Overflow detection with separate error codes | |
| - Resource bounds (max dimensions, operation budgets) | |
| - Lean 4 formal proofs (8 stack-machine theorems) | |
| ### In Development | |
| - Typed stack execution (Phase 5) | |
| - Canonical CBOR certificates (Phase 5, RFC 8949) | |
| - WORM (Write-Once-Read-Many) chain linkage (Phase 5) | |
| - Integration layer added: `src/receipts/worm_integration.{h,c}` | |
| - Verification results sealed to distributed append-only ledger | |
| - Immutable, signed receipts for audit trail | |
| ## Quality | |
| - **77+ tests passing** (Phase 1β5) | |
| - **ASan/UBSan clean** (no memory errors, no undefined behavior) | |
| - **15 Lean 4 theorems proved** (zero sorry terms) | |
| - **Reproducible builds** (bit-identical binaries) | |
| - **libFuzzer harness** (continuous fuzzing, no crashes) | |
| ## Documentation | |
| - **[USER_GUIDE.md](docs/USER_GUIDE.md)** β Installation, 5 runnable examples, troubleshooting | |
| - **[DEVELOPER.md](docs/DEVELOPER.md)** β Architecture, formal semantics, contributing | |
| - **[SECURITY.md](docs/SECURITY.md)** β Threat model, verification scope, responsible disclosure | |
| - **[ARCHITECTURE.md](docs/ARCHITECTURE.md)** β Layer diagrams, data flow, specifications | |
| ## Specifications | |
| Frozen formal specifications: | |
| - [instruction-semantics.md](spec/instruction-semantics.md) β Complete ISA definition | |
| - [type-rules.md](spec/type-rules.md) β Formal type judgments | |
| - [verification-policy.md](spec/verification-policy.md) β Exact arithmetic rules | |
| - [proof-certificate.schema.json](spec/proof-certificate.schema.json) β RFC 8949 schema | |
| ## Formal Verification | |
| **Lean 4 stack-machine proofs** (8 theorems in [proofs/lean4/Sovereign/StackMachine.lean](proofs/lean4/Sovereign/StackMachine.lean)): | |
| - `stack_safety` β Operations preserve invariants | |
| - `determinism` β Same input produces same output | |
| - `type_preservation` β Types preserved during execution | |
| - Plus 5 more covering overflow, bounds, and correctness | |
| **C refinement proofs** (15 theorems total): | |
| - RefinesInv, RefinesSol, RefinesSol | |
| - CBOR canonical encoding theorem | |
| - Blake3 deterministic hashing theorem | |
| - Ed25519 signature unforgeable theorem | |
| ## Repository Layout | |
| ``` | |
| src/verifier/ β Exact kernel core | |
| src/typecheck/ β Type system | |
| src/obligations/ β Obligation generation | |
| src/certificate/ β CBOR serialization | |
| src/receipts/ β Ed25519 + WORM | |
| spec/ β Frozen specifications | |
| proofs/lean4/ β 15 theorems (zero sorry) | |
| tests/ | |
| conformance/ β 11/11 PASS | |
| adversarial/ β 31/31 PASS | |
| typecheck/ β 12/12 PASS | |
| certificate/ β 10/10 PASS | |
| receipts/ β 8/8 PASS | |
| refinement/ β 5/5 PASS | |
| fuzzing/ β libFuzzer harness | |
| docs/ User and developer guides | |
| ``` | |
| ## Contributing | |
| See [DEVELOPER.md](docs/DEVELOPER.md) for: | |
| - Code style (C99, K&R) | |
| - Security review checklist | |
| - Contributing workflow | |
| - Release process | |
| ## License | |
| Business Source License 1.1 β See [LICENSE](LICENSE) | |
| --- | |
| **Architecture design:** Ahmad Ali Parr | |
| **Implementation and proof:** Machine-assisted (see git log for full provenance) | |
| --- | |
| > Compute may be untrusted. Verification must be small enough to inspect. | |