SOURCE_RELEASE :: v1.2.5

CopaLibre

The open & liberated tournament engine.

Self-hosted, AGPL-3.0, and free from cloud vendor lock-in. Manage athletic and esports competitions with explainable standings, audited score corrections, and declarative JSON descriptors.

DETERMINISTIC_RULES :: TS_ENGINE // NODE_26_LTS // SUB_5MS_EXECUTION // SHA256_AUDIT_LEDGER // AGPL_3.0

[ TELEMETRY :: LIVE_BROADCAST_TICKER ]CONCURRENT_MATCH_FEED // LOW_LATENCY
CopaLibre Live Score Ticker displaying live, upcoming, and finalized match results

DECISION_TRACE_SURFACE

Explainable Standings, Never Magic

CopaLibre does not hide ranking logic behind a black-box sort. It evaluates an explicit tiebreak chain and makes the winning comparator visible where the competition needs it.

Explainable Standings & Ratio Tiebreakers

Every ranking exposes the comparator chain and tiebreak trace that decided it, from recursive Head-to-Head sub-ties and ratio comparators (e.g. Goal Average) to Buchholz and Median-Buchholz Strength-of-Schedule.

Audited Corrections & Diagnostics

Score amendments, bracket adjustments, and operational mutations preserve who changed what, when, why, and the exact diff, backed by copalibre doctor integrity repairs.

Declarative Competition Models

Disciplines, scoring structures, and tournament profiles are versioned JSON documents, so new sports and formats do not require a core-code fork.

Swiss & GSL Dual Tournaments

Dutch pairing system with score groups, floaters, and byes alongside 4-player GSL double-elimination pods and ascending Gauntlet stepladders resolving in sub-5ms.

Multi-Phase & FFA Brackets

Multi-stage authoring wizards with live bracket previews and per-stage seeding, alongside multi-round Free-for-All elimination brackets and snake-seeded lobbies.

Self-Hosted Independence & Node 26

Free software under AGPL-3.0. Single Docker image deployment with Node 26 LTS, lightweight Garage S3 storage, pure PostgreSQL or SQLite backends, and CI dependency security gates.

COMMAND_CONSOLE_SHOWCASE

Broadcast Authority & Operational Precision

Exploration of CopaLibre's live broadcast HUD, tiebreaker explainability engine, tournament bracket generator, and cryptographic audit ledger. Every surface is engineered for operational speed under pressure.

[ DISCIPLINE_DESCRIPTOR :: TIEBREAKER_PIPELINE ]RULES_ENGINE :: MULTI-SCOPE_EVALUATION

Group Standings, Swiss Buchholz & Multi-Scope Tiebreakers

Group Standings, Swiss Buchholz & Multi-Scope Tiebreakers

