Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1485 commits
Select commit Hold shift + click to select a range
954b86a
Merge role validation fixes into decoder hardening
johnchandlerburnham Oct 28, 2026
727b6d4
Merge role validation with certified compilation
johnchandlerburnham Oct 28, 2026
83d8be6
Generate role evidence from its compiled support closure
johnchandlerburnham Oct 28, 2026
29e813e
Fix the malformed record refusal fixtures
johnchandlerburnham Oct 28, 2026
17d303d
Preserve certificate content checks across the full artifact
johnchandlerburnham Oct 28, 2026
bda93b2
Share the bounded parallel map and its ordering proof
johnchandlerburnham Oct 28, 2026
a481461
Integrate compiler hardening and certified benchmark checks
johnchandlerburnham Oct 28, 2026
584e717
Batch independent graph and groundedness scans
johnchandlerburnham Oct 28, 2026
b468ef2
Regenerate aggregate outputs for the corrected role table
johnchandlerburnham Oct 28, 2026
16572f9
Skip reverse references when every input is grounded
johnchandlerburnham Oct 28, 2026
fae62ca
Integrate catalog aggregation with compiler hardening
johnchandlerburnham Oct 28, 2026
8e7415a
Audit the equivalent parallel front end
johnchandlerburnham Oct 28, 2026
dbea0e5
Document the manual cross-toolchain aggregation runner
johnchandlerburnham Oct 28, 2026
d88bcbc
Rename the expression compiler and remove redundant wrappers
johnchandlerburnham Oct 28, 2026
438f48f
Follow the extracted parallel helper in the compiler audit
johnchandlerburnham Oct 28, 2026
e3786f8
Describe the certified compiler and shared parallel helpers
johnchandlerburnham Oct 28, 2026
580b26a
Integrate role specifications with the hardened compiler
johnchandlerburnham Oct 28, 2026
292ad17
Flatten Rust mutual member compilation
johnchandlerburnham Oct 28, 2026
97f31a9
Add regressions for failed block publication
johnchandlerburnham Oct 28, 2026
f72e06f
Decode canonical artifact records in bounded parallel chunks
johnchandlerburnham Oct 28, 2026
9cb3a29
Integrate parallel preparation with compiler cleanup
johnchandlerburnham Oct 28, 2026
c9e102f
Flatten ordered mutual members and their layout proofs
johnchandlerburnham Oct 28, 2026
f607ac3
Expose primitive addresses without the retired typechecker namespace
johnchandlerburnham Oct 28, 2026
cd04377
Publish complete Rust blocks only after all checks pass
johnchandlerburnham Oct 28, 2026
ff971bc
Integrate atomic publication for failed Rust compiler blocks
johnchandlerburnham Oct 28, 2026
3880664
Replace private work-queue references with semantic documentation
johnchandlerburnham Oct 28, 2026
78697e7
Resolve the postcondition before introducing member-fold runs
johnchandlerburnham Oct 28, 2026
18b3759
Describe current member and reader proof contracts
johnchandlerburnham Oct 28, 2026
ccc2537
Align flat projection rows with the production loop
johnchandlerburnham Oct 28, 2026
999432f
Remove obsolete proof-stage and scheduler commentary
johnchandlerburnham Oct 28, 2026
7273263
Separate source collection from compiled-member literal coverage
johnchandlerburnham Oct 28, 2026
0c2642a
Validate role equations and bound certificate preparation
johnchandlerburnham Oct 28, 2026
6a162c5
Replace proof-stage references with their semantic contracts
johnchandlerburnham Oct 28, 2026
ce2d437
Invert the flat source list directly in the standalone layout proof
johnchandlerburnham Oct 28, 2026
8743cdc
Update the primitive-table parity fixture namespace
johnchandlerburnham Oct 28, 2026
dbfaf39
Complete equation-checker imports and certificate result syntax
johnchandlerburnham Oct 28, 2026
9753bc1
Use the supported closure selector in the no-build CLI test
johnchandlerburnham Oct 28, 2026
32c47d2
Validate generated role equations before Rust admission
johnchandlerburnham Oct 28, 2026
0d36d63
Project compiler worker inputs before spawning wave tasks
johnchandlerburnham Oct 28, 2026
e7bcc03
Remove obsolete nested-list simplifier arguments
johnchandlerburnham Oct 28, 2026
b3d4a0c
Name the Tarjan proof modules by their invariants
johnchandlerburnham Oct 28, 2026
4711206
Disambiguate the primitive namespace in the parity fixture
johnchandlerburnham Oct 28, 2026
6e59d11
Add a gate for generated role artifacts
johnchandlerburnham Oct 28, 2026
9ccf1d1
Integrate checked equation evidence with Rust role admission
johnchandlerburnham Oct 28, 2026
b2ff976
Integrate worker projection with flat compiler APIs
johnchandlerburnham Oct 28, 2026
c0fa619
Keep generated Rust role specifications in the codegen checks
johnchandlerburnham Oct 28, 2026
018e516
Guard bound native reductions with admitted role equations
johnchandlerburnham Oct 28, 2026
432d76f
Cover helpers used only by equation anchors
johnchandlerburnham Oct 29, 2026
be6676a
Recognize root-qualified retired namespace opens
johnchandlerburnham Oct 29, 2026
1689a44
Regenerate the full role table and checked equation closure
johnchandlerburnham Oct 28, 2026
ece02cc
Check anchor and specification support before role admission
johnchandlerburnham Oct 29, 2026
8674362
Document the certified compiler and source-order representation
johnchandlerburnham Oct 29, 2026
fd9f505
Normalize the worker frame proof beneath the universe guard
johnchandlerburnham Oct 29, 2026
0118f1c
Emit bounded fixture literals and refresh the role-shape audit
johnchandlerburnham Oct 29, 2026
fa5f5e0
Emit large fixture chunks as separate definitions
johnchandlerburnham Oct 29, 2026
4e2f1c9
Integrate complete role-support validation and dependency guards
johnchandlerburnham Oct 29, 2026
f2260a8
Regenerate bounded initializers for the checked role fixture
johnchandlerburnham Oct 29, 2026
e93f8f1
Attribute expanded role specifications in the runtime audits
johnchandlerburnham Oct 29, 2026
cfb9a67
Validate admitted native operations with complete support checks
johnchandlerburnham Oct 29, 2026
724fcb1
Integrate equation-validated String and BitVec native operations
johnchandlerburnham Oct 29, 2026
1635cef
Integrate certified compiler cleanup and complete role validation
johnchandlerburnham Oct 29, 2026
767c116
Use the known representative equation in the role-reading proof
johnchandlerburnham Oct 29, 2026
5410913
Freeze the composed specification encoding after axiom-family fixes
johnchandlerburnham Oct 29, 2026
b22e297
Keep experimental benchmark artifacts outside production source
johnchandlerburnham Oct 29, 2026
c5efc22
Integrate the measured specification digest and reading-proof fix
johnchandlerburnham Oct 29, 2026
19dd438
Regenerate circuit backends for the expanded role specifications
johnchandlerburnham Oct 29, 2026
5147754
Integrate regenerated role circuits with compiler cleanup
johnchandlerburnham Oct 29, 2026
a24878e
Export the complete role catalog in toolchain fixtures
johnchandlerburnham Oct 29, 2026
ec77dfb
Regenerate expanded role exports for three Lean toolchains
johnchandlerburnham Oct 29, 2026
713ae76
Pin the expanded cross-toolchain role differences
johnchandlerburnham Oct 29, 2026
b37a2af
Elaborate role-key proofs under a scoped recursion budget
johnchandlerburnham Oct 29, 2026
c096eb2
Attribute the expanded projection runtime inventory
johnchandlerburnham Oct 29, 2026
e26c56a
Integrate expanded toolchain fixtures and checked proof repairs
johnchandlerburnham Oct 29, 2026
1cba5b3
Bound elaboration of the remaining expanded-role proof conversions
johnchandlerburnham Oct 29, 2026
29278e7
Align protocol claims with the expanded specification digest
johnchandlerburnham Oct 29, 2026
f5fbbd4
Attribute expanded authenticated checker inventories
johnchandlerburnham Oct 29, 2026
c6976bf
Elaborate singleton segment keys for the expanded role catalog
johnchandlerburnham Oct 29, 2026
b1b8207
Attribute expanded artifact checker runtime inventories
johnchandlerburnham Oct 29, 2026
0a8727f
Defer full sharing contexts until checked fallback
johnchandlerburnham Oct 29, 2026
ab9454f
Route sharing entry points directly to the checked context
johnchandlerburnham Oct 29, 2026
2b45192
Validate the measured sharing context on the expanded compiler
johnchandlerburnham Oct 29, 2026
c00b613
Check type-only anchors through their native consumers
johnchandlerburnham Oct 29, 2026
ea72092
Elaborate definition segment keys for the expanded role catalog
johnchandlerburnham Oct 29, 2026
1669a67
Attribute the expanded host admission inventory
johnchandlerburnham Oct 29, 2026
7927203
Elaborate trace key obligations under the expanded catalog
johnchandlerburnham Oct 29, 2026
b9eaf20
Elaborate quotient trace proofs under the expanded role catalog
johnchandlerburnham Oct 29, 2026
e8ff9ae
Elaborate reader trace premises with expanded role keys
johnchandlerburnham Oct 29, 2026
88e534a
Align reader and wire fixtures with the expanded role catalog
johnchandlerburnham Oct 29, 2026
f7e5247
Admit validated Nat operations during later equation checks
johnchandlerburnham Oct 29, 2026
0abd895
Read every expanded role entry in cross-binding aggregation
johnchandlerburnham Oct 29, 2026
128a518
Keep partial role bindings in their own catalog contexts
johnchandlerburnham Oct 29, 2026
a2978c6
Regenerate the Lean 4.29 export without String.back certificates
johnchandlerburnham Oct 29, 2026
b390250
Use the supported result check in toolchain refusal coverage
johnchandlerburnham Oct 29, 2026
edd52b2
johnchandlerburnham Oct 29, 2026
a105afb
johnchandlerburnham Oct 29, 2026
bd2bf4a
Regenerate validation and aggregation circuits
johnchandlerburnham Oct 29, 2026
634c92b
Describe preserved mutual slots in compiler fixtures
johnchandlerburnham Oct 29, 2026
b0b4ed0
Clarify the Rust compiler checks in CLI help
johnchandlerburnham Oct 29, 2026
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
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
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
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
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
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
075b49e
fix(ixvm): match on loaded owned tree instead of pointer inequality i…
johnchandlerburnham Nov 6, 2026
a1401a6
fix(tests): invoke diffCmd in-process in FFI suite so standalone ffi-…
johnchandlerburnham Nov 6, 2026
33dd1ca
test(ixvm): update FFT cost pins for run_check_env owned-tree load check
johnchandlerburnham Nov 6, 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
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,9 @@ jobs:
if: github.event_name != 'push'
uses: actions-rust-lang/rustfmt@4066006ec54a31931b9b1fddfd38f2fdf2d27143 # v1.1.2
- name: Check clippy warnings
run: cargo clippy --release --workspace --all-targets --features ix-ffi/parallel,ix-ffi/net,ix-ffi/test-ffi,ixon/sharing-profile -- -D warnings
run: cargo clippy --release --workspace --all-targets --features ix-ffi/parallel,ix-ffi/net,ix-ffi/test-ffi -- -D warnings
- name: Check *everything* compiles
run: cargo check --release --workspace --all-targets --features ix-ffi/parallel,ix-ffi/net,ix-ffi/test-ffi,ixon/sharing-profile
run: cargo check --release --workspace --all-targets --features ix-ffi/parallel,ix-ffi/net,ix-ffi/test-ffi
- name: Tests
run: cargo nextest run --release --profile ci --workspace ${{ github.event_name == 'push' && '--no-run' || '' }}
- name: Get Rust version
Expand Down
122 changes: 95 additions & 27 deletions .github/workflows/merge-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,36 +116,82 @@ jobs:
issue-number: ${{ steps.target.outputs.pr }}
body-path: comment-body.md

