Namespace id.entity.ext.e7@0.1.0

Compatible with Concerto versions ^3.0.0. Has 6 declarations.

Built on this namespace - the text published at templates.entity.id that these types drive:

Concerto JSON AST PlantUML XML Schema Typescript C# OData JSON Schema GraphQL Java Go Avro Markdown OpenAPI Protobuf Mermaid

Declared Types

      
      import id.entity.ext.e7@0.1.0.SelectionRule from /ext-e7@0.1.0.cto
      import id.entity.ext.e7@0.1.0.ElectedByConstituents from /ext-e7@0.1.0.cto
      import id.entity.ext.e7@0.1.0.AppointedByOffice from /ext-e7@0.1.0.cto
      import id.entity.ext.e7@0.1.0.ExOfficio from /ext-e7@0.1.0.cto
      import id.entity.ext.e7@0.1.0.Office from /ext-e7@0.1.0.cto
      import id.entity.ext.e7@0.1.0.OfficesExtension from /ext-e7@0.1.0.cto
      
      

Dependencies

Source

    /*
 * E7 - Offices and Delegation
 *
 * Offices, organs, how holders are selected, and which capacities are
 * delegated to them. A polity's Council, a corporation's officers, a
 * guild's elected officer all instantiate this. Lean but real per the
 * MVP cut.
 *
 * provenance:
 *   source: universal-constitution v2-minimal-core-study.md ยง5 (E7, new)
 *   licence: Apache-2.0
 */
concerto version "^3.0.0"
namespace id.entity.ext.e7@0.1.0

import id.entity.core@2.2.0.{Extension, Cardinality, Capacity, DecisionRule} from https://models.entity.id/core@2.2.0.cto
/** How an office holder is chosen. */
abstract concept SelectionRule {
}

/** Elected by the Constituents under a stated rule. */
concept ElectedByConstituents extends SelectionRule {
  o DecisionRule electionRule
}

/** Appointed by a named office or organ. */
concept AppointedByOffice extends SelectionRule {
  o String appointingOffice
}

/** Held ex officio by whoever holds another named position. */
concept ExOfficio extends SelectionRule {
  o String byVirtueOf
}

/** An office or organ of the Entity. */
concept Office {
  o String title
  o Cardinality holders
  o SelectionRule selectedBy
  o Capacity[] delegatedCapacities
  o Integer termYears range=[1,] optional
  o Boolean removableByElectors default=true
}

/**
 * E7 Offices and Delegation - attached to a Constitution via clause 6.2.
 */
concept OfficesExtension extends Extension {
  o Office[] offices
}