Skip to content

Add deterministic prospective measurement-ranking interface - #10

Merged
robinthibaut merged 4 commits into
mainfrom
robin/measurement-ranking
Oct 6, 2026
Merged

robinthibaut merged 4 commits into
mainfrom
robin/measurement-ranking

Conversation

@robinthibaut

@robinthibaut robinthibaut commented Sep 26, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Add deterministic ranking of explicit candidates using caller-supplied risk or utility scores.
  • Preserve stable exact ties, competition ranks, and integer-score ordering.
  • Include a finite example of expected risk reduction with explicit priors, outcome likelihoods, and loss tables.
  • Ignore impossible outcomes in expected-risk aggregation and reject direct conditioning on zero-probability outcomes.
  • Add hand-checkable regression tests for ordering, normalization, ties, and zero-mass outcomes.

Validation

All seven checks passed at the current head: Linux Python 3.10–3.13, macOS and Windows Python 3.12, and lint/format checks. No dependency changes.

Scores, probabilities, losses, and their interpretation remain caller-supplied assumptions. The ranking primitive does not fit a model or compute posterior updates.

robinthibaut and others added 4 commits September 26, 2026 15:40
Ranks an explicit, caller-supplied set of prospective measurement
candidates from a caller-computed risk or utility score per candidate
(e.g. from expected_action_losses/bayes_action_set applied to a
simulated future update). Deterministic stable-sort ordering, standard
competition ranking with exact-tie sets, and strict input validation;
no simulation, policy search, or domain assumptions live here.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
rank_prospective_measurements cast all scores to float64, so adjacent
large int64 scores above 2**53 collapsed into a false tie. Utility
ordering also negated raw scores, which silently overflows for the
minimum representable signed integer. Integer scores now keep their
exact dtype, and utility negation for integer scores uses
arbitrary-precision Python ints instead of fixed-width negation.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@robinthibaut
robinthibaut merged commit 718a43c into main Oct 6, 2026
7 checks passed
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