/* * E3 - Admission and Membership * * How a person becomes, remains, and stops being a Constituent beyond the * Core's consent floor (2.2) and withdrawal capacity (2.4): admission * procedure, eligibility, expulsion. Lean but real per the MVP cut. * * provenance: * source: universal-constitution v2-minimal-core-study.md (Extensions register) * licence: Apache-2.0 */ concerto version "^3.0.0" namespace id.entity.ext.e3@0.1.0 import id.entity.core@2.2.0.{Extension, DecisionRule} from https://models.entity.id/core@2.2.0.cto /** How admission is decided. */ abstract concept AdmissionRule { } /** Anyone meeting the eligibility criteria may join by their own act. */ concept OpenAdmission extends AdmissionRule { } /** Admission requires approval under a stated rule. */ concept AdmissionByApproval extends AdmissionRule { o DecisionRule approvedBy } /** Admission only by invitation of an existing Constituent or organ. */ concept AdmissionByInvitation extends AdmissionRule { o String invitedBy optional } /** No new Constituents are admitted. */ concept ClosedAdmission extends AdmissionRule { } /** Grounds and procedure for removing a Constituent. */ concept ExpulsionRule { o String[] grounds o DecisionRule decidedBy } /** * E3 Admission and Membership - attached to a Constitution via clause 6.2. */ concept AdmissionExtension extends Extension { o AdmissionRule admission o String[] eligibilityCriteria optional o ExpulsionRule expulsion optional o Integer noticeDaysForWithdrawal range=[0,] optional }