Amending the constitution is a governance action like any other, except it uses the amendment_threshold instead of the normal voting_threshold, and it may trigger additional escalation.

Amendment proposal

const amendment = await orgs.proposals.create({
  entity: "helios-research",
  kind: {
    type: "amend",
    before: currentConstitutionYaml,
    after: newConstitutionYaml,
    rationale: "Raising daily spend limit from $10K to $25K to accommodate Q2 compute spend.",
  },
});
The platform:
  1. Diff-renders before vs. after for member review
  2. Validates after against the full schema
  3. Checks that after does not violate statutory floors (e.g., dissolution < 0.51)
  4. Checks that after.amendment_threshold >= current.voting_threshold
  5. Opens voting at amendment_threshold

Two-thirds-of-itself principle

If the amendment changes amendment_threshold itself, the amendment uses the current threshold — not the proposed new one. An amendment to lower the amendment threshold is held to the stricter current rule. This prevents bootstrapping: you cannot amend the amendment rule out by amending it.

Operating Agreement amendment

Constitution amendments that change member roles, spend limits, or governance structure automatically trigger an Operating Agreement amendment. The OA gets re-drafted from the new constitution and re-signed by all members. If a member refuses to sign the amended OA, the amendment can still pass (they voted or didn’t) — but the OA captures their non-signature. This may have downstream consequences (e.g., withdrawal procedures under Wyoming LLC statute).

Member-added amendments

Adding a member via amendment requires the new member’s DID to be verifiable and their signature on the amendment (consent to terms). Otherwise, the amendment is rejected at validation.

Audit trail

Amendment proposals store the before/after YAML in the audit chain, along with the full vote history and all signatures. Version history is queryable:
orgs entity history helios-research \
  --type amendment \
  --since 2026-01-01
Returns:
[
  {
    "version": 2,
    "amendment_id": "prop-2026-03-15-0012",
    "executed_at": "2026-03-18T10:00:00Z",
    "diff": "...",
    "vote_tally": { "approve": 3, "reject": 1 }
  }
]