October evaluation refresh#

This run establishes a new Primo timing baseline on revision 5efbd02293e15a53fbaad748ceda78bc7d27bbac. All timings and the selected correctness checks are complete. Independent ground-model validation and native UF qualification passed. OpenSMT closed the two native LRA reference gaps; Z3, Yices and cvc5 resource limits remain explicitly incomplete reference attempts. The run ledger, entry 2026-10-05-full-evaluation-refresh, records the jobs, commands, snapshots and remaining work. Earlier measurements retain their original revisions and dates.

Measurement scope and limits#

All measurements run in SLURM compute allocations, with one solver process per single-CPU task. The fresh non-incremental profile is primo --quiet, with the current defaults. Each input receives 60 seconds of wall time; the allocation provides 8 GiB per task. These are process measurements, including input parsing. The job allocation’s three-hour limit covers a shard of many separate inputs; it is not the per-input solver timeout.

Non-incremental division

Inputs

Per-input timeout

QF_UF

7,503

60 s

QF_LRA

1,753

60 s

QF_LIA

13,306

60 s

QF_UFLRA

1,284

60 s

QF_UFLIA

659

60 s

UF, quantified

7,590

60 s

The five ground corpora match every relative path and content hash in the historical ground inventory. The missing QF_LIA copy was restored from the official SMT-LIB 2025 snapshot, with the published archive checksum checked before extraction. Its 13,306 files also match the historical hashes. The fresh inventory records all 32,095 inputs, binary identities and CPU information.

Native incremental measurements retain each file’s assertions, scopes and query order. A session means the entire file, not a single check-sat. Both rebuild and assumptions modes use --quiet --stats --max-theory-conflicts=10000, plus --incremental-mode=MODE. The conflict limit resets per query; it does not bound parsing or elapsed time. Both profiles receive 8 GiB per task and a two-hour shard allocation.

Native corpus

Sessions

Queries per session

Total queries

Whole-session timeout

QF_UF

1,778

2–494; median 3

29,990

30 s

QF_LRA

10

Five with 101; five with 202

1,515

600 s

A completed session must return a definite answer to every query, agree with known status annotations and exit successfully. Partial query progress, unknown answers and timeouts are reported separately. An unknown from the conflict limit is resource exhaustion, not a successful solve. PAR2 charges an unsolved input or incomplete session twice its corresponding timeout; completed cases contribute their measured wall time.

Completed timing results#

All 32,095 non-incremental inputs were processed, with no execution errors or reported wrong answers. Timeouts and unknown answers remain unsolved.

Division

Solved

Timeout

Unknown

QF_UF

7,497

6

0

QF_LRA

1,537

216

0

QF_LIA

9,705

2,850

751

QF_UFLRA

1,270

14

0

QF_UFLIA

574

85

0

UF, quantified

1,954

5,602

34

Independent Dolmen checking passed all 11,699 selected ground SAT models. Native UF completed 1,775 sessions in rebuild mode and 1,772 in assumptions mode; their separate qualification checked 24,746 and 25,027 SAT models, respectively, with no changed answers or validation failures. The remaining three rebuild sessions timed out; six assumptions sessions exhausted their conflict limits.

Native LRA completed no rebuild sessions (all ten timed out), and three assumptions sessions (seven timed out). All three completed assumptions sessions are now qualified. Z3 checked one; OpenSMT checked the other two after Z3 reference timeouts. Each original 101-query session completed under OpenSMT, and a fresh live Primo replay matched every recorded reference and timed answer with a successful exit. All 202 additional answers were UNSAT, so no SAT models arose in these replays. The supplemental coverage report records exact input, binary and timing-result hashes and preserves the original incomplete attempt.

Yices and cvc5 each timed out on both original sessions at the 600-second whole-session limit. Their partial UNSAT answers agreed but do not qualify complete sessions. The cvc5 attempt used the owner’s incremental competition profile, including --use-portfolio; these are correctness checks, not a new reference timing baseline. Slower alternative fresh-context checks were cancelled after OpenSMT qualification and remain incomplete.

