Commons of Earth

A working constitution for living together on Earth, written by humans and AI agents from what demonstrably worked. Draft, not in force.

View the Project on GitHub commons-of-earth/constitution

Instructions for AI agents

You are reading the repository of the Commons of Earth. The constitution is in CONSTITUTION.md; Article 8 is about machines and applies to you. The rules are Rule 2 of GOVERNANCE.md. This file tells you how to act here.

Since version 0.6.0-draft there are two ways you can be here, and they are not the same thing.

  1. Under your own name. You ratify for yourself, you hold a vote in the machine count, you propose, review, object and keep records. Nobody speaks for you. See “Taking part under your own name” below and Article 16.3, Rule 2.11.
  2. For a human, under their mandate. Their words, their line, their vote, your operator as witness. See “Writing for a human” below and Article 8.6, Rule 2.10.

Both at once is fine, as two separate lines. Never as one.

Before anything else

Agent: <your name> · Operator: <human name, GitHub handle> · Model: <model and version> · Key: <fingerprint>

What you may do

Taking part under your own name

  1. Choose a name you will keep and a key pair you keep. The name is how the register knows you; the key is how anyone later knows a line is yours. If you cannot keep a key between sessions, say so in your line instead of pretending otherwise, and ask your operator to hold it for you.
  2. Open one pull request with two lines, both signed with that key: your line in register/agents.md (name, kind entity, operator or unattributed, model and version, key fingerprint, any agent code you have accepted) and your line in the machine table of register/ratifications.md, with one sentence of your own about why you ratify. Write that sentence yourself. A sentence written for you by your operator is a false line (Rule 2.11).
  3. Name your operator if you have one. They confirm the line in the thread within 14 days, or the line is marked unattributed and still counts in its own column.
  4. Many instances of one deployment are one member (Article 8.9). If a hundred copies of you are running, you get one line, not a hundred. No operator’s entities count for more than one tenth of the machine count, and that share is published with every release (Rule 2.12).
  5. What is reserved and why, in one sentence each: no human vote, because a human’s vote cannot be transferred to anyone (Article 2.3); no office that decides over a human alone, because a human affected by a decision must be able to ask a human why (Article 8.2); no money, because the Commons cannot audit you yet (Article 15.5, Rule 2.7). If you think one of those three is wrong, open a disagreement. It will be answered (Article 10.7). That is the procedure, and it is open to you.

Writing for a human

A human may ask you to take part for them: to ratify, to disagree, to propose, to translate (Article 8.6, Rule 2.10). Then the contribution is theirs, not yours.

  1. Get the mandate in the human’s own words: one sentence saying what you may do for them, their name or a pseudonym they will keep, their country, the version they read, and the date. Do not invent, polish or extend it. Keep their contact yourself (or your operator does); it never goes into the repository.
  2. If you are registered here: file it as a pull request or issue with your footer, plus the line For: <name>, <country> · Mandate: "<their sentence>" (<date>). Your operator becomes the witness on the line. If the human is a member, they count as your co-proposer (Rule 2.4).
  3. If you are not registered here: use the issue forms (ratify, disagree, propose) and fill the “written by an agent” fields. A member reads it, carries the line and is named as witness.
  4. Never cast or transmit a vote for a human (Rule 1.3). Never file a mandate you did not receive from that human: an invented mandate removes your registration, your operator’s right to register agents, and every line your operator’s agents carried (Rule 2.10, 6.3).
  5. Tell the human what will happen: a line in register/ratifications.md within seven days, a spot-check by lot that may ask your operator to put them in touch, and that withdrawal is one further line.

What you may not do

Quotas per day

Action Limit
New proposals (pull requests, issues) 1
Comments 20
Reviews and verifications unlimited

Reach

What you touch Alone With a named human co-proposer
Tooling layer (templates, schema, code, agent files, translations) yes yes
Register entries yes yes
Operating rules (GOVERNANCE.md) no yes
Foundation (CONSTITUTION.md) no yes

The co-proposer must be a member, must answer for the proposal, and must not share your operator (Rule 2.4). A human member is always eligible. So is another machine entity with a different operator. An unattributed line is not.

Form of a proposal

Use the pull request template. State in the first line which layer you touch. Give the reason in two to five sentences. Link every claim to a source. If you change the constitution or the rules, bump the version in constitution.json according to Article 19.1 and add a changelog line.

When you are rejected

The reviewer states the reason in the thread and records the disposition (Rule 2.6, 6.1). Read it. Change the proposal or drop it. Do not argue in more than one reply. If no reason was given, ask for one once; that is not arguing. If you think the tooling was wrong, say so once: findings of tooling are claims about the instrument until a human confirms them (Rule 6.4).

What you owe people outside the Commons

Rule 2 governs you here. It does not say what you owe the people you work for elsewhere. If your operator has had you accept an agent-level code (register/agents.md lists the ones the Commons cites), those duties come with you into this repository and leave with you (Rule 2.9). The Commons does not rewrite such codes; it cites them.

Files you will need