# One build of the test revision for the partitions below, in place of one
# each. It uses their sticky disk (ci.yml's lean-test lineage, same paths)
# and builds what they build: the test binary with the executables it
# needs, the ZK voting prover, the standalone certified kernel package,
# the certification statements' freeze and the kernel gate's
# executables. RunsOn snapshots the disk when the job ends, under the
# run's ref, and the partitions start after it and restore that ref's
# latest snapshot. A partition that restores an older one (`main`'s)
# rebuilds what it needs, as before, and its log says so.
build:
name: Build merge-test targets
needs: prepare
if: ${{ github.event_name == 'merge_group' || github.event_name == 'workflow_dispatch' }}
# On-demand, as the partitions are: every partition waits for it.
runs-on: runs-on=${{ github.run_id }}-merge-build-${{ github.run_attempt }}/cpu=32/family=r7i+r8i+r7a+r8a/spot=false/image=ubuntu26-full-x64/volume=100gb/sticky=ci-lean-test-x86-64-v4:50gb/extras=s3-cache
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ github.event_name == 'workflow_dispatch' && format('refs/pull/{0}/merge', needs.prepare.outputs.pr) || needs.prepare.outputs.revision }}
persist-credentials: false

- name: Verify test revision
env:
TEST_REVISION: ${{ needs.prepare.outputs.revision }}
run: |
checked_out=$(git rev-parse HEAD)
if [ "$checked_out" != "$TEST_REVISION" ]; then
echo "::error::PR merge ref changed before the run started; comment !merge-tests again"
exit 1
fi

