Skip to content

Observe actual solver queries and fair-selector time quanta - #501

Merged
CaelmBleidd merged 2 commits into
mainfrom
caelmbleidd/pr479-machine-query-quantum-metrics
Oct 14, 2026
Merged

CaelmBleidd merged 2 commits into
mainfrom
caelmbleidd/pr479-machine-query-quantum-metrics

Conversation

@CaelmBleidd

@CaelmBleidd CaelmBleidd commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Bounded Calls class searches need separate SMT check timings and actual selector-turn durations to explain where their shared time budget is spent. This change exposes both through optional observation hooks; class-specific attribution and reporting remain in #479.

The shared core solver wrapper records each KSolver.check and checkWithAssumptions call, including retries, SAT/UNSAT/UNKNOWN results, and backend exceptions. Callback failures are logged without replacing the solver result or its original exception. Timing excludes callback work, assertions, model decoding, and type solving; it is not the total cost of a USolver query. TS wires the shared wrapper into its existing observer and retains TsSolverQueryEvent as a Kotlin source-compatible alias.

The constant-time fair selector reports requested and elapsed durations for each turn, preserving overruns, repeated turns of the same entry point, and the final partial turn exactly once. An in-flight interpreter or solver step cannot be preempted by the requested quantum.

Validation: 34 focused core tests passed (14 solver-observation checks, including real Yices/Z3, 7 quantum checks, 9 drain checks, and 4 soft-constraint checks); one previously disabled soft-constraint test remains skipped. :usvm-ts:compileKotlin passed. Affected-module Detekt completed with no findings in the changed files, and git diff --check passed. These checks do not establish end-to-end Calls aggregation correctness; full suites remain a CI boundary.

The obsolete local pre-commit hook invokes the missing checkLicense task. The follow-up commit used a one-command hook bypass after the focused checks above; repository hook configuration was not changed.

@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/pr479-selector-drain branch from c65d4b1 to 7f8f290 Compare October 14, 2026 15:39
Base automatically changed from caelmbleidd/pr479-selector-drain to main October 14, 2026 15:39
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/pr479-machine-query-quantum-metrics branch from 68bbaf6 to 23f29c8 Compare October 14, 2026 15:46
@CaelmBleidd
CaelmBleidd merged commit e09199a into main Oct 14, 2026
7 checks passed
@CaelmBleidd
CaelmBleidd deleted the caelmbleidd/pr479-machine-query-quantum-metrics branch October 14, 2026 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant