ci: pilot bounded ESBMC verification - #561
Draft
dusterbloom wants to merge 19 commits into
Draft
Conversation
This was referenced Jul 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
This fork-only pilot tests a narrow merge promise: when a PR changes a reviewed
state-machine core, Lucebox can select the smallest approved contract and
require deterministic bounded evidence. AI may propose repairs or missing
contracts, but it never defines or satisfies the merge gate.
The first wave targets three host-side decisions with high correctness
leverage: snapshot ownership, speculative token commitment, and KVFlash
logical-to-physical ownership.
This is intentionally one pilot PR because the three contracts, path-selection
policy, authenticated verifier images, and CI wiring form one reviewable
end-to-end safety path. Promotion is still a separate decision for each
target; this PR does not make any of the new contracts merge-blocking.
Reviewer guide
Review the production changes and their native regressions first, then review
the contract registry/manifest and workflow selection wiring. The immutable
image digests and hosted evidence establish the execution boundary; the
rollout section records the remaining maintainer decisions. Historical
bootstrap runs are retained below for auditability and are not substitutes for
the current exact-head checks.
What changed
FullPrefixCacheStateand migrates the full snapshot adapter to explicitkey, slot, effective-boundary, and victim reservations;
SpecCommitDecisionproduction logic used by five model-familydecode loops for accepted-prefix, bonus, budget, and safe token selection;
KvFlashResidencyMapas the pager's authoritative CPU ownership map,including bounded logical growth, partial-bijection checks, protected
eviction, rollback, masks, and epoch handling;
properties, exclusions, PR/nightly bounds, protected shared harness bodies,
and path-based selection;
protected registry, legacy manifest, and every workflow use site;
bodies cannot silently disappear from protected contract/trigger paths;
formal/FIRST_WAVE_EVIDENCE.md.The full-cache and KV contracts deliberately separate small model-checked
sequences from wider exact-head native lifecycle tests. GPU DMA, numerical
model behavior, HTTP orchestration, rollback/EOS emission, and whole-system
correctness remain outside these claims.
Rebase onto current main
The branch is rebased onto
2229bf6a186ce72d7c48840eb7aeeaa48eee11c6.Conflict resolution:
_raw_unit_test_targets/checkstructure while registeringeach of the four standalone first-wave tests exactly once;
effective full-snapshot boundary before reservation and cleaning up a
rejected confirmation;
recurrent-state restore API and checks its result.
GitHub reports the PR mergeable with no conflicts at exact head
326a43782cd329ccfd11630c4ae607690df6ee9f.Trust-boundary fix and immutable images
Companion commit
8a7e1aae040a9f17a7e7513e7bb29c9495afcedbmaterializes authenticated base contract snapshots ahead of head production
include paths, closing the transitive-include shadowing gap.
ghcr.io/dusterbloom/lucebox-esbmc-ai-verifier@sha256:9321a4aa371efec1b55e33dff0c1cefbc10778aa7f38b07cb2b84cff1c9ed39e;ghcr.io/dusterbloom/lucebox-esbmc-ai-repair@sha256:e33712eac4207a74562fe9d9fda9a9456ce41c175456dda3dd54e7ba7286c597.Rebased-head validation
Local post-rebase baseline checks at
dd01abd5:-j4and passed through CTest;http_server.cppandqwen35moe_backend.cppobjectscompiled;
counterexample while applicable prefix-cache controls remained verified;
git diff --checkpassed.Current exact-head CI integration checks at
f1e9e0cd:git diff --check: passed;uv workspace, Windows build/smoke, Linux build/CTest, and both megakernel
architecture imports passed. The RTX 3090 job remains pending because
this fork currently has no registered self-hosted runners; it is not a test
failure.
Hosted post-rebase
mode=allbootstrap atdd01abd5:3b44025140576c0e3e49458c61d386e74057fb4fbfab36b1c3aa71dbad526ea3;b6ca2e50cf85520375d13967c77d5e104f1f082b161dc6e9b4d23221cd022782;f7090943e6946fd0bbc3eef551578953432d1ddb1c620dfded65b97d66848cb1;Hosted current exact-head
mode=allvalidation at326a4378:7c0add83702426ed3bd3b30278fa53a1b955864459525c75e0bffead69fc5fce;a0f28f68a77c293b35a54acda7c7f7b3b9e8fe9326966327a3b16000b2f81e5d;92967bc6803f133bcb990af06e1e6b616aa8b47b7d03df32cea4db16efd64e5c;Hosted exact-head
mode=nightlybootstrap:abab0e72619f6dd9c9718858c514cce2211719c7b31d7963270d58c64e8cdd31;96c9924ee08c50e2ac98f75098afc06a6d65437dd1f25a4844a3ef38abd9a002;95631d7d6743cd86375b887f38fa3f629d6ea0804c614f1aeb5c933a1b3c0f74;The earlier nightly run had only 6–8 seconds of hosted margin. The separate
nightly timeout now provides approximately 58.5 seconds of margin in the
slower lane. The earlier six-block calibration timed out in both lanes in
run 30543897953.
Hosted exact-head
mode=nightlywith the separate KVFlash timeout:d50d74575fae0871a6ac0eb94b2a36946edd4dcf4e6f7ca3f919ded5f5fec6f9;f045a24c6c8619091d375c488ae9b7295f5cc1ed197f795c23723fcc606b302e;23a526ceb8f28279be848ef3548919d9247d9e185f715d9b10f515b22e7f1744;Trust and rollout
This PR intentionally keeps
prefix-cache-full-lifecycle,spec-commit-exactness, andkvflash-residency-mapadvisory. The image-pintransition and target enforcement are separate review decisions.
Remaining gates:
protected base branches;
contract, bounds, latency budget, and maintainer ownership.
This draft does not alter branch protection.
Companion implementation:
dusterbloom/lucebox-esbmc-ai#1