Governance Bodies & Commissions
En resumen
Governance Bodies & Commissions runs the formal organs of a federation — disciplinary commissions, umpire commissions, medical, selection and any other standing or ad-hoc committee — including their typed mandates, members, term limits, rotation rules, conflict-of-interest declarations and meeting decisions with auto-numbered references, all backed by an immutable, tenant-isolated governance audit log queryable by action taxonomy.
Cómo funciona
The domain is built around three documents. A Commission carries a typed scope (CommissionScope: jurisdiction × authority_level × authority_areas × reports_to) and binds members through CommissionMembership entries that hold a role (chair, deputy, member, secretary), term dates and rotation metadata. A Meeting hangs underneath with agenda items, minutes and Decision children.
A GovernanceAuditLog records every mutating call as an append-only row scoped strictly to the tenant. The /commissions router exposes CRUD plus filters on type/status/jurisdiction/authority_level and a /commissions/{id}/rotation-report that combines term_limit_months, max_consecutive_terms, rotation_policy and a 120-day gap-reset rule to surface members whose mandate is about to expire or who are blocked from another consecutive term. Member CRUD includes structured ConflictOfInterestDeclaration objects with a typed lifecycle (declared → acknowledged → recused → resolved); /commissions/{id}/conflicts lists across the commission so the chair can vet upcoming votes.
Meetings move through their agenda; when a Decision is created it starts as draft, transitions through adopted → published → rescinded, captures the vote split (for/against/abstain), and is auto-stamped with a {YYYY}-{NNN} reference number. Once published, the decision is queryable across all meetings via /meetings/published/decisions, which is what feeds the public regulatory feed and ties back to F01.04 rule changes. Every write — commission create/update, member add/remove, conflict declaration, decision lifecycle transition — appends a GovernanceAuditLog row that the read-only /governance/audit router exposes with filters and a /governance/audit/actions taxonomy.
Tenant isolation is enforced at the model layer: an FFPJP secretary can never see SBF audit traffic, even via the audit router.
Capacidades clave
- Maintain a typed registry of commissions with explicit jurisdiction, authority level and reporting line.
- Manage commission membership with rotation policy, term limits and consecutive-term tracking.
- Run meetings end-to-end: agenda, minutes, decisions and structured vote summaries.
- Publish decisions with auto-numbered references and surface them across the federation.
- Capture and resolve conflict-of-interest declarations through a typed four-state lifecycle.
- Audit every governance action in an immutable, tenant-scoped log queryable by action taxonomy.
En la práctica
On a Wednesday afternoon the chair of the SBF disciplinary commission opens a scheduled meeting. Three agenda items are queued, one of which concerns a club where a sitting member has a declared conflict. The chair opens /commissions/{id}/conflicts, sees the declaration in state acknowledged, and uses the member-scoped endpoint to transition it to recused for this specific item.
Voting happens live: 4 for, 0 against, 1 abstain (the recused member). The decision is saved as draft, then adopted, then published — auto-stamped 2026-027. A GovernanceAuditLog row is written for every step.
Two days later the federation president pulls the rotation report and sees that the chair's own term expires in 87 days, with no consecutive-term renewal allowed.
Funcionalidades de este subsistema
8| ID | Status | Funcionalidades |
|---|---|---|
| F01.02.01 | Entregado | Commission/committee registry (disciplinary, umpire, medical, selection, etc.) — /commissions CRUD + filter på typ/status/jurisdiction/authority_level ✅ PL-F0102a |
| F01.02.02 | Entregado | Commission membership management (chair, members, terms) — add/update/remove + expiring-terms ✅ PL-F0102a |
| F01.02.03 | Entregado | Commission mandate and scope definition — strukturerad CommissionScope (jurisdiction × authority_level × authority_areas × reports_to) med org_node-invariant ✅ PL-F0102a |
| F01.02.04 | Entregado | Meeting management (agenda, minutes, decisions) — /meetings CRUD + agenda/minutes/decisions-sub-endpoints ✅ PL-F0102a |
| F01.02.05 | Entregado | Decision tracking and publication — lifecycle draft → adopted → published → rescinded, röstningssammanfattning, auto-genererat {YYYY}-{NNN}-referensnummer och tvärmötes-listning på /meetings/published/decisions ✅ PL-F0102b |
| F01.02.06 | Entregado | Term limits and rotation tracking — term_limit_months, max_consecutive_terms, rotation_policy, konsekutiv-term med 120-dagars gap-reset och /commissions/{id}/rotation-report ✅ PL-F0102b |
| F01.02.07 | Entregado | Conflict of interest declarations — strukturerad ConflictOfInterestDeclaration (typ × status) på ledamot, /commissions/{id}/conflicts listning + member-scoped CRUD med lifecycle-invarianter ✅ PL-F0102b |
| F01.02.08 | Entregado | Audit trail on all governance actions — append-only GovernanceAuditLog skrivs från samtliga muterande endpoints, read-only /governance/audit-router med filter och /actions-taxonomi, tenant-isolerad ✅ PL-F0102b |
Subsistemas relacionados
Partes interesadas que necesitan este subsistema
Aparece en 8 análisis de partes interesadas