Results & Standings
Recording a result
A match's result is edited in the Match Result screen for that match. Every
result has a status_code — the match starts as draft and is marked
final when confirmed (a finalized_at timestamp is set automatically the
first time a result is saved as final). Which status codes are actually
available depends on the sport profile assigned to the project
(result_status_codes in the profile).
The score itself is not a single fixed field — its shape is defined by the
sport profile's match.score contract:
typeis one ofnumeric_score,nested_score,time_resultordecision_result.value_typeisinteger,decimalorduration(orstructuredfordecision_result).- The profile can define a tree of score segments (
segment_types, each with acode,parent_codeandordinal) — for example a result that's built up from multiple periods rather than a single number. This is profile-defined, not hard-coded to any one sport.
If the profile defines aggregation rules for the score, the editor either
derives the overall result from its segments automatically, or
validates that the segments you enter add up to the overall result you
entered, depending on the profile's aggregation.mode (derive or
validate). This can be limited to only apply once the result is final
(aggregation.final_only).
Saving a final result automatically triggers a standings recalculation for the affected project/stage.
Standings
Standings are computed per project, optionally scoped to a single stage, and
further scoped by a scope code (e.g. an overall table vs. some other
split) — the set of valid scopes for a project is defined by its sport
profile's calculation.scopes; a project's profile must define at least one
scope. Current standings are cached and can be explicitly recalculated from
the admin standings screen.
Standing adjustments
Standing adjustments let you manually alter a specific entry's standing — for penalty point deductions, corrections, etc. Each adjustment records:
project_entry_id— which entry the adjustment applies to.scope_code— which standings scope it applies to (defaults toall).metric_code— which metric is being adjusted (the available metrics come from the project's sport profile, similar to scopes).adjustment_value— the numeric amount (positive or negative, decimals allowed).reason— a required explanation, up to 500 characters.effective_date— an optional date the adjustment applies from.
Adjustments are ordinary published/unpublished records, so one can be disabled without deleting it.