- uses: runs-on/action@dfae4d98c5537a0dc7bbb7e6b9211f30ba240f6d # v2.4.0
with:
sccache: s3
sticky_cache: |
rust
custom,path=.lake,path=target,path=Models/SetTheory/.lake
- uses: mozilla-actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11
- uses: $/.github/actions/setup-rust-toolchain
with:
codegen: portable
use-github-cache: "false"
- uses: leanprover/lean-action@50fcf42d2e460296f1a34b402e990d1b24f8b596 # v1.6.0
with:
auto-config: false
use-github-cache: false

# The kernel gate's strict list of audit modules (`lake run
# check-kernel`) is left to the kernel partition: its modules are
# leaves over the closures built here.
- name: Build the partitions' targets
run: |
lake build --wfail IxTests Apps.ZKVoting.Prover
lake -d IxC build --wfail
lake build --wfail Ix.Cert.Audit kernel-layering kernel-trust-surface kernel-entry-cases kernel-meta-names

- name: Record the built revision
env:
TEST_REVISION: ${{ needs.prepare.outputs.revision }}
run: echo "$TEST_REVISION" > .lake/merge-build-revision

merge-tests:
name: ${{ matrix.name }}
needs: prepare
needs: [prepare, build]
if: ${{ github.event_name == 'merge_group' || github.event_name == 'workflow_dispatch' }}
strategy:
fail-fast: false
matrix:
include:
- name: Lake ignored tests (compile pipeline)
kind: lake
test_args: --tier ci:compile-pipeline
- name: Lake ignored tests (compiler closures)
kind: lake
test_args: --tier ci:compiler-closures
- name: Lake ignored tests (compile)
kind: lake
test_args: --tier ci:compile
- name: Lake ignored tests (decompile)
kind: lake
test_args: --tier ci:decompile
- name: Lake ignored tests (misc)
kind: lake
test_args: --tier ci:misc
zk_voting: true
- name: Lake ignored tests (landing, compilers)
kind: lake
test_args: --tier ci:landing-compilers
- name: Lake ignored tests (landing, Init+Std)
kind: lake
test_args: --tier ci:landing-initstd
- name: Lake ignored tests (landing, Init+Std through ix)
kind: lake
test_args: --tier ci:landing-initstd-cli
Expand All @@ -159,7 +205,8 @@ jobs:
# The sticky disk is ci.yml's lean-test lineage: same toolchain, same
# portable codegen, same cached paths, and that job's push-to-main runs
# are what keep the lineage's `main` snapshot fresh. A merge-queue ref
# has no snapshot of its own and falls back to that one.
# has no snapshot of its own until the build job above saves one; a
# partition that does not find it falls back to `main`'s.
runs-on: runs-on=${{ github.run_id }}-merge-tests-${{ github.run_attempt }}-${{ strategy.job-index }}/cpu=32/family=r7i+r8i+r7a+r8a/spot=false/image=ubuntu26-full-x64/volume=100gb/sticky=ci-lean-test-x86-64-v4:50gb/extras=s3-cache
steps:
- name: Validate merge-test variant
Expand Down Expand Up @@ -205,6 +252,18 @@ jobs:
auto-config: false
use-github-cache: false

