Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1597 commits
Select commit Hold shift + click to select a range
9718dee
Exercise implicit native anchors and lazy role admission
johnchandlerburnham Oct 29, 2026
68514b6
johnchandlerburnham Oct 29, 2026
d828cc5
Correct exposed frontier fixture helpers
johnchandlerburnham Oct 29, 2026
7463786
johnchandlerburnham Oct 29, 2026
b032906
Clarify compiler boundaries and source-layout fixtures
johnchandlerburnham Oct 29, 2026
736d6ac
Check the Char constructor introduced by native String.back
johnchandlerburnham Oct 29, 2026
e42d3f6
Keep the native Char regression focused on tested consumers
johnchandlerburnham Oct 29, 2026
11d0a0b
Integrate implicit character validation and regressions
johnchandlerburnham Oct 29, 2026
9d8a420
Describe the streamed compiler harness and closure checks
johnchandlerburnham Oct 29, 2026
d30b81a
Clarify compiler comparison and partial-output help
johnchandlerburnham Oct 29, 2026
39c4fec
Prepare reviewed character dependency regeneration
johnchandlerburnham Oct 29, 2026
77810d6
Regenerate native character dependency checks
johnchandlerburnham Oct 29, 2026
c836fc6
Defer trace source generation until codegen runs
johnchandlerburnham Oct 29, 2026
24a9d97
Integrate checked native character repair and CLI documentation
johnchandlerburnham Oct 29, 2026
204ee97
Integrate deferred CLI trace generation
johnchandlerburnham Oct 29, 2026
44ea874
Avoid redundant lookup and commitment work in formal batch proofs
gabriel-barrett Oct 30, 2026
d511618
Document certified compiler progress and remaining gates
johnchandlerburnham Oct 30, 2026
70895ca
Harden unsafe-reference checks and decompiler capacity bounds
johnchandlerburnham Oct 30, 2026
927cbd6
Filter recursor record decoding by header and harden exact caches
johnchandlerburnham Oct 30, 2026
263f6e9
Complete post-finalization artifact checks and slice existing support
johnchandlerburnham Oct 30, 2026
b0b02a2
Wire parallel exact-K16 sharing and pre-size Ixon environment seriali…
johnchandlerburnham Oct 30, 2026
31d6cfa
Fix Aiur operator associativity and expand runtime audit coverage
johnchandlerburnham Oct 30, 2026
c52f29f
Validate demoted Ixon metadata windows and reuse Rust sharing buffers
johnchandlerburnham Oct 30, 2026
9594ca0
Parallelize checkReport authentication and share recursor records
johnchandlerburnham Oct 30, 2026
20a5aa0
Parallelize RecordStore authentication and accelerate role finalization
johnchandlerburnham Oct 30, 2026
5464380
Wire verified dependency-ready block scheduler into compileCertified
johnchandlerburnham Oct 30, 2026
e812c1b
Include projection owners and sibling projections in sliceSupport?
johnchandlerburnham Oct 30, 2026
d97b28b
Expand runtime and module audit coverage and wire CompileCertified
johnchandlerburnham Oct 30, 2026
2e95f1d
Parallelize environment assembly and report check scans
johnchandlerburnham Oct 30, 2026
106c94d
Avoid full-artifact decoding in finalize and parallelize role checks
johnchandlerburnham Oct 30, 2026
e7baefb
Parallelize canonical Merkle hashing and overlap Ixon section encoding
johnchandlerburnham Oct 30, 2026
91f20c0
Deduplicate theorem-evidence validation and harden sharing saturation
johnchandlerburnham Oct 30, 2026
57782a4
Optimize canonical sharing width evaluation and de-alias fold arrays
johnchandlerburnham Oct 30, 2026
96cf50d
Accelerate graph extraction, finalization, serialization, and teardown
johnchandlerburnham Oct 30, 2026
221b328
Check support closures for anchor and op roles and harden Univ drop
johnchandlerburnham Oct 30, 2026
3b1b760
Cache empty-dictionary sharing evaluation and defer error formatting
johnchandlerburnham Oct 30, 2026
da61af7
Retain async teardown payloads and accelerate finalize and serEnv
johnchandlerburnham Oct 30, 2026
129c805
Modularize formal Aiur programs around shared checked libraries
gabriel-barrett Oct 30, 2026
51dfd2a
Audit inlined csimp targets and refresh generated codegen artifacts
johnchandlerburnham Oct 30, 2026
74793ba
Merge main and update IxVM eval FFT cost pins
johnchandlerburnham Oct 31, 2026
e7c691a
Update generated CUDA trace bundle and fix kernel_egress clippy lints
johnchandlerburnham Oct 31, 2026
d3e3a6f
Polish documentation, audit closures, and remove dead helpers
johnchandlerburnham Oct 31, 2026
34619c5
Validate formal Aiur on CUDA and fix its pipeline bottlenecks
gabriel-barrett Oct 31, 2026
dadb7a6
Gate ix prove-binding on prover RAM budget with trace sharding
johnchandlerburnham Nov 1, 2026
04ebced
Load only Init in binding-proof-cli and release leanEnv before proving
johnchandlerburnham Nov 1, 2026
c6dc6d6
Formalize nominal-to-quotient Source bridge and optimize compiler/kernel
johnchandlerburnham Nov 1, 2026
00231a2
Retire Rust compiler, out-of-circuit kernel, and uncertified Lean pip…
johnchandlerburnham Nov 1, 2026
05cc396
Drop retired crates/kernel/src/role_admission/specs.rs from ix codegen
johnchandlerburnham Nov 2, 2026
dea451b
Certify Formal Aiur, retire legacy Aiur/IxVM, and prove IxVM-to-IxC c…
johnchandlerburnham Nov 3, 2026
023cf83
Merge main into jcb/ix-certified-v3
johnchandlerburnham Nov 3, 2026
ee7d69b
fix(compile): fall back to embedded Certs.lean in nativeCertSource
johnchandlerburnham Nov 3, 2026
990ec1d
Forbid self-assumption and duplicate discharge in claims and aggregation
johnchandlerburnham Nov 3, 2026
e8ee6f7
perf(aiur,ixvm,aggr): single-pass checked byte stream, shrink circuit…
johnchandlerburnham Nov 3, 2026
09ee682
perf(compile,kernel): bound repeated compiler and kernel validation work
johnchandlerburnham Nov 3, 2026
3c9d2ea
Merge jcb/ix-certified-v3 into jcb/ix-certified-v3-followup
johnchandlerburnham Nov 3, 2026
d7e0579
Back out the IxVM-to-IxC correspondence from the formal Aiur merge
johnchandlerburnham Nov 4, 2026
ac14262
Merge main and prune test suites subsumed by pipeline certification
johnchandlerburnham Nov 5, 2026
4fcb6c7
Update IxVM FFT cost pins after merging main
johnchandlerburnham Nov 5, 2026
bdae242
Remove unused ShardMap library, test suite, and benchmark
johnchandlerburnham Nov 5, 2026
f13e7f0
Address PR #677 review findings: fix initstd-reference, bench ooc, ag…
johnchandlerburnham Nov 5, 2026
c9575dc
Support custom user axioms in IxC and check-lean; address follow-up r…
johnchandlerburnham Nov 5, 2026
956a5a9
kernel-check-ixe pool: record each record's checks in a fresh accumul…
johnchandlerburnham Nov 5, 2026
4c32b33
Delete the unused streamed source-graph front end
johnchandlerburnham Nov 5, 2026
e349922
Delete dead Lean definitions in CanonM, Ixon and CompileCertified
johnchandlerburnham Nov 5, 2026
0f426ce
Share the certified compile's finalization across the compile commands
johnchandlerburnham Nov 5, 2026
c8a21ac
Delete the ix-bench crate and dead Rust functions and dependencies
johnchandlerburnham Nov 5, 2026
6c419f5
Delete the never-called shardManifestFromPartition chain
johnchandlerburnham Nov 5, 2026
840be71
Fix stale references to the retired Rust kernel and compiler
johnchandlerburnham Nov 5, 2026
b04f901
kernel-check-ixe: strict by default, --allow-user-axioms on every dri…
johnchandlerburnham Nov 5, 2026
098775c
check-lean: strict by default, a CONDITIONAL verdict for --allow-user…
johnchandlerburnham Nov 5, 2026
d99d62b
Test the user-axiom path and check-lean's --json rows
johnchandlerburnham Nov 5, 2026
bfc4599
Exploits: pin the empty owned-tree refusal; strict axiom policy text
johnchandlerburnham Nov 5, 2026
9968248
docs: user axioms, check-lean and the kernel-check-ixe flag
johnchandlerburnham Nov 5, 2026
0febc88
Delete Ix.CanonM.canonEnv and audit the CLI compile at compileAndFina…
johnchandlerburnham Nov 5, 2026
a987aaa
kernel-check driver: remove dead pool plumbing
johnchandlerburnham Nov 5, 2026
b2901de
kernel-check stream: tie the pre-read to lowerDefinition, retain fewe…
johnchandlerburnham Nov 5, 2026
aa33553
kernel-record-check: check Row.jsonLine against Row.json
johnchandlerburnham Nov 5, 2026
3c04748
IxC: one axiom policy for the strict and the user-axiom fold
johnchandlerburnham Nov 5, 2026
f48ca90
IxC: replace the vacuous conditional theorems with T1 and its corolla…
johnchandlerburnham Nov 5, 2026
5b850b2
IxC audit: roots, runtime closure and statement pins of the user-axio…
johnchandlerburnham Nov 5, 2026
4cb11ff
Blake3 file digests: Ix.FileDigest.blake3File
johnchandlerburnham Nov 5, 2026
ae99ad8
initstd-reference: pin the strict verdicts and the Blake3 digest
johnchandlerburnham Nov 5, 2026
985b92c
Benchmark tools: Blake3 digests instead of SHA-256
johnchandlerburnham Nov 5, 2026
8164f49
kernel-check context: run check-lean's preparation with a parallel de…
johnchandlerburnham Nov 5, 2026
17be751
kernel-check stream: decode from per-record copies; persist the setup…
johnchandlerburnham Nov 5, 2026
ee5692c
compile-lean: start the certificate compile beside the source compile
johnchandlerburnham Nov 5, 2026
f0bddb8
docs: an artifact with no binding is refused with --allow-user-axioms…
johnchandlerburnham Nov 5, 2026
2c71ba2
ready queue: release published candidates off the publication thread
johnchandlerburnham Nov 5, 2026
056a759
Run the primary tier once in Nix CI and drop the flake's clippy and n…
johnchandlerburnham Nov 5, 2026
6ae9bcb
Give the Valgrind job an ffi-tests executable
johnchandlerburnham Nov 5, 2026
7e35140
Build the certification freeze in check-kernel, not in the test binary
johnchandlerburnham Nov 5, 2026
bbb07f8
Build the merge-test targets once per merge group
johnchandlerburnham Nov 5, 2026
34cd3dc
Run binding-proof-cli in the compiler-closures partition
johnchandlerburnham Nov 5, 2026
ba0b0cb
Compile compile-determinism's fixture with --local
johnchandlerburnham Nov 5, 2026
3345acc
Balance admission-hash-diff's tasks and add its Init+Std leg
johnchandlerburnham Nov 5, 2026
d597862
Compile the reader-fidelity fixture closure once per process
johnchandlerburnham Nov 5, 2026
07e420c
Run the checks of ixon and exact-sharing concurrently
johnchandlerburnham Nov 5, 2026
7ddb75b
Update the CI docs and fix stale landing and Rust wording
johnchandlerburnham Nov 5, 2026
81525ad
Tests: kernel-level checks of the user-axiom fold and its role-table …
johnchandlerburnham Nov 5, 2026
bfa908e
IxC audit: describe the user-axiom closure in the roots' docstring
johnchandlerburnham Nov 5, 2026
a0dcb6d
Merge branch 'jcb/pr677-cli-axioms' into jcb/pr677-axiom-wiring
johnchandlerburnham Nov 5, 2026
89222ff
Let compile-export bind another toolchain's roles where its export pu…
johnchandlerburnham Nov 5, 2026
3f9d649
Test that another toolchain's export binds its own roles
johnchandlerburnham Nov 5, 2026
f34ba8c
Move record-decoding's store refusals into kernel-record-check
johnchandlerburnham Nov 5, 2026
4c1e5f5
Document the suites retired with the Rust compiler and kernel
johnchandlerburnham Nov 5, 2026
b67bc7d
docs/ci.md: retired suites, including those subsumed by certification
johnchandlerburnham Nov 5, 2026
6a2c4e1
Add a history of the retired Rust implementations
johnchandlerburnham Nov 5, 2026
7583a1d
State the sharing design docs against the Lean implementation
johnchandlerburnham Nov 5, 2026
5dbd6ce
Describe kernel identity, canonicity and resources without the Rust k…
johnchandlerburnham Nov 5, 2026
58b6029
Drop references to the retired Rust sharing port from Lean comments
johnchandlerburnham Nov 5, 2026
2adfcc9
IxC: make the user-axiom T1 theorems a module, the model theorem apart
johnchandlerburnham Nov 5, 2026
ad4feeb
compile-lean: prefetch certificates only for whole-environment compil…
johnchandlerburnham Nov 5, 2026
b48cb46
check-lean: one run of the kernel's user-axiom entry, its list and T1…
johnchandlerburnham Nov 5, 2026
bf41784
Tests: the flag's certified run issues the strict run's statement
johnchandlerburnham Nov 5, 2026
f3da189
Closure suites: read the typing tier's typed rows
johnchandlerburnham Nov 5, 2026
a4390ea
canon-closure-aux: type-check seeds in artifacts IxC can read
johnchandlerburnham Nov 5, 2026
f1b06d1
kernel-tutorial: compile bad cases alone; IxC verdicts for four fixtu…
johnchandlerburnham Nov 5, 2026
3152d3c
Merge branch 'jcb/pr677-docs' into jcb/pr677-integ
johnchandlerburnham Nov 5, 2026
7ac1b9d
Merge branch 'jcb/pr677-ci' into jcb/pr677-integ
johnchandlerburnham Nov 5, 2026
b73e6d5
Merge branch 'jcb/pr677-suites-trim' into jcb/pr677-integ
johnchandlerburnham Nov 5, 2026
4dbe6ef
Merge branch 'jcb/pr677-perf' into jcb/pr677-integ
johnchandlerburnham Nov 5, 2026
59dae95
canon-closure-aux: pin the recursor check on alpha-equivalent families
johnchandlerburnham Nov 5, 2026
a814a88
compileAndFinalize: keep the prefetch's finally outside the finalize try
johnchandlerburnham Nov 5, 2026
c0de7e1
Merge branch 'jcb/pr677-closures' into jcb/pr677-integ
johnchandlerburnham Nov 5, 2026
2d25a7b
kernel-tutorial: treat the nested-occurrence fixture as a corner case…
johnchandlerburnham Nov 5, 2026
3fc623b
Merge branch 'jcb/pr677-axiom-wiring' into jcb/pr677-integ
johnchandlerburnham Nov 5, 2026
1a9ccb4
docs/kernel.md: the certified entry has no fallback checker
johnchandlerburnham Nov 5, 2026
43cef5b
docs: withdraw the unmeasured certified-compiler timings and record c…
johnchandlerburnham Nov 5, 2026
a236e87
Delete IxSharingVerify.UniformCappedSize, the retired Rust cap's arit…
johnchandlerburnham Nov 5, 2026
1212a2e
Sharing limit overrides: drop the retired Rust port's keys
johnchandlerburnham Nov 5, 2026
f26527a
ixon: delete the Rust CompileError and DecompileError, which nothing …
johnchandlerburnham Nov 5, 2026
d37814c
Regenerate RoleData: Blake3 provenance and the current Init's closure…
johnchandlerburnham Nov 5, 2026
651ab0a
docs: cite the measured Init+Std compile time; drop a retired env var…
johnchandlerburnham Nov 5, 2026
cc78388
Merge branch 'jcb/pr677-followups' into jcb/pr677-integ
johnchandlerburnham Nov 5, 2026
54678e1
Restore the riscv64 build of ix-common and ixon
johnchandlerburnham Nov 5, 2026
b31daeb
Delete the dead conditional-model user-axiom definitions
johnchandlerburnham Nov 5, 2026
b5cc299
IxC audit: freeze the statement of checkBytesTieredUsingUnder_strict
johnchandlerburnham Nov 5, 2026
21d7e35
Delete SerializeError and the FFI builders nothing calls
johnchandlerburnham Nov 5, 2026
8286d21
Remove unused Cargo dependencies
johnchandlerburnham Nov 5, 2026
9f5bda1
Delete the input-contract .const fixtures nothing reads
johnchandlerburnham Nov 5, 2026
4ddc06b
docs: drop references to the Rust kernel, kernel-codec and truthmines…
johnchandlerburnham Nov 5, 2026
ad6724e
Fix comments that describe the retired Rust kernel and compiler
johnchandlerburnham Nov 5, 2026
e5dd2c9
Artifact audit: guard the axioms of the parallel record decoding theo…
johnchandlerburnham Nov 5, 2026
96d199f
finalize: start the certificate compile once its roles are known and …
johnchandlerburnham Nov 5, 2026
3175a88
ready queue: hand the last released candidates off in drain
johnchandlerburnham Nov 5, 2026
40ca7f8
ix compile: prefetch the certificates of a whole-environment compile
johnchandlerburnham Nov 5, 2026
138aad7
kernel-check stream: mark the setup persistent only when the caller asks
johnchandlerburnham Nov 5, 2026
d25e398
check-lean: list only the user axioms whose records a run accepted
johnchandlerburnham Nov 5, 2026
e187a00
check-lean --json: a row's status names the run's exit
johnchandlerburnham Nov 5, 2026
e994d3e
blake3File: read at least one byte at a time
johnchandlerburnham Nov 5, 2026
4e50b09
docs: a check-lean row's status is its verdict, also when no host sta…
johnchandlerburnham Nov 5, 2026
695d3de
Merge branch 'jcb/pr677-r2-kernel' into jcb/pr677-integ
johnchandlerburnham Nov 5, 2026
4e63026
Merge branch 'jcb/pr677-r2-host' into jcb/pr677-integ
johnchandlerburnham Nov 5, 2026
38f0340
Merge branch 'jcb/pr677-r2-rust' into jcb/pr677-integ
johnchandlerburnham Nov 5, 2026
280c2ac
Merge KZG proof compression (#675) bridged to formal Aiur
johnchandlerburnham Nov 5, 2026
fb8e986
Squash PR #677 (jcb/ix-certified-v3-followup at 38f034062)
johnchandlerburnham Nov 5, 2026
20c4395
Merge squashed #677 (38f034062) into certified-ixvm
johnchandlerburnham Nov 5, 2026
b1f6699
Record #677 (38f034062) as merged
johnchandlerburnham Nov 6, 2026
075b49e
fix(ixvm): match on loaded owned tree instead of pointer inequality i…
johnchandlerburnham Nov 6, 2026
acfc741
Merge #677 (075b49e07) into certified-ixvm
johnchandlerburnham Nov 6, 2026
fbc241f
Fix CI: rustfmt and generator sources in shallow checkouts
johnchandlerburnham Nov 6, 2026
49e536e
Fix Nix CI: skip building the mathlib-only Lake packages
johnchandlerburnham Nov 6, 2026
a1401a6
fix(tests): invoke diffCmd in-process in FFI suite so standalone ffi-…
johnchandlerburnham Nov 6, 2026
e1ac032
Fix Nix olean path, Formal Aiur functionChannel, bench CI, and audit.py
johnchandlerburnham Nov 6, 2026
976f757
Make RoleSpecGen.renderFormalAiur self-sufficient and check via ix co…
johnchandlerburnham Nov 6, 2026
45ebe7c
Fix Blake3.addressToFields to match 32-field layout and complete Aiur…
johnchandlerburnham Nov 6, 2026
fe802fa
Fix ix-prover per-job device routing and clean up stale legacy refere…
johnchandlerburnham Nov 6, 2026
33dd1ca
test(ixvm): update FFT cost pins for run_check_env owned-tree load check
johnchandlerburnham Nov 6, 2026
4e2c66e
Merge #677's final commits (33dd1cae3) into certified-ixvm
johnchandlerburnham Nov 6, 2026
8e8a108
Record #677's squash on main (3d725c8c0) as merged
johnchandlerburnham Nov 6, 2026
6696cbf
Pin the IxVM adapter to main's #677 squash (3d725c8c0)
johnchandlerburnham Nov 6, 2026
965b971
Merge local review fixes (jcb/pr678-review-fixes) into certified-ixvm
johnchandlerburnham Nov 7, 2026
e5fdfab
Restore main's STARK parameters and enforce a security floor
johnchandlerburnham Nov 7, 2026
0f0057a
Retire the aiur bench runner and undo the Legacy* comment rename
johnchandlerburnham Nov 7, 2026
2fa1b51
Tighten ix prove/check/refine flags and fail clearly outside a checkout
johnchandlerburnham Nov 7, 2026
16e4a63
Port the FRI security estimator to Lean
johnchandlerburnham Nov 7, 2026
b919c57
Document the STARK parameters, their security and the floor
johnchandlerburnham Nov 7, 2026
8a4c66f
Enforce warning-free Aiur packages and sweep every Aiur constant's ax…
johnchandlerburnham Nov 7, 2026
209b676
State the Aiur trust boundary and call Lean models models
johnchandlerburnham Nov 7, 2026
c7604fd
Validate distributed owned keys against check_owned's arity
johnchandlerburnham Nov 7, 2026
abdacac
Port the grouping search to Lean and drop raw benchmark data
johnchandlerburnham Nov 7, 2026
5bf2f7b
Remove the orphaned CUDA trace manifest and stale generated-file rules
johnchandlerburnham Nov 7, 2026
c28c539
Default the formal test drivers to a fresh temporary directory
johnchandlerburnham Nov 7, 2026
56f26b0
Bring the Aiur docs in line with the formal-only backend
johnchandlerburnham Nov 7, 2026
6141218
Pass refine's clamped concurrency to ix check
johnchandlerburnham Nov 7, 2026
fe82fae
Fix grouping_search types and helper names
johnchandlerburnham Nov 7, 2026
e00ff08
Note ix check --json's rejection exit code in the migration guide
johnchandlerburnham Nov 7, 2026
f8296c9
Record the FRI parameter candidates and keep main's parameters
johnchandlerburnham Nov 7, 2026
90fe85d
Fix the workspace lints in the formal Aiur crates
johnchandlerburnham Nov 7, 2026
03a7fb3
Walk axioms once with a shared cache in axiom_sweep
johnchandlerburnham Nov 7, 2026
eabe18f
Build claim witnesses in linear time
johnchandlerburnham Nov 7, 2026
305bdbe
Check rejection reasons in the hosts' case modes
johnchandlerburnham Nov 7, 2026
4afa86e
Restore the IxVM test suites on the formal IxVM program
johnchandlerburnham Nov 7, 2026
2081c61
Test aggregation shapes 13 to 16
johnchandlerburnham Nov 7, 2026
14bca8f
Port the formal check drivers from Python to Lean
johnchandlerburnham Nov 7, 2026
6e5ad45
Point the TagN coverage docs at the restored suite
johnchandlerburnham Nov 7, 2026
d9fd18a
Serialize compiled Aiur artifacts in Ixon instead of JSON
johnchandlerburnham Nov 7, 2026
fd34253
Content-address Aiur artifacts and pin their digests in ix
johnchandlerburnham Nov 7, 2026
a1020cb
Merge jcb/pr678-params: restore main's STARK parameters and enforce a…
johnchandlerburnham Nov 7, 2026
4f2cd82
Merge jcb/pr678-tests: restore the IxVM suites and aggregation shapes…
johnchandlerburnham Nov 7, 2026
4d98962
Merge jcb/pr678-ixon: serialize Aiur artifacts in Ixon and content-ad…
johnchandlerburnham Nov 7, 2026
02d256c
Merge jcb/pr678-fixes: CLI, CI, docs and lint cleanup
johnchandlerburnham Nov 7, 2026
e996d02
Embed Aiur's module language as Lean syntax
johnchandlerburnham Nov 7, 2026
15f8cd4
Write IxVM's modules as Lean files
johnchandlerburnham Nov 7, 2026
85e935e
Write MultiStark's modules as Lean files
johnchandlerburnham Nov 7, 2026
4e4a4bc
Key compiled artifacts by program digest
johnchandlerburnham Nov 7, 2026
549ddc5
Retire the IxVM and MultiStark port generators
johnchandlerburnham Nov 7, 2026
210429c
Render KernelRoleSpec as a Lean module
johnchandlerburnham Nov 7, 2026
68d658c
Document the Lean module sources
johnchandlerburnham Nov 7, 2026
77b827d
Merge jcb/pr678-dsl: IxVM and MultiStark as embedded Lean syntax
johnchandlerburnham Nov 7, 2026
bde5603
Add embedded forms of aiur_library%
johnchandlerburnham Nov 7, 2026
70dfd2d
Write the Aiur library modules as Lean syntax
johnchandlerburnham Nov 7, 2026
931a24e
Move host invocations and case files to Ixon
johnchandlerburnham Nov 7, 2026
4f4119f
Return the Aiur FFI execution record in Ixon
johnchandlerburnham Nov 7, 2026
590aac2
Satisfy the workspace lints in the Aiur artifact codecs
johnchandlerburnham Nov 7, 2026
46be209
Retire formal-checks refactor
johnchandlerburnham Nov 7, 2026
f4202f2
Commit the specification digest to everything the circuit renders
johnchandlerburnham Nov 7, 2026
7c34168
Satisfy the workspace lints in the Aiur artifact codecs
johnchandlerburnham Nov 7, 2026
66fd022
Document the embedded library forms
johnchandlerburnham Nov 7, 2026
0277874
Merge branch 'jcb/pr678-integrate' into jcb/pr678-dsl
johnchandlerburnham Nov 7, 2026
bac35c8
Regenerate the pins of the widened specification digest
johnchandlerburnham Nov 7, 2026
1faac61
Merge branch 'jcb/pr678-integrate' into jcb/pr678-spec
johnchandlerburnham Nov 7, 2026
e899243
Name roles by index in the schedule's order errors
johnchandlerburnham Nov 7, 2026
0a7c3a3
Refreeze the host-admission closure at 7542 compiled functions
johnchandlerburnham Nov 7, 2026
a29c1ba
Record that the library conversion changed no program
johnchandlerburnham Nov 7, 2026
5b54afe
Merge branch 'jcb/pr678-dsl' into jcb/pr678-integrate
johnchandlerburnham Nov 7, 2026
c248856
Merge branch 'jcb/pr678-ixon' into jcb/pr678-integrate
johnchandlerburnham Nov 7, 2026
410ece0
Signal the scheduler self-test's sibling through a promise
johnchandlerburnham Nov 7, 2026
09cad78
Render KernelRoleSpec from the specification digest's bytes alone
johnchandlerburnham Nov 7, 2026
017823f
Refreeze the host-admission closure at 7544 compiled functions
johnchandlerburnham Nov 7, 2026
a882373
Require mutated specification bytes to change the rendered tables
johnchandlerburnham Nov 7, 2026
ed5e0c5
Break down the host-admission closure at 7544 compiled functions
johnchandlerburnham Nov 7, 2026
7b480a3
Write the compression root layout in Ixon
johnchandlerburnham Nov 7, 2026
e22886e
Refuse to export a plan that fails Plan.WellFormedActivation
johnchandlerburnham Nov 8, 2026
bd6db6b
Check the Lean BLAKE3 model against the official test vectors
johnchandlerburnham Nov 8, 2026
d906b3d
Freeze the acyclicity hypotheses with their proofs printed
johnchandlerburnham Nov 8, 2026
d02377f
Merge remote-tracking branch 'origin/main' into jcb/pr678-integrate
johnchandlerburnham Nov 8, 2026
72dfb80
Derive a compression release's pins without a proof
johnchandlerburnham Nov 7, 2026
32a2edd
Check a compression's statement against the release before proving
johnchandlerburnham Nov 7, 2026
d95f3ec
Merge commit 'ed5e0c556' into jcb/pr678-params
johnchandlerburnham Nov 8, 2026
4483ece
Regenerate the 0.2 recursive key for the formal aggregation backend
johnchandlerburnham Nov 7, 2026
9c44496
Regenerate the 0.2 PLONK and Groth16 keys for the new recursive key
johnchandlerburnham Nov 8, 2026
e0100fc
Test that the release keys accept the formal backends
johnchandlerburnham Nov 7, 2026
c8029ad
Document the 0.2 compression release and how to derive it
johnchandlerburnham Nov 8, 2026
e339ca8
Merge branch 'jcb/pr678-params' into jcb/pr678-integrate
johnchandlerburnham Nov 8, 2026
c581b2a
State what the library correctness theorems cover
johnchandlerburnham Nov 8, 2026
0302059
Drop bench-typecheck from the benchmark build comments
johnchandlerburnham Nov 8, 2026
22413c4
ci: give lean-test a 100 GB sticky disk on a fresh lineage
johnchandlerburnham Nov 8, 2026
b38e719
ci: fetch Mathlib's cache only in lean-test
johnchandlerburnham Nov 8, 2026
0ef9d37
Fix the workspace lints in aiur's CUDA-gated code
johnchandlerburnham Nov 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
25 changes: 1 addition & 24 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,28 +1,5 @@
# Generated files: GitHub collapses them in diffs and leaves them out of the
# language statistics. Each is regenerated by the tool named above it; CI checks
# the codegen and the trace bundle against their generators (`--check`).

# Aiur codegen of the IxVM, ix_aggr and multi-stark programs (`ix codegen`)
crates/ixvm-codegen/src/aiur_ixvm.rs linguist-generated=true
crates/ixvm-codegen/src/aiur_ix_aggr.rs linguist-generated=true
crates/ixvm-codegen/src/aiur_multi_stark.rs linguist-generated=true

# Trace writers, CUDA units and their manifest (`ix codegen --trace-bundle`)
crates/aiur/src/trace_codegen/programs/ixvm.rs linguist-generated=true
crates/aiur/src/trace_codegen/programs/ixvm_cuda.rs linguist-generated=true
crates/aiur/src/trace_codegen/programs/ix_aggr.rs linguist-generated=true
crates/aiur/src/trace_codegen/programs/ix_aggr_cuda.rs linguist-generated=true
crates/aiur/src/trace_codegen/programs/multi_stark.rs linguist-generated=true
crates/aiur/src/trace_codegen/programs/multi_stark_cuda.rs linguist-generated=true
crates/aiur/cuda/generated/production/** linguist-generated=true

# Trace-codegen test fixtures (`lake exe trace-fixtures`)
crates/aiur/src/trace_codegen/tests/generated.rs linguist-generated=true
crates/aiur/src/trace_codegen/tests/generated_cuda.rs linguist-generated=true
crates/aiur/src/trace_codegen/tests/blake3.rs linguist-generated=true
crates/aiur/src/trace_codegen/tests/blake3_cuda.rs linguist-generated=true
crates/aiur/cuda/generated/blake3.cu linguist-generated=true
crates/aiur/cuda/generated/fixtures.cu linguist-generated=true
# language statistics. Each is regenerated by the tool named above it.

# AuxGen's frozen reference outputs; the decoder beside them is hand-written
Tests/Ix/AuxGen/Reference/*.lean linguist-generated=true
Expand Down
24 changes: 10 additions & 14 deletions .github/workflows/bench-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ name: Benchmark main
# parameter combination — the same command you can run locally, and the
# same one the !benchmark PR workflow uses. Four job roles:
#
# 1. build — compiles and caches `ix` and `bench-typecheck` once.
# 1. build — compiles and caches `ix` once.
# 2. plan — `ix bench ci matrix` prints the list of parameter
# combinations to run. The list comes from the registry
# (Ix/Cli/BenchCmd.lean) and each entry already carries
Expand All @@ -14,7 +14,7 @@ name: Benchmark main
# 3. compile — compiles each Lean env to a `.ixe` file (this IS the
# compile benchmark) and caches the file for `benchmark`.
# 4. benchmark — one job per remaining entry: restore the `.ixe` and
# run the entry's backend over it (aiur, ooc, decompile).
# run the entry's backend over it (aiur-sharded-env, ooc, decompile).
#
# Each entry uploads to its own bencher testbed/workload, so a threshold
# reset for one workload never touches another. When the kernel REJECTS a
Expand All @@ -41,8 +41,8 @@ env:
COMPILE_DIR: Benchmarks/Compile

jobs:
# Build the `ix` and `bench-typecheck` binaries once and cache them;
# every later job restores them instead of rebuilding. They are built
# Build the `ix` binary once and cache it;
# every later job restores it instead of rebuilding. It is built
# with native code generation for r8i, with caches and measured results
# isolated from other hardware and compiler flags.
build:
Expand Down Expand Up @@ -80,9 +80,6 @@ jobs:
- run: |
mkdir -p ~/.local/bin
echo | lake run install # copies ix -> ~/.local/bin/ix
lake build bench-typecheck
cp .lake/build/bin/bench-typecheck ~/.local/bin/
chmod +x ~/.local/bin/bench-typecheck
- uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: ~/.local/bin
Expand Down Expand Up @@ -154,7 +151,7 @@ jobs:
include:
- { env: InitStd }
- { env: Lean }
# Init+Std+Lean+Batteries: the aiur-sharded-env (whole-env Aiur
# Init+Std+Lean+Batteries: the aiur-sharded-env (whole-env formal Aiur
# execution) benchmark's fast tier. Batteries builds from the
# shared Compile package; no mathlib cache needed.
- { env: ISLB }
Expand Down Expand Up @@ -267,17 +264,16 @@ jobs:
# the compile job's cached `.ixe` — nothing recompiles here.
#
# What each backend measures:
# - aiur: the proof pipeline — per constant, every stage plus the
# total: prove the IxVM typecheck (stage 1), then execute and
# prove the in-circuit multi-stark verifier over that fresh proof
# (stage 2); the KZG stages will fold in as they land. One
# subprocess per constant under the RAM watchdog; a too-large
# prove is killed and recorded as a `status: oom` row.
# - aiur-sharded-env: whole-env formal Aiur execution over a sharded
# manifest — every leaf executed and its proof planned against the
# runner's RAM budget, over-budget leaves split. One row per env.
# - ooc: the same kernel run out-of-circuit and in parallel (much
# faster). One whole-env row plus one row per constant.
# - decompile: the inverse of compile. Roundtrip correctness is
# checked elsewhere (`ix validate` / roundtrip tests) — this only
# measures speed and memory.
# The per-constant proof pipeline (`aiur`) is disabled in the registry:
# its tool, `bench-typecheck`, was retired with the legacy backend.
benchmark:
name: ${{ matrix.params.label }}
needs: [compile, plan]
Expand Down
41 changes: 18 additions & 23 deletions .github/workflows/bench-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# The base is the PR's own base branch — main for an unstacked PR, the
# parent PR's head for a stacked one — and the report is labelled with it.
#
# !benchmark ([aiur] [ooc] [compile] [decompile] | all) [execute]
# !benchmark ([aiur-sharded-env] [ooc] [compile] [decompile] | all)
# BENCH_ENVS=InitStd,Mathlib # which compiled envs (case-insensitive, any registry env;
# # defaults to every env for compile/decompile, InitStd
# # for the rest)
Expand All @@ -14,7 +14,7 @@
# # — so BENCH_ENVS is never required; a single-env
# # BENCH_ENVS still forces placement
# BENCH_PHASES=1 # add per-constant phase drill-downs to the comment
# BENCH_TRACE_SHARDS=<GiB> # aiur prove: plan each constant's proof as trace shards
# BENCH_TRACE_SHARDS=<GiB> # aiur prove (disabled): plan each constant's proof as trace shards
# # within this per-constant RAM budget (0: detect) and
# # report `ixvm-trace-shards`; a base checkout that
# # predates the flag proves whole
Expand All @@ -32,16 +32,11 @@
# # (default: 131072)
#
# Each backend runs its registry default mode:
# - aiur: `prove` — the full proof pipeline per constant (stage 1
# proves the IxVM typecheck, stage 2 executes and proves the
# in-circuit multi-stark verifier over that fresh proof), reported
# as one comparison table per stage — witness execute, prove, peak
# RAM, proof size, verify — closing with the pipeline ledger (total
# time and the run's RAM ceiling). BENCH_CONSTS overrides the shared
# selection. The bare `execute`
# token switches it to the fast Phase-1-only mode (witness
# generation; no bencher baseline exists for that, so the base side
# comes from a base-SHA run).
# - aiur: disabled. Its per-constant proof pipeline ran on the retired
# legacy backend's `bench-typecheck`; a bare `!benchmark`, which
# requests it, is rejected until a formal Aiur pipeline replaces it.
# - aiur-sharded-env: `execute` — whole-env formal Aiur execution and
# proof planning over a sharded manifest (`ix check --ram-budget`).
# - ooc: `execute`.
# - compile: `ix compile <env>.lean` → `<env>.ixe`.
# - decompile: `ix decompile` over the compile run's fresh `.ixe`.
Expand Down Expand Up @@ -92,7 +87,7 @@ on:
description: Full head SHA to benchmark
required: true
comment-body:
description: "The !benchmark command; single-line KEY=VALUE config, e.g. `!benchmark aiur BENCH_ENVS=InitStd,Mathlib`"
description: "The !benchmark command; single-line KEY=VALUE config, e.g. `!benchmark ooc BENCH_ENVS=InitStd,Mathlib`"
required: true

run-name: "${{ github.event_name == 'workflow_dispatch' && format('Benchmark PR #{0} (r8i.8xlarge)', inputs.pr) || 'Relay benchmark comment' }}"
Expand Down Expand Up @@ -152,8 +147,8 @@ jobs:
-f head-sha="$HEAD_SHA" \
-f comment-body="$COMMENT_BODY"

# Select or build the PR's `ix` and `bench-typecheck` once, then
# publish them as a run-scoped
# Select or build the PR's `ix` once, then
# publish it as a run-scoped
# artifact for every later job. Normal runs may select a persistent
# head-SHA cache. A cached `ix` may bootstrap command parsing, but `fresh`
# replaces the full bundle before it is published to benchmark jobs.
Expand Down Expand Up @@ -249,9 +244,9 @@ jobs:
- name: Build benchmark binaries
if: steps.parse.outputs.fresh == '1' || steps.bins.outputs.cache-hit != 'true'
run: |
lake build ix bench-typecheck
cp .lake/build/bin/ix .lake/build/bin/bench-typecheck ~/.local/bin/
chmod +x ~/.local/bin/ix ~/.local/bin/bench-typecheck
lake build ix
cp .lake/build/bin/ix ~/.local/bin/
chmod +x ~/.local/bin/ix
- if: steps.parse.outputs.fresh != '1' && steps.bins.outputs.cache-hit != 'true'
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
Expand All @@ -260,7 +255,7 @@ jobs:
- name: Package run binaries
run: >-
tar -C "$HOME/.local/bin" -cf benchmark-binaries.tar
ix bench-typecheck
ix
- name: Upload run binaries
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
Expand Down Expand Up @@ -751,8 +746,8 @@ jobs:
&& cmp -s lean-toolchain base/lean-toolchain; then
if [ "$BENV" != Mathlib ] || [ "$ixe" = true ]; then
mkdir -p base/.lake/build/bin
mv ~/.local/bin/ix ~/.local/bin/bench-typecheck base/.lake/build/bin/ 2>/dev/null || true
[ -x base/.lake/build/bin/ix ] && [ -x base/.lake/build/bin/bench-typecheck ] \
mv ~/.local/bin/ix base/.lake/build/bin/ 2>/dev/null || true
[ -x base/.lake/build/bin/ix ] \
&& cached=true
fi
fi
Expand All @@ -777,14 +772,14 @@ jobs:
uses: $/.github/actions/log-cpu
with:
label: Base benchmark binary build CPU
- name: Build base (ix, bench-typecheck)
- name: Build base (ix)
if: steps.decide.outputs.run-base == 'true' && steps.base-src.outputs.cached != 'true'
uses: leanprover/lean-action@50fcf42d2e460296f1a34b402e990d1b24f8b596 # v1.6.0
with:
lake-package-directory: base
auto-config: false
build: true
build-args: "ix bench-typecheck"
build-args: "ix"
use-github-cache: false
# For a mathlib-importing env (Mathlib, FLT), the base-side compile
# resolves imports from the base tree's Benchmarks/Compile
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/bencher-thresholds-reset.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ name: Bencher thresholds reset
# cancel by removing it before merge. Naming convention: one label per token,
# `bencher-thresholds-reset:<token>` where <token> is a workload (a backend
# testbed stem in Ix/Cli/BenchCmd.lean (backendSpecs):
# `ix-compile-certified`, `ix-decompile`, `aiur`, `ooc-check`) or
# `ix-compile-certified`, `ix-decompile`, `aiur-sharded-env-check`, `ooc-check`) or
# `all` (the merge step expands an `all` label into every workload). Labeling
# requires Triage+, so PR authors from forks cannot self-queue a reset. The
# label shares the command/workflow name; the ref it moves is
Expand All @@ -43,8 +43,8 @@ on:
type: choice
# GitHub requires literal choice options, so this list stays static:
# keep it (and the jobs' valid= lists below) in sync with the
# backend testbeds in Ix/Cli/BenchCmd.lean (backendSpecs).
options: [ix-compile-certified, ix-decompile, aiur, aiur-sharded-env-check, ooc-check, all]
# enabled backend testbeds in Ix/Cli/BenchCmd.lean (backendSpecs).
options: [ix-compile-certified, ix-decompile, aiur-sharded-env-check, ooc-check, all]
sha:
description: "Commit to anchor to (default: HEAD)"
required: false
Expand Down Expand Up @@ -74,11 +74,11 @@ jobs:
MERGE_SHA: ${{ github.event.pull_request.merge_commit_sha }}
steps:
- run: |
# Workload registry: the backend testbeds in Ix/Cli/BenchCmd.lean
# (backendSpecs), before its hardware suffix. Static because this
# job runs on a cheap runner with no built `ix`; keep in sync when
# adding a backend.
valid="aiur aiur-sharded-env-check ix-compile-certified ix-decompile ooc-check"
# Workload registry: the enabled backend testbeds in
# Ix/Cli/BenchCmd.lean (backendSpecs), before their hardware suffix.
# Static because this job runs on a cheap runner with no built `ix`;
# keep in sync when adding or disabling a backend.
valid="aiur-sharded-env-check ix-compile-certified ix-decompile ooc-check"
if [ "$EVENT" = workflow_dispatch ]; then
# Reset the chosen workload(s) at the given commit; no PR scan.
sha="${INPUT_SHA:-$HEAD_SHA}"
Expand Down Expand Up @@ -137,7 +137,7 @@ jobs:
# which the merge job expands into every workload). Same static
# list as the reset job; keep both in sync with backendSpecs in
# Ix/Cli/BenchCmd.lean.
valid="aiur aiur-sharded-env-check ix-compile-certified ix-decompile ooc-check"
valid="aiur-sharded-env-check ix-compile-certified ix-decompile ooc-check"
accepted="$valid all"
# Parse the workload token(s) after the command, lowercased.
workloads=$(printf '%s' "$BODY" \
Expand Down
Loading
Loading