commonground-score
Pure-Python scoring utilities for Common Ground deliberation evaluations.
API
commonground_score exposes:
prop_test(successes, trials)two_prop_test(s_in, s_out, p_in, p_out)comment_stats(votes)vote_entropy(votes)cluster_separation(votes)rating_to_vote(value)vote_accuracy(predictions, held_out)brier_score(predictions, held_out)brier_skill_score(predictions, held_out, reference_predictions=None)probability_reward(predictions, held_out)
vote_entropy normalizes agree/disagree/pass entropy to [0, 1].
cluster_separation returns the fraction of faction-vote pairs taking different
stances. Together they provide the deterministic panel-disagreement math used
by commonground-elicit; missing votes are excluded from both calculations.
brier_score accepts bare point predictions (1, -1, or 0) and
probability mappings keyed by agree, disagree, and pass or their numeric
equivalents. Valid non-negative finite mappings are normalized before scoring.
Invalid or non-normalizable mappings score as the uniform distribution
(1/3, 1/3, 1/3) to represent no information. Version 0.4 divides the
three-class squared-error sum by two, so the returned score is bounded to
[0,1]; callers requiring the unnormalized convention must multiply by two.
probability_reward returns 1 - brier_score for a non-empty target set. The
environment remains responsible for enforcing its exact response schema before
calling this scorer. brier_skill_score returns relative improvement over an
explicit reference forecast; when omitted, it uses the three-class uniform
forecast. A score of zero equals the reference, one is perfect, and negative
values are worse than the reference.
rating_to_vote(value) implements the canonical 0-10 rating conversion used for
dataset parity:
signed = (2 * (value - 5)) / 10
Values outside the inclusive 0-10 range, plus non-finite values, map to
neutral/pass (0). In-range values below 5 return a negative score, values
above 5 return a positive score, and exactly 5 returns 0.
Parity Fixtures
The test suite includes a parity fixture loader for
tests/fixtures/parity_*.json. The harness requires fixtures for
prop_test, two_prop_test, comment_stats, and rating_to_vote. Fixture
files should use:
{"function":"prop_test","cases":[{"args":[2,4],"expected":0.4472135954999579}]}
JSON cannot encode NaN, so NaN arguments are represented as the exact string
"NaN" and decoded by the harness before invocation.
Release files for commonground-score 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| commonground_score-0.5.0.tar.gz | 8.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| commonground_score-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.6 kB
Release files / commonground_score-0.5.0.tar.gz
| Download URL | commonground_score-0.5.0.tar.gz |
|---|---|
| Size | 8.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dc3dacaca71f86400bbb5b3cab5bdf7b6f6d1bc328f26ff81b058b650e20af15
|
|
BLAKE2b-256 checksum How to use checksums |
f9e6591e4d632291c90d2794a5a27da2893c29dcbdc0aa667a5794d102317b2d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / commonground_score-0.5.0-py3-none-any.whl
| Download URL | commonground_score-0.5.0-py3-none-any.whl |
|---|---|
| Size | 10.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
31baee389fed8d275a81baeebfe9649749a0b06aabe3100320bfcd6f28e4689c
|
|
BLAKE2b-256 checksum How to use checksums |
a16fd09dec7cf7bf8bbd538e11950e56e2beb9b86e30ed1c187cfb5882439dcb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|