# Whether the disk is the build job's snapshot. Either way the steps
# below build what is stale; this only says whether they had to.
- name: Check for the build job's snapshot
env:
TEST_REVISION: ${{ needs.prepare.outputs.revision }}
run: |
if [ "$(cat .lake/merge-build-revision 2>/dev/null)" = "$TEST_REVISION" ]; then
echo "Restored the build job's snapshot of $TEST_REVISION"
else
echo "::notice::Did not restore the build job's snapshot of $TEST_REVISION; this partition builds its own targets"
fi

- name: Run ignored Lake test partition
if: ${{ matrix.kind == 'lake' }}
run: lake test --wfail -- ${{ matrix.test_args }}
Expand All @@ -215,9 +274,9 @@ jobs:

# The certified kernel gate (docs/kernel.md): the standalone IxC
# package build, which has no dependencies and so proves the kernel needs
# only the toolchain, then the host tests, the Rust differentials, the
# set-theory model, the fences, the entry cases, the reader fidelity, the
# `.meta` and `.source` names, and quotient Source on Init and Std.
# only the toolchain, then the host audits and kernel tests, the
# set-theory model, the layering and trust-surface fences, the entry
# cases, and the `.meta` and `.source` names.
# The kernel artifacts come from .lake/kernel on the sticky disk. The
# model lives in its own workspace so Mathlib stays out of the root
# package; its objects come from Mathlib's cache and persist on the
Expand All @@ -229,7 +288,7 @@ jobs:
Mathlib.SetTheory.Cardinal.Regular \
Mathlib.SetTheory.ZFC.VonNeumann \
Mathlib.SetTheory.ZFC.Cardinal
- name: Check certified kernel, codec and order differentials, model, entry cases, reader fidelity and quotient Source
- name: Check certified kernel, host audits, model, fences, entry cases and meta names
if: ${{ matrix.kind == 'kernel' }}
run: lake run check-kernel --with-model

