Aller au contenu principal
Petanque Life

Disciplinary System

F05.05 32 fonctionnalités Planifié

En bref

The Disciplinary System is the federation's end-to-end judicial pipeline for misconduct, cheating, doping, violence, and abuse cases. It runs incident reporting through classification, investigation, hearing, decision, sanction enforcement, and multi-tier appeal, with a full immutable audit trail, configurable alternative dispute resolution paths, and cross-federation sanction sharing so that suspended individuals cannot circumvent active bans by competing elsewhere.

Comment ça fonctionne

Any authorised actor (umpire, official, player, or registered observer) may file an incident report directly from the competition app or web console. The report is classified at intake into one of the established categories: misconduct, cheating, doping, violence, or abuse. Classification routes the case to the correct commission and triggers the appropriate procedural template (deadlines, required evidence, mandatory hearing, anonymisation rules).

A disciplinary case progresses through clearly defined states: open, under investigation, hearing scheduled, decided, closed. During investigation, the assigned commission attaches evidence (photographs, video clips, witness statements, umpire reports) and may request additional submissions from involved parties. Hearings are scheduled with all relevant parties summoned through the platform; the hearing record captures attendees, the questions raised, and the testimony heard. The commission issues a sanction drawn from the catalogue: warning, fine, suspension for a defined period, ban, or competition-points deduction. Some federations support an alternative dispute resolution path, for instance Spain's arbitraje de equidad with a three-arbiter panel, and the configurable escalation rules determine when ADR replaces full proceedings.

Once a sanction is recorded, enforcement is automatic. Active suspensions block the individual from being entered into any competition during the suspension period; the entry pipeline rejects them and notifies the organiser. Notification fans out to all relevant parties: the sanctioned individual, their club, the home federation, and (for cross-tenant cases) any federations where the person is licensed. The sanction register is searchable by federation level, with expiry dates triggering automatic rehabilitation when the suspension lapses.

Appeals escalate to higher federation levels following the configured chain. Every action, document, and state transition is captured in an immutable audit trail so that the case file is forensically complete should it eventually reach the Court of Arbitration for Sport.

Capacités clés

  • Multi-channel incident reporting from umpires, officials, players, and observers with classification-driven routing
  • Full case lifecycle (open, investigate, hearing, decide, close) with hearing scheduling, summons, and testimony capture
  • Sanction catalogue covering warnings, fines, suspensions, bans, and point deductions
  • Automatic enforcement of active suspensions across the entry pipeline
  • Cross-federation sanction sharing preventing forum shopping during a ban
  • Configurable alternative dispute resolution paths (ADR/arbitration)
  • Immutable audit trail across all disciplinary actions and appeal escalation

En pratique

An umpire files a violence-classified incident report at a regional event. The case auto-routes to the regional disciplinary commission, which gathers two witness statements and a video clip from the official broadcast. A hearing is convened within the procedural deadline; the player attends, the commission deliberates, and a six-month suspension is issued from the sanction catalogue.

The notification fans out to the player, club, and federation. Two weeks later the player attempts to enter a competition in a neighbouring federation; the cross-tenant sanction registry blocks the entry and notifies the receiving organiser. The player files an appeal, which escalates one tier under the configured chain.

Fonctionnalités de ce sous-système

