Skip to main content

v0.5 — Factor Scoring

Quantinal v0.5 makes every score something you can check: a 0–10 score computed by a fixed rule from a few factors, each read from quoted, dated events.

Breaking changes

Review the Breaking changes section before upgrading integrations. Scores and alert thresholds move from 0–100 to 0–10, and the factor fields in run results are new.

Overview​

  • 0–10 scores — Every completed run carries an integer score from 0 to 10, with score_scale: 10 beside it
  • Factors you can check — Each tracker gets a short list of drivers made from its setup. A run reads each one as a direction and a tier, backed by events with quotes, outlets and dates
  • Settled only by outcomes — 0 and 10 are reached only when a reported outcome decides the question
  • Steadier scores — A factor whose events have not changed keeps its reading, so a run with no new information holds its score

See Scoring for how a score is computed.


Breaking changes​

Scores are on 0–10​

Before (v0.4)After (v0.5)
score from 0 to 100score from 0 to 10, with score_scale: 10
lower_threshold / upper_threshold on 0–100 (defaults 40 / 80)On 0–10 (defaults 4 / 8); values above 10 return 422
min_score / max_score run filters on 0–100On 0–10
Legacy score_threshold and threshold_directionRemoved; use notify_below / lower_threshold and notify_above / upper_threshold

What to change: Divide any stored score, threshold or filter by 10. Code that compares scores against fixed numbers, such as score >= 80, should compare against the 0–10 value instead, or read score_scale rather than assume it.

New factor fields​

Before (v0.4)After (v0.5)
Result confidenceRemoved
Factor effect_band, confidence_band, impact, probability, contribution, id, changedFactor name, description, finding, direction, tier, events

What to change: Read factors by direction (+ or -) and tier (min, low, medium, high). Each event lists its statement, the outlets that reported it and its quotes. See Endpoints — Get run.

Webhook payloads carry score_scale​

The run.completed webhook result now includes score_scale beside score, matching the API. See Scoring — Webhook payload for the full shape and how to verify the signature.


Your existing trackers and runs​

  • Past runs were converted: each score divided by 10 and rounded (halves away from 5), and each earlier fact shown as a factor with one event
  • Alert thresholds on trackers not edited since the change were converted to 0–10. The lower threshold was rounded down and the upper one up, so no alert fires more often than before
  • Each tracker's next run makes its factor list from your setup and reads every factor afresh. That run may move further than usual, and it sends no alert