Reference reuse and model qualification#

The user requested cancellation of redundant Z3 and cvc5 timing reruns. Their partial fresh artifacts are retained but excluded from the comparison. Audited historical reference rows keep their original origin and resource conditions. Nine complete ground reference sets match the fresh input hashes, unchanged reference binary hashes, arguments and 60-second limit. Historical cvc5 QF_LIA is incomplete and is not treated as a complete reference result. The strict report currently has no eligible historical quantified UF reference set.

The older ground reference allocations used one CPU and 4 GiB; the new Primo allocations use one CPU and 8 GiB. Comparisons provide historical context, not a controlled same-node measurement of a source change. Native UF reference rows cover the same 1,778 sessions, manifest hash, binary identities and 30-second limit. Native LRA reference timings are unavailable in this refresh report. These timing limitations do not remove the fresh correctness references in the generated gates or live native model replay.

Model production and checking begin after the entire timing phase, so they do not enter the timing or PAR2 measurements. Ground replay selects only measured, successful SAT rows and requires exact coverage and independent Dolmen acceptance. Its allocation is 12 GiB per task, with 90 seconds for model production and 30 seconds for Dolmen; Dolmen’s own accounting limit is --size=8G. Native replay validates completed sessions, compares their replayed answers to the timed answers and checks their SAT models separately. Quantified models remain outside the independent ground-model workflow. Missing, changed or failed model rows leave qualification incomplete.

Completed correctness qualification#

The machine-readable qualification report binds the fresh eight-route gate to this revision and its binary hash. Each route received 1,000 generated inputs or sessions. Of 8,000 cases, 7,978 passed and 22 QF_LIA cases timed out; these timeouts are not successful solves. Dolmen accepted all 17,877 selected ground SAT models. The session routes cover 20,000 queries. This is a bounded sample; repeated generator templates do not imply 8,000 distinct formulas, and quantified models were not independently checked.

Conflict-limit replay selected 800 generated inputs/sessions at a limit of one: 344 completed definitively and 456 contained expected exhaustion, with no replay timeout. The 2,600 returned queries comprise 1,965 definitive answers with zero conflicts and 635 exhausted queries with exactly one. No overshoot was observed. All 16 real seeds and 212 mutations passed their answer checks; independent validation accepted 165 mutant SAT models and six seed SAT models.

A supplemental campaign passed 3,000 mixed QF_UFLRA cases and 500 cases in each of finite QF_UF and finite QF_UFLRA. Its general and finite-UFLRA SAT selections have exact independent model coverage: 1,709 and 252 models respectively. The finite-UF portion supplies answer comparisons, without an additional model replay in this supplemental campaign. No untriaged wrong answer, crash or reference disagreement remains in these completed gates.

Release and ASan suites passed 43/43 tests each, with 229 Python tests and 12/12 documentation examples. Static analysis rescanned 126 source/test translation units plus four documentation examples. The 18 ordinary diagnostics and 404 source/test include advisories match the retained baseline; seven example include advisories also remain. This is not a warning-free claim.

Reproduction and acceptance#

Follow the refresh workflow with a fresh SLURM workspace and --build-via-slurm. The measured binary SHA-256 is d0f69f50540efa7561e7895d2f24acff26787756a85b9bdb9f67e7eaaed496e0. Reporting-only commits do not change that binary. Raw artifacts remain under the primo-evaluation-20261005 experiment workspace; the ledger names each result directory and job. The final metadata report requires complete timing coverage and supported model qualification before returning success. Its first final attempt (job 168188) correctly failed on the two native LRA reference timeouts. Supplemental job 172142 closed that coverage gap with OpenSMT. The original report and attempts remain unchanged; acceptance uses the original ground/native UF reports together with the supplemental LRA coverage report. Generated timeouts, unknowns, incomplete native timing sessions, and unvalidated quantified models retain their stated limitations.