32
ID Status Fonctionnalités
F05.05.01 Livré Incident reporting (by umpire, official, player, or observer) ✅ PL-F0505a
F05.05.02 Livré Incident classification (misconduct, cheating, doping, violence, abuse) ✅ PL-F0505a
F05.05.03 Livré Disciplinary case management (open > investigate > hearing > decision) ✅ PL-F0505a
F05.05.04 Livré Hearing scheduling and management ✅ PL-F0505a
F05.05.05 Livré Evidence attachment (photos, videos, witness statements) ✅ PL-F0505a
F05.05.06 Livré Sanction types (warning, fine, suspension, ban, point deduction) ✅ PL-F0505b
F05.05.07 Livré Sanction enforcement (automatic competition ban during suspension) ✅ PL-F0505b
F05.05.08 Livré Appeal process (to higher federation level) ✅ PL-F0505b
F05.05.09 Livré Sanction notification to all relevant parties ✅ PL-F0505b
F05.05.10 Livré Sanction register (searchable by federation level) ✅ PL-F0505b
F05.05.11 Livré Sanction expiry and rehabilitation tracking ✅ PL-F0505c
F05.05.12 Livré Cross-federation sanction sharing (suspended player cannot play elsewhere) ✅ PL-F0505c
F05.05.13 Livré Full audit trail on all disciplinary actions ✅ PL-F0505c
F05.05.14 Livré Alternative dispute resolution — configurable per tenant: formal arbitration/mediation as alternative to disciplinary proceedings (Spain: arbitraje de equidad with 3 arbiters). Configurable escalation path. ✅ PL-F0505c
F05.05.15 Livré Discipline case-spine — full state-machine: draft → submitted → triage → evidence_collection → hearing_scheduled → hearing_in_progress → deliberation → decision_issued → appeal_window_open → appeal_window_closed/under_appeal → appeal_decision_issued → archived (+ withdrawn/dismissed/escalated side-paths). ✅ PL-T213
F05.05.16 Livré Role-template-based intake — five role-driven intake forms (club_referee, court_marshal, event_marshal, jury_president, public) with required-field validation per role. ✅ PL-T213
F05.05.17 Livré Severity auto-classification — derives severity_hint from offence-code → severity rank table at submit time; manual override requires rationale. ✅ PL-T213
F05.05.18 Livré Tenant offence vocabulary — per-tenant offence taxonomy (codes, names, severity defaults) layered on canonical FIPJP offences; configurable per federation. ✅ PL-T213
F05.05.19 Livré Tamper-evident evidence locker — SHA-256 hash chain per case (chain_hash = sha256(prev | content_hash || iso(submitted_at) || submitted_by)); periodic verifier flags integrity_alert. | ✅ PL-T213
F05.05.20 Livré WORM evidence blob storage — Azure Blob immutability policy via EvidenceBlobStore protocol; locked retention (default 10 years), MIME-type allow-list, EXIF stripping for photos. ✅ PL-T213
F05.05.21 Livré Evidence supersede / withdraw / redact — versioned evidence with chain-preserving supersede, withdrawal marker, and GDPR-redaction overlay (original blob untouched). ✅ PL-T213
F05.05.22 Livré Sanction catalog with recommended-range engine — propose-sanction validates against precedent-derived [min,max] window; deviation requires rationale. ✅ PL-T213
F05.05.23 Livré Panel decision with optimistic locking — confirm_panel_decision requires expected_deliberation_version; majority-vote enforced; auto-advances case to appeal_window_open. ✅ PL-T213
F05.05.24 Livré Sanction lifecycle ticks — appeal_window_close_tick (5 min), sanction_expiry_tick (15 min), automatic pending_appeal_window → active → expired. ✅ PL-T213
F05.05.25 Livré Formal appeals workflow — file → admissibility → hearing → decided (overturned/modified/upheld/dismissed); cascades sanction status; opens next-tier escalation window if upheld/modified. ✅ PL-T213
F05.05.26 Livré Cross-tenant suspension registry — published to FIPJP tenant, signed payload (HMAC-SHA512 stub → ES512 in prod), replicated to subscriber LocalSuspensionCache for O(1) license checks. ✅ PL-T213
F05.05.27 Livré Cross-tenant fan-out reconciler — every 4 h: retries pending fan-outs (max 8 attempts), expires entries past effective_until, ack tracking per tenant. ✅ PL-T213
F05.05.28 Livré Precedent materializer — every 1 h: snapshots terminal cases into SanctionPrecedent registry (anonymised case-id hash) so search & recommended-range stay warm. ✅ PL-T213
F05.05.29 Livré Public protocol publication — anonymised, locked Markdown ProtocolDocument; refuses safeguarding cases and minor subjects; corrections appended as immutable diffs (original markdown preserved). ✅ PL-T213
F05.05.30 Livré GDPR legal-hold + retention sweep — cases default legal_hold=True; case_retention_sweep (24 h) flags expired non-held archived cases for purge. ✅ PL-T213
F05.05.31 Livré Discipline audit dual-write — every action writes both DisciplinaryAuditEntry (domain-specific) and platform AuditLog. ✅ PL-T213
F05.05.32 Livré Self-service player view — /me/discipline/cases lists own cases & sanctions; /me/discipline/sanctions/{id}/appeal files appeal within window. ✅ PL-T213