<!-- MIT License. Copyright (c) 2026 Decentralized Science Labs LLC. -->
<!-- summary: The versioned constitution: version 1 at creation, amendments by critical vote, the version history and comparisons, and announcements with their limits. -->
# The constitution and announcements

Every DAO has a constitution: a Markdown text with the community's purpose and rules, published as version 1 when the DAO is created and changed only by vote. Every version stays on-chain. This page explains how versions are stored and amended, how to read the history, and how announcements work. It is for members and representatives.

## What the constitution is

The constitution's text lives in TextStore, COLLAB's on-chain storage for texts, where each text is addressed by its keccak256 hash and can never change once written. A version can take up to 1 MiB (1,048,576 bytes). The DAO's profile contract keeps the list of versions: for each, where its text is stored, its hash, when it was adopted and the proposal that adopted it. Version 1 records the founding instead of a proposal.

Pages show a version only when its text matches the hash recorded with it: "Each version is stored on-chain and checked against its hash before it is shown."

The constitution records what members agreed; the contracts enforce what the DAO can do. Put enforceable rules, such as quorum, thresholds and deposits, into the governance settings ([Governance rules and presets](governance-rules.md)), and use the constitution for purpose, conduct, membership, data and publication policies, and how the text itself changes. The creation wizard's templates (research collective, lab consortium, institute or university, company research and non-profit foundation) are written that way, and describe only what the contracts actually enforce or allow; see [Create a DAO](create-a-dao.md#step-2-constitution).

![A DAO's constitution, set like a journal article, with its version note, contents and history in the margin](figure:dao1-constitution)

## Amending the constitution

Only a Constitution proposal can change the constitution, and it always uses the critical rules. The DAO's **Constitution** section states them: "Amendments are critical proposals: voting lasts …, needs …% turnout and more than …% Yes, then waits … before it takes effect."

The builder **Amend the constitution** loads the version in force, checks it against its hash and lets you edit it. Its side panel shows the changes line by line, with the lines added and removed, and the size. When you review the proposal, the new text is stored on-chain first: "your wallet asks for one or more transactions to publish it in TextStore, or none if this exact text is already stored. The proposal then refers to it by address and keccak256 hash." The proposed title says what changed, such as "Amend the constitution (+12 −3 lines)".

- An amendment adds a new version and never overwrites one.
- Each amendment replaces the whole text. If two amendments pass, the one executed last becomes the constitution, and the other's changes are lost unless it included them. The builder warns when another amendment is already in progress.
- The builder refuses an empty text, and a text identical to the version in force.
- A text larger than 1 MiB is refused.

## Reading the constitution and its history

The DAO's **Constitution** section, at `/dao/<web address>/constitution`, shows the version in force, set like a journal article: the text with numbered articles, and in the margin the version note ("Version …, adopted by proposal #… on …", or "adopted at the founding on …"), the result of the hash check, **Contents** and **Versions**. Its buttons:

- **Print** and **Copy Markdown**;
- **See the … changes from version …**, or **Compare with version …**, for the differences from the previous version;
- **Propose an amendment**, which opens the builder.

Every version stays readable forever:

| Address | What it shows |
|---|---|
| `/dao/<web address>/constitution` | The version in force |
| `/dao/<web address>/constitution/v<n>` | Version n, marked "This is not the version in force." when it is an older one |
| `/dao/<web address>/constitution/compare/<a>/<b>` | **Compare versions**: every change between two versions, line by line |

The **About** card of the DAO's overview shows which version is in force and which proposal adopted it, with **Read it** and **Propose an amendment**.

## Announcements

An announcement is a titled update to members, posted in the DAO's name. "Announcements inform; they never change what the DAO can do."

- **Limits.** The title takes 1 to 80 bytes of well-formed UTF-8 without control characters. The text is Markdown of up to 128 KB (131,072 bytes), stored in TextStore and shown only when it matches its hash.
- **Posted by a representative.** A representative with **Post announcements** posts from the DAO's **Settings**, under **Your representative tools**: **Post an announcement**, with an **Announcement title** and an **Announcement text**, then **Post announcement**. "Two transactions: the text is stored first, then announced with your address."
- **Posted by proposal.** Any member with enough voting power can propose one: a **Representatives & profile** proposal with **Post an announcement**, under the standard rules. "Publish an announcement in the DAO's name once the vote passes. The text is stored on-chain before review." It is then posted by the DAO's treasury address.
- **Where it shows.** The **Announcements** card on the DAO's overview lists the latest five, each with its title, date, who posted it and its text, and says how many there are in all.

An announcement cannot be edited or removed once posted: it is a record on the chain, like the constitution's versions. Representatives and their permissions are on [Representatives](representatives.md).

## Related

- [Proposal types](proposal-types.md#constitution): the Constitution type, always critical.
- [Proposals and voting](proposals.md): how an amendment is voted on and executed.
- [Create a DAO](create-a-dao.md#step-2-constitution): version 1 and the templates.
- [Representatives](representatives.md): who may post announcements without a vote.
- [Key concepts](concepts.md): the constitution among the other ideas of COLLAB.
