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. The current contract 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. When reference losses vary across tasks,
study-level skill must be computed from pooled losses
(1 - mean(model_loss) / mean(reference_loss)), not by averaging the
per-task ratios returned by separate calls.
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.6.1
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.6.1.tar.gz | 8.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| commonground_score-0.6.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.9 kB
Release files / commonground_score-0.6.1.tar.gz
| Download URL | commonground_score-0.6.1.tar.gz |
|---|---|
| Size | 8.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c8fe6b89eb605afca515640dc6668c083663fcc0288a6b201ab18eea4849c36c
|
|
BLAKE2b-256 checksum How to use checksums |
bb0721dedfd2aac20d14570ca9ab468e355d4c5178396f2177989a9f7194d60f
|
| 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.6.1-py3-none-any.whl
| Download URL | commonground_score-0.6.1-py3-none-any.whl |
|---|---|
| Size | 10.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e2a90ec40344eca5ca0fdbcf452748f52ba93ef2c746e3c7f2ffbe3ff008ff79
|
|
BLAKE2b-256 checksum How to use checksums |
a56ce8724f1fc7626891e680a2ba799b452c8c9842673273a45193e9cbce8b10
|
| 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}
|