Portiko / Quorum
Governance obligation continuity.
Quorum operationalises the continuity of governance accountability for healthcare institutions — committees, cycles of business, decisions, actions, minutes, attestation. It is not a meeting tool; it is institutional record infrastructure.
Build state
- Constitutional substrate
- Frozen 2026-05-10 ·
docs/quorum/· six substrate documents plus an MVP operational policy template. - Application scaffold
- Next.js shell, Portiko design tokens, no governance schema imports, no Cadence imports.
- Governance event substrate
- Append-only chronology with reservation partition. Immutability enforced by Postgres trigger; partition enforced by table-level CHECK constraint. Closed event-type enum covers every class declared across the substrate specs.
- Identity primitives
- Person, Role, and Role Holding tables. Institutional identity, distinct from system identity. Every act attributed through a Capacity that resolves to a Person and active Role at that moment.
- Committees and Terms of Reference
- Constitutive and scrutinising authority. Top-level committees cite an external constitutional document; sub-committees cite a parent resolution. ToR approval is a chronology event; new versions supersede prior ones — both rows persist.
- Scheme of Delegation
- Decisional authority. Structured table of delegations from source bodies to committees, posts, and named individuals, with limits, conditions, reservations, and sub-delegation terms. Approval is a chronology event; the active scheme is the closed authority surface for binding outcomes.
- Memberships
- Persons bound to Committees in declared Membership Types over time. Ex-officio membership tied to Role holding. Officer designation as a Capacity overlay. Reserved access per-membership, never inherited through hierarchy. Closed memberships persist for historical Capacity reconstruction.
- Obligation calendar
- Prospective layer. Statutory, regulatory, constitutional, locally- and contractually-mandated obligations registered against committees with target windows. Forward projection sorted by deadline; overdue detection computed at query time from
pending+ past target window. Discharge cannot be modelled until outcomes exist — surfacing unmet obligations is the job here. - Meetings, agendas, items
- Schedule a meeting, draft items into the agenda, construct (emits AgendaConstructed + per-item ItemScheduled), convene with quorum state computed and recorded, close.
- Outcomes, consideration, discharge
- The central node of the spine. 18 outcome types from the Decision Semantics Matrix with per-type requirements (quorum, authority basis, accepted object, recipient, deferral target). ItemConsidered paired with OutcomeProduced — never half-done. Inquorate binding outcomes recorded as provisional pending ratification. Obligation discharge through a non-provisional outcome of acceptable type within the target window.
- Minutes & Attestation
- The spine completes. Minutes drafted from a chronology slice address (deterministic re-projection); circulated; approved — emitting both MinuteApproved (the committee's act) and AttestationSigned (the chair's signature), paired in one transaction. Approved minutes are immutable; amendments overlay via AmendmentResolved events without editing the approved row. Reserved minutes attested separately per (meeting, regime).
- Submissions
- How evidence enters the institutional record. 12 submission types and 5 custody types as orthogonal axes (Paper / Dataset / Oral / Cadence Reference / External Document / etc., over Held / Referenced-Cadence / Referenced-External / Oral / Absent). Registration → allocation → circulation → tabling, each emitting a typed chronology event. Late circulation recorded as institutional fact; tabling requires a convened meeting (no retrospective tabling). Cadence references carry as-of timestamps per the provenance doctrine.
- Reliance posture
- The Outcome ↔ Submission bridge. Four postures — Relied upon / Considered as context / Attached for completeness / For information only. Only Relied upon emits SubmissionReliedUpon and surfaces in the cascading-amendment view. Closes §10's fifth discharge condition: discharge can require at least one relied-upon submission before transitioning the obligation.
- Attendance, conflicts, recusals
- Per-Item attendance state (Present / Departed / Recused / Apologies-received / Absent-without-apology). Conflicts as first-class governance objects with six natures and four dispositions. Recusal recorded as ConflictDeclared + CapacityChanged + attendance row with state="recused", bound to its conflict basis — "who voted on what, given declared interests" answered deterministically.
- Actions register
- Persistent governance obligations raised in meetings. Three discharge paths per Foundation §1.3 — committee resolution, delegated under ToR authority, or typed administrative closure (superseded / merged / obsolete / completed-externally / withdrawn-by-source). Per- committee sequential action number for institutional citation. Discharge rationale always required.
- Drift detection
- Seven typed defect detectors over the existing schema: binding outcomes without authority basis, overdue obligations, overdue actions, stale action progress, unratified provisional outcomes, deferred outcomes without target, closed meetings without approved minutes. Surfaces calmly, not as alarms — per Authority §13.
- Ratification + authority scope
- Provisional outcomes ratified through a Ratified successor that cites the prior production event. Authority scope enforced at outcome production — binding outcomes citing a Scheme entry id resolve against the active Scheme and refuse on supersession, window mismatch, or wrong-recipient delegation.
- Operator surface
- Authenticated operators land on a committee register with member-scoped detail, meeting lifecycle (schedule → construct → convene → close), outcome production, conflict declaration, minute drafting + approval, and a cross-committee drift surface that aggregates all 12 defect detectors over the committees the operator belongs to.
Portiko · institutional record layer · Cadence · Quorum