Skip to content

Marshaling workstream (lap review, penalties, gated Finalize, post-event) #192

Description

@ryan-johnson2

Marshaling workstream (deferred — own planning pass)

The Marshaling stage-page exists in the event workspace IA but is not built. It is the review/correction step between a heat going Unofficial and Final. Scope to design + build later:

  • Lap review & correction: add / remove / re-time laps on an Unofficial heat (missed gates, double-reads, noise). Corrections are logged events (replay-deterministic), not destructive edits.
  • Penalties / DQ / throw-outs: apply per-pilot penalties, disqualifications, and lap throw-outs; reflected in the heat result + standings.
  • Marshaling-only laps reach standings/ranking (was issue Unify marshaling-fold: score_marshaled vs lap_list_marshaled (v0.3 follow-up) #39 / task Lap derivation + win-condition scoring + tie-breaks #30): laps added/corrected during marshaling must flow into class_standings / round_ranking, not just the live board.
  • Marshaling-gated Finalize: a heat cannot be Finalized until marshaling is complete (or explicitly skipped); the FSM/command legality enforces it.
  • Post-event marshaling: marshal/correct a heat after the event (re-open a Final heat for correction, with an audit trail).

Foundation already in place: the heat lifecycle (UnofficialFinal), logged events, class_standings/round_ranking projections, and the Marshaling stage-page slot in the console.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions