Edition 02 of the minimal charter: the recital, identity, purpose, and the adoption block.
Minimal Charter 02
Edition 02 of the minimal charter: the recital, identity, purpose, and the adoption block. Identity and purpose are stated in the base because every entity has a name and every charter that states a purpose states it the same way; the purpose is the client's own words, falling back to any lawful act or activity when none is given. Nothing else is in the base. A term that is neither legally required nor factually true of the entity is not written down - an entity with no fixed end date carries no duration article, it simply adopts none.
This document
- Document: Constitution (
constitution)
- Render model:
id.entity.render.core@2.2.0.ConstitutionRender
- Projection:
coreRenderData (model-factory lib/project-render-data.mjs)
The text is TemplateMark. It renders from sample.json, which is a
deterministic projection of a canonical Entity.ID Constitution instance
onto the flat render concept above - not the canonical instance itself.
Provenance
- Source: Entity.ID drafting, 2026-10-03: edition 02 of the minimal charter, stating identity and purpose in the base
- Licence: Apache-2.0
Regenerating
Do not hand-edit this directory. It is generated:
node scripts/import-entity-templates.mjs [path-to-model-factory] # emits src/minimal-charter-02
Constitution of MERIDIAN COLLECTIVE
The undersigned, for the purpose of constituting MERIDIAN COLLECTIVE as an entity distinct from themselves and of stating the terms by which it exists, acts and changes, certifies that the articles set out below are adopted as its Constitution, and that the statements made in them are true and correct.
This Constitution is adopted on the open register. No law of any jurisdiction is incorporated into it except by an article adopted below.
Article I - Identity
1.1 The Entity is named MERIDIAN COLLECTIVE and is identified by meridian-collective.public.entity.id.
1.2 Where the Entity is recognised as a legal person under any law, that person is its successor: it carries this identifier, this record, and this Constitution so far as that law permits.
Article II - Purpose
2.1 The purpose of the Entity is any lawful activity, initially the development and sale of software.
Adoption
Adopted by the Members on 15 September 2026, and recorded under meridian-collective.public.entity.id. The Registry Rules in force at adoption are accepted by this adoption.
Signature table - record hash - announcement reference
Constitution of MERIDIAN COLLECTIVE
====
The undersigned, for the purpose of constituting **MERIDIAN COLLECTIVE** as an entity distinct from themselves and of stating the terms by which it exists, acts and changes, certifies that the articles set out below are adopted as its Constitution, and that the statements made in them are true and correct.
This Constitution is adopted on the open register. No law of any jurisdiction is incorporated into it except by an article adopted below.
Article I - Identity
----
**1.1** The Entity is named **MERIDIAN COLLECTIVE** and is identified by **meridian-collective.public.entity.id**.
**1.2** Where the Entity is recognised as a legal person under any law, that person is its successor: it carries this identifier, this record, and this Constitution so far as that law permits.
Article II - Purpose
----
**2.1** The purpose of the Entity is any lawful activity, initially the development and sale of software.
Adoption
----
Adopted by the Members on 15 September 2026, and recorded under meridian-collective.public.entity.id. The Registry Rules in force at adoption are accepted by this adoption.
*Signature table - record hash - announcement reference*
# Constitution of {{entityName}}
The undersigned, for the purpose of constituting **{{entityName}}** as an entity distinct from themselves and of stating the terms by which it exists, acts and changes, certifies that the articles set out below are adopted as its Constitution, and that the statements made in them are true and correct.
This Constitution is adopted on the open register. No law of any jurisdiction is incorporated into it except by an article adopted below.
## Article I - Identity
**1.1** The Entity is named **{{entityName}}** and is identified by **{{identifier}}**.
**1.2** Where the Entity is recognised as a legal person under any law, that person is its successor: it carries this identifier, this record, and this Constitution so far as that law permits.
## Article II - Purpose
**2.1** The purpose of the Entity is {{purpose}}.
## Adoption
Adopted by the {{constituentNounPlural}} on {{adoptedOn as "D MMMM YYYY"}}, and recorded under {{identifier}}. The Registry Rules in force at adoption are accepted by this adoption.
*Signature table - record hash - announcement reference*
{
"$class": "id.entity.render.core@2.2.0.ConstitutionRender",
"entityName": "MERIDIAN COLLECTIVE",
"identifier": "meridian-collective.public.entity.id",
"register": "the Entity.ID register",
"purpose": "any lawful activity, initially the development and sale of software",
"constituentNoun": "Member",
"constituentNounPlural": "Members",
"constituentCount": 2,
"constituents": [
{
"$class": "id.entity.render.core@2.2.0.ConstituentRender",
"name": "Amara Osei",
"constituentText": "a natural person, holding the recorded capacities act, amend and withdraw"
},
{
"$class": "id.entity.render.core@2.2.0.ConstituentRender",
"name": "Jordan Reyes",
"constituentText": "a natural person, holding the recorded capacities amend and withdraw"
}
],
"deathIncapacityRule": "their capacities lapse and their interest passes to their successor in title, who holds it without capacity until admitted",
"actRule": "the Manager, or a majority of the Members acting together",
"amendmentRule": "a majority of the units in issue",
"interpreter": "the Members, under the rule in 3.2, and failing agreement by the arbitrator recorded in the register",
"answerabilityRule": "no Member is personally answerable",
"term": "perpetually",
"adoptedOn": "2026-09-15T00:00:00.000Z"
}
/*
* id.entity.render.core - the render view model for constitution-core.
*
* NOT a canonical data model. The canonical instance is an
* id.entity.core@2.2.0.Constitution (models/core@2.2.0.cto); this concept
* is its deterministic text projection, produced by
* lib/project-render-data.mjs (the declared six-answers map) and consumed
* by templates/en/constitution.md. Property paths are preserved from the
* canonical model (coherence rule): a typed answer under `actRule`
* projects to a String under `actRule`. Computed presentation fields
* carry a `Text` suffix and exist only here.
*
* Versioned with the catalog package (minimal-charter-02@1.0.0), not published
* to the model registry.
*
* DELIBERATELY the same namespace and concept as constitution-core's
* render model. The minimal edition differs by what its TEMPLATE renders,
* not by what the canonical instance can carry, so one projection
* (coreRenderData) serves both. Each package renders in its own
* ModelManager, so the shared namespace never collides. Until ask A-5
* lands - a data-driven projection mechanism - the projection's output
* $class is hard-coded in lib/project-render-data.mjs, and a renamed
* namespace here would simply fail to resolve.
*
* provenance:
* source: models/core@2.2.0.cto + models/ext-e1@0.1.0.cto (projection)
* licence: Apache-2.0
*/
namespace id.entity.render.core@2.2.0
import org.accordproject.runtime@0.2.0.{Request,Response} from https://models.accordproject.org/accordproject/runtime@0.2.0.cto
concept ConstituentRender {
o String name
o String constituentText
}
/**
* Projection of an adopted E1 EconomicInterestExtension (company variant).
* unitClasses and holdings are pre-joined text, not list concepts: the
* engine evaluates list blocks eagerly even inside a clause block that is
* later skipped, so a list under this optional concept would fail for
* instances without E1 (marriage, network state).
*/
concept EconomicInterestRender {
o String stakeModel
o String unitClasses
o String holdings
o String distributions
o String transfers
}
@template
concept ConstitutionRender identified by identifier {
o String entityName
o String identifier
o String register
o String purpose
o String constituentNoun
o String constituentNounPlural
o Integer constituentCount
o ConstituentRender[] constituents
// The six answers, projected concept -> String under the same names
o String deathIncapacityRule
o String actRule
o String amendmentRule
o String interpreter
o String answerabilityRule
o String term
// Present only when the instance adopts E1 (company variant); the
// template's E1 clause block is skipped when absent.
o EconomicInterestRender economicInterest optional
o DateTime adoptedOn
}