The standings engine evaluates an explicit multi-step tiebreaker pipeline across configurable scopes (Overall, Head-to-Head mini-leagues, and Match Losses) alongside Strength of Schedule (Buchholz, Median-Buchholz, Sonneborn-Berger) and progressive cumulative scoring.

  • Live tiebreaker status badges (ADVANTAGE: H2H, RESOLVED VIA H2H, BUCHHOLZ SOS, POINTS OUTRIGHT, ELIMINATED).
  • Recursive sub-tie resolution: isolates tied groups into mini-tables, recursively evaluating head-to-head records among remaining tied competitors.
  • Immutable cryptographic audit proof (#TP-982) validates standing integrity with SHA-256 hash chains.
[ STAGE_ENGINE :: DETERMINISTIC_SEED_TREE ]KNOCKOUT :: 8_ENTRANT_SINGLE_ELIMINATION // 12_SUPPORTED_FORMATS

Knockout Stage, Swiss Pairings & Multi-Lobby Brackets

Knockout Stage, Swiss Pairings & Multi-Lobby Brackets

Deterministic fixture generation and bracket progression engine supporting 8 duel formats (Single/Double Elimination, Round Robin, League, GSL Bracket Groups, Gauntlet, Swiss System, Custom DAG) and 4 placement formats (Simple FFA, Heats, FFA Brackets, FFA League).

  • Deterministic bracket progression verified by the tournament rules engine in sub-5ms execution time.
  • Canonical seed pairing ([#1] vs [#8], [#4] vs [#5], [#2] vs [#7], [#3] vs [#6]) with GSL dual tournament pods and ascending gauntlets.
  • Multi-round Free-for-All elimination brackets with snake-seeded lobbies, advancing cutoffs, and placement scoring tables.
[ LIVE_OPERATIONS :: DECISION_TRACE ]OPERATOR_CONSOLE :: 14MS_SSR_LATENCY

Pitch 1 Live Operations Console & Decision Trace

Pitch 1 Live Operations Console & Decision Trace

Field operator console tracking active pitch operations, score submissions, event logging with VAR confirmations, and live standings decision traces.

  • Real-time standings comparator trace explaining why Position #1 is locked following score change.
  • Goal timeline with referee attribution and VAR confirmation tags.
  • Audit log hook (Event #1049 Logged) broadcasted via Server-Sent Events with 14ms latency.
[ CRYPTOGRAPHIC_PROVENANCE :: STATE_AUTHORITY ]MUTATION_LEDGER :: SHA256_HASH_CHAIN

Event Audit Ledger & Score Amendment Diff

Event Audit Ledger & Score Amendment Diff

Append-only mutation ledger capturing every official tournament event, operator credential, state hash, and before/after score amendment diff.

  • Explicit diff tracking (- Score: 1 - 1, + Score: 2 - 1) with operator role verification (tournament_director).
  • Cryptographic SHA-256 state hashes preventing unrecorded database tampering.
  • Automatic instant standings recomputation completed in 8.4ms upon ledger finalization.

ARCHITECTURAL_RIGOR

Deterministic Rules & Outbox Integrity

CopaLibre decouples tournament governance from application runtime. Every sport, discipline, and match rule is governed by a versioned DisciplineDescriptor.

When match officials log score events or VAR reversals, mutations execute within transactional boundaries that simultaneously generate an immutable audit trail and write durable outbox events.

Execution

< 5ms Rules Engine
Deterministic Trees

Auditability

SHA-256 Hashes
Role Capability Auth

Delivery

14ms Broadcast SSR
SSE Outbox Stream

// TIEBREAKER_TRACE_SAMPLE.json

{
  "stageId": "championship_swiss_stage",
  "tiedEntrants": ["meridian_seven", "ironclad_five", "vanguard_nine"],
  "points": 15,
  "evaluationScopes": ["overall", "head-to-head", "match-losses"],
  "pipeline": [
    {
      "step": 1,
      "rule": "total_points",
      "scope": "overall",
      "status": "tied",
      "tied": ["meridian_seven", "ironclad_five", "vanguard_nine"]
    },
    {
      "step": 2,
      "rule": "head_to_head_mini_league",
      "scope": "head-to-head",
      "status": "partial_resolution",
      "detail": "Isolated 3-way mini-table: vanguard_nine placed 3rd (1 pt). Sub-group remains tied (3 pts each).",
      "unresolvedSubGroup": ["meridian_seven", "ironclad_five"]
    },
    {
      "step": 3,
      "rule": "recursive_sub_tie_head_to_head",
      "scope": "head-to-head",
      "status": "tied",
      "detail": "Direct fixture drawn (2 - 2). Escalating to Strength of Schedule."
    },
    {
      "step": 4,
      "rule": "median_buchholz_strength_of_schedule",
      "scope": "overall",
      "status": "resolved",
      "scores": {
        "meridian_seven": 42.5,
        "ironclad_five": 39.0
      },
      "winner": "meridian_seven",
      "detail": "Evaluated Median-Buchholz SoS (+3.5 opponents score) -> Position #1 locked"
    }
  ],
  "auditProof": "SHA256:7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
}

PRODUCTION_TOURNAMENT_OPERATIONS

Correct the Record Without Erasing It

Referees and scorekeepers correct real-world mistakes. CopaLibre records audited score corrections instead of hiding an amendment behind an overwritten database row.

The same platform keeps public coverage separate from control workflows: spectators see schedules, outcomes, brackets, reports, and standings while operators retain role-scoped authority over tournament state.

TOURNAMENT LIFECYCLE

Multi-phase authoring wizard, live bracket preview, Club Portal roster submission, review, check-in, seeding, fixtures, real-time results, standings, audited corrections, and public coverage.

SUPPORTED FORMATS

8 Duel formats (Single Elimination, Double Elimination, GSL Bracket Groups, Gauntlet Stepladder, Round Robin, League, Swiss System, Custom DAG) and 4 Placement formats (Simple FFA, Heats, FFA Brackets, FFA League).

TIEBREAK ENGINE

Multi-scope evaluation (Overall, Head-to-Head mini-leagues, Match Losses), ratio tiebreakers (numerator/denominator with zero-denominator policies), Strength-of-Schedule (Buchholz, Median-Buchholz, Sonneborn-Berger), and recursive sub-tie resolution.

OPERATIONS

Granular organization-scoped roles, Club Portal self-service, real-time SSE score ticker, broadcaster OBS overlays, multicourt TV kiosks, copalibre doctor diagnostics, and dead-letter outbox batch remediation.

DEPLOYMENT & TOOLCHAIN

Node 26 LTS monorepo runtime, recursive dependency audit release gates, one multi-role Docker image with lightweight Garage S3 storage, and standalone CLI with copalibre doctor --fix.

OWN_YOUR_COMPETITION

No Mandatory Hosted Account

CopaLibre is free software under AGPL-3.0. Tournament data, audit history, and broadcast feeds remain on infrastructure the operator controls, with no mandatory cloud subscription or vendor lock-in.