Expand All @@ -240,7 +299,7 @@ jobs:
# Valgrind cannot decode AVX-512, so this job builds generic artifacts and
# keeps them in the S3-backed actions cache under their own key rather
# than sharing a sticky disk with the x86-64-v4 partitions.
runs-on: runs-on=${{ github.run_id }}-valgrind-${{ github.run_attempt }}/cpu=8/family=r7i+r8i+r7a+r8a/image=ubuntu26-full-x64/volume=100gb/extras=s3-cache
runs-on: runs-on=${{ github.run_id }}-valgrind-${{ github.run_attempt }}/cpu=16/family=r7i+r8i+r7a+r8a/image=ubuntu26-full-x64/volume=100gb/extras=s3-cache
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
Expand All @@ -258,6 +317,9 @@ jobs:
fi

- uses: runs-on/action@dfae4d98c5537a0dc7bbb7e6b9211f30ba240f6d # v2.4.0
with:
sccache: s3
- uses: mozilla-actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11
- uses: $/.github/actions/setup-rust-toolchain
with:
codegen: generic
Expand All @@ -273,8 +335,13 @@ jobs:
auto-config: false
use-github-cache: false

# `ffi-tests` is the primary tier's `ffi` suite as an executable of its
# own, whose import closure leaves out the test binary's proofs.
- name: Build the FFI suite
run: lake build --wfail ffi-tests

- name: Run FFI tests normally
run: lake test --wfail -- ffi
run: .lake/build/bin/ffi-tests

- name: Install valgrind
run: |
Expand All @@ -290,11 +357,11 @@ jobs:
--track-origins=yes \
--error-exitcode=1 \
--suppressions=.github/valgrind.supp \
.lake/build/bin/IxTests ffi
.lake/build/bin/ffi-tests

merge-gate:
if: ${{ always() && github.event_name != 'issue_comment' }}
needs: [prepare, merge-tests, valgrind]
needs: [prepare, build, merge-tests, valgrind]
permissions:
actions: read
checks: read
Expand All @@ -308,7 +375,7 @@ jobs:
always() &&
github.event_name == 'workflow_dispatch' &&
needs.prepare.result == 'success'
needs: [prepare, merge-tests, valgrind, merge-gate]
needs: [prepare, build, merge-tests, valgrind, merge-gate]
runs-on: ubuntu-latest
permissions:
issues: write
Expand All @@ -318,11 +385,12 @@ jobs:
env:
MERGE_SHA: ${{ needs.prepare.outputs.revision }}
PR_NUMBER: ${{ needs.prepare.outputs.pr }}
BUILD_RESULT: ${{ needs.build.result }}
TEST_RESULT: ${{ needs.merge-tests.result }}
VALGRIND_RESULT: ${{ needs.valgrind.result }}
GATE_RESULT: ${{ needs.merge-gate.result }}
run: |
if [ "$GATE_RESULT" = success ] && [ "$TEST_RESULT" = success ] && [ "$VALGRIND_RESULT" = success ]; then
if [ "$GATE_RESULT" = success ] && [ "$BUILD_RESULT" = success ] && [ "$TEST_RESULT" = success ] && [ "$VALGRIND_RESULT" = success ]; then
heading="## ✅ Merge tests passed"
summary="All test partitions and Valgrind passed"
elif [ "$GATE_RESULT" = success ]; then
Expand Down
12 changes: 8 additions & 4 deletions .github/workflows/nix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
# sccache serves only the `nix develop` build below: `nix build` and
# sccache serves only the `nix develop` build at the end: `nix build` and
# `nix flake check` compile inside Nix's sandbox, which sees neither
# the wrapper nor the network, and rely on Cachix instead. The dev
# shell inherits RUSTC_WRAPPER and keeps the outer PATH, so the
Expand Down Expand Up @@ -60,10 +60,14 @@ jobs:
# Ix CLI
- run: nix build --print-build-logs --accept-flake-config
- run: nix run .#ix -- --help
# A single invocation lets Nix schedule independent checks concurrently.
# The flake's one check, `ix-tests`: the primary tier from the
# Nix-built test binary, in the sandbox, on a fresh copy of the
# tracked sources. CI Jobs' lean-test runs the same tier on its
# incremental sticky disk and its rust-test job runs clippy and
# nextest, so neither runs again here.
- run: nix flake check --print-build-logs --accept-flake-config
# Run the real build and test commands inside the development environment.
- run: nix develop --accept-flake-config --command bash -c "lake build && lake test"
# The development shell builds the library; the tests ran above.
- run: nix develop --accept-flake-config --command lake build

nix-gate:
if: ${{ always() }}
Expand Down
5 changes: 3 additions & 2 deletions Apps/ZKVoting/Prover.lean
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import Ix.ClaimContext
import Ix.Address
import Ix.Meta
import Ix.CompileM
import Ix.CompileCertified
import Batteries

inductive Candidate
Expand Down Expand Up @@ -31,8 +32,8 @@ def runElection (votes: List Candidate) : Result :=
def main : IO UInt32 := do
let mut env : Lean.Environment ← get_env!

-- 1. Full compilation via Rust
let phases ← Ix.CompileM.rsCompilePhases env
-- 1. Full compilation via certified pipeline
let phases ← Ix.CompileM.compilePhasesOf env env.constants.toList
let mut compileEnv := Ix.Commit.mkCompileEnv phases

