Compatible with Concerto versions ^3.0.0. Has 7 declarations.
Concerto JSON AST PlantUML XML Schema Typescript C# OData JSON Schema GraphQL Java Go Avro Markdown OpenAPI Protobuf Mermaid
import id.entity.ext.e3@0.1.0.AdmissionRule from /ext-e3@0.1.0.cto
import id.entity.ext.e3@0.1.0.OpenAdmission from /ext-e3@0.1.0.cto
import id.entity.ext.e3@0.1.0.AdmissionByApproval from /ext-e3@0.1.0.cto
import id.entity.ext.e3@0.1.0.AdmissionByInvitation from /ext-e3@0.1.0.cto
import id.entity.ext.e3@0.1.0.ClosedAdmission from /ext-e3@0.1.0.cto
import id.entity.ext.e3@0.1.0.ExpulsionRule from /ext-e3@0.1.0.cto
import id.entity.ext.e3@0.1.0.AdmissionExtension from /ext-e3@0.1.0.cto
/*
* 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
}