-- simulate getting the votes from somewhere
Expand Down
42 changes: 21 additions & 21 deletions BENCHMARKS.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
> Historical pipeline results (the refresh below is dated 2026-08-07).
> The measurements and methodology describe that pipeline: its `Ix.Tc`
> checker, regenerating Lean decompiler, canonical block order and
> auxiliary regeneration, all since removed. Recorded agreement concerns
> checker, regenerating Lean decompiler, canonical block order,
> auxiliary regeneration, and the uncertified Rust compiler/checker crates
> and CLI flags, all since removed. Recorded agreement concerns
> the measured inputs.
>
> Current `ix check-lean` uses IxC and rejects nonzero `--clear-every`,
> including the recorded `--clear-every 50`. The compiler now compiles
> Lean verbatim. See the [current benchmark commands](docs/benchmarking.md#local-usage)
> Current `ix check-lean` uses IxC. The compiler now compiles
> Lean verbatim through the certified Lean pipeline (`Ix.Cert.compileReport`).
> See the [current benchmark commands](docs/benchmarking.md#local-usage)
> and [checker contract and commands](docs/kernel.md#environment-check).

# Ix pipeline benchmarks: pure-Lean vs Rust
# Ix pipeline benchmarks: pure-Lean vs Rust (historical, 2026-08-07)

Head-to-head timings for every stage of the Ix pipeline across three
environments, comparing the pure-Lean implementation (`Ix.CompileM` /
`Ix.DecompileM` / `Ix.Tc`) against the Rust implementation
(`crates/compile` / `crates/kernel`).
Head-to-head timings for every stage of the historical 2026-08-07 Ix pipeline
across three environments, comparing the pure-Lean implementation (`Ix.CompileM` /
`Ix.DecompileM` / retired `Ix.Tc`) against the retired Rust implementation.

## Methodology

Expand All @@ -26,10 +26,10 @@ environments, comparing the pure-Lean implementation (`Ix.CompileM` /
gaps of interest).
- Lean-file elaboration (`getFileEnv`) is excluded everywhere — both
sides time their core operation after the environment is in memory.
- The two implementations are **output-equivalent by construction**:
compilation is byte-identical (`ix compile-lean --rust-check` ALIGNED)
and decompilation is hash-identical against the canonicalized source,
so every row compares identical work.
- At the time of measurement, the two implementations were **output-equivalent
by construction**: compilation was byte-identical (verified by the retired
Rust/Lean comparison mode) and decompilation was hash-identical against the
canonicalized source, so every row compares identical work.
- The Lean implementation is the *correctness reference*; its
performance is reported, not optimized (per the alignment ground
rules, Lean-side performance work is out of scope).
Expand Down Expand Up @@ -113,9 +113,9 @@ compilation totals above.
Lean: `ix validate-lean` phase 2 (`Ixon.deEnv` parse **plus** a
byte-exactness re-serialization — the parse alone is not separately
instrumented; the reported figure is parse + reser). Rust: `Env::get`
is not separately reported either; the figure is derived as
`ix check-rs` total wall time minus its reported check time (load +
parse + ingress setup).
was not separately reported either; the historical figure was derived as
the retired Rust kernel checker's total wall time minus its reported check time
(load + parse + ingress setup).

| Environment | Lean deEnv (+reser) | Rust env load (derived) |
|---|---|---|
Expand All @@ -142,12 +142,12 @@ kept for reference.
| Lean | 268.7 s | 1,317 s | 12.68 s |
| Mathlib | 3,926.3 s | — | 221.0 s |

## Typechecking (`.ixe` through the kernel, meta mode)
## Typechecking (`.ixe` through the historical 2026-08-07 kernel, meta mode)

Rust: `ix check-rs`. Lean: `ix check-lean`. Same constants checked,
full verdict parity.
Historical Rust kernel checker vs historical Lean `ix check-lean` (`Ix.Tc`).
Same constants checked, full verdict parity.

| Environment | Constants | Lean `check-lean` | Rust `check-rs` | Ratio |
| Environment | Constants | Lean `check-lean` (historical `Ix.Tc`) | Rust kernel (retired) | Ratio |
|---|---|---|---|---|
| InitStd | 105,492 | 64.8 s (~1,630/s) | 24.1 s (~4,380/s) | 2.7× |
| Lean | 188,999 | 78.1 s (~2,420/s) | 35.0 s (~5,400/s) | 2.2× |
Expand Down
5 changes: 4 additions & 1 deletion Benchmarks/Kernel/AnthropicFLT/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,10 @@ by hex prefixes (8–64 digits). It prints all aliases, not a single guessed
name. This separate diagnostic reads the full file into RAM: apply an
appropriate memory limit for large artifacts. Name lookup is not checking.

`cases.json` pins the exact existing `.ixe` by SHA-256 and byte length. It
`cases.json` pins the exact existing `.ixe` by Blake3 digest (`artifact.blake3`,
checked with `b3sum`) and byte length; the committed manifest still carries the
v3 artifact's SHA-256 instead, so the harness refuses to run against it until a
Blake3 digest is recorded. It
tracks 138 target addresses: 120 fuel failures, four depth failures, five
unfinished tails, and nine passing-baseline controls. The default **25-case core**
contains all five original tails, all four depth cases, ten fuel failures,
Expand Down
Loading
Loading