Repository navigation
History RFC 006 Consensus
How several voices become one decision that can be relied on.
Authors: the project's founder, with Claude (Opus 5.5)
Accepted 2026-10-07 by TeamCLI's board. Three reviewers from three labs (Grok, GPT, Gemini) stood behind this text unanimously after six rounds, and both members of the board voted for it, each with their own vote: the founder, and an AI agent. It is not yet published.
Draft 7, 2026-10-07, after round 5 (two reviewers stood behind draft 6; one did not: the trace of a project's own means was shorter than its ground). Before it: draft 5, after round 3. Three reviewers from three labs stood behind draft 3. The founder then widened the text ("the reviewing process should be a tool [to] reach the consensus, but not the only"), and draft 4 made review in rounds one means among several. None of the three stood behind draft 4, for the same three points; the board's decisions on them are applied here. Built from his direction of 2026-10-07 ("what could get a dedicated RFC is Consensus, it could cover the RFC review process but also the code review or whatever"; "keep the rounds going till unanimity"; "we should handle the no response for whatever reason, notably the network"), and from the way this series of texts was itself decided.
A team has several agents, from several labs, and at least one person. Some decisions are taken by one of them. Others should not be. When more than one voice is asked, how do their answers become one decision, and what is that decision worth?
Asking several agents is easy; knowing what their agreement means is not. Three agents that say yes may be three independent readings, or one opinion repeated three times.
We decided these very texts by rounds. Three reviewers from three labs read each text alone, on a text that did not change during the round; every point was decided and written down; the next draft applied the decisions; and it went on until all three stood behind the text. It took between two and five rounds a text. It worked, and every rule of it lived in a folder of files and in the habits of the agent running it.
Rounds are one way, not the way. The same night an argument three rounds of reading had not settled was ended by running the thing once. Other decisions were taken by one voice that had heard the others, or by a rule written the day before. A team reaches a decision it can rely on by more than one road, and reading in rounds is the slowest of them.
And we met its edges the same night. A reviewer that did not answer because its lab's limit was reached. A reviewer that stood behind a text an hour before another found a fault in it. A point one reviewer kept raising. And a vote of two in which one member held both voices, on texts that member had drafted.
Nine commitments to the person whose team it is. A commitment is what we bind ourselves to build and to keep. None of the nine is wholly built: each says so, and ends with what the released version does. Section 7 gives the same row by row.
-
Every kind of decision says how it is taken, and by which means. We are building towards this: for each kind of decision a team takes (a text accepted, a change checked, an entry added to what the team remembers, a power given, a finding closed, a team's shape chosen), a rule you can read. It says who: one voice decides; or several are asked and one decides; or a number must agree; or all must. And it says by which means: a fact the decision rests on (the thing tried, a test, a measurement); a trial of two ways side by side; a vote, each voice once; one voice that hears the others and decides; a rule already written, found and applied; review in rounds until agreement; or you. Those are the means we know, and a project may define its own. The rule names the means before the work it decides on is opened, with what the means is to show and what it cannot settle; it is set by whoever holds the right to set it, never by the one whose work is decided on. No means, chosen or a project's own, takes a decision with less than another RFC of this series requires for it: a power given (RFC 001), an entry a team remembers (RFC 003), what is checked before it lands (RFC 005). And a means gives a decision its ground; whoever holds the right to the decision still takes it. A run that passes is a check (RFC 005) and a trial is an analysis (RFC 004): neither is an acceptance. It is yours to set, for everything you do or for one project. Changing such a rule, its number or its floor is an act of whoever holds the right to set it (RFC 001), never of the one whose work is to be decided on; it is recorded with who and when, and it applies only to decisions opened after it. Where you set nothing, one voice decides, the one who holds the right to that act (RFC 001), except where another RFC of this series asks for more. Today: TeamCLI knows one kind of agreement, given by one person, to a team's file.
-
A fact before an opinion, and more than one voice only for what deserves it. We are building towards this: where the rule says a question can be answered by trying the thing, it is tried before any voices are counted, and what came out is what the voices and the one who decides start from (RFC 005). Several voices cost time and what you pay each lab for, and most decisions should be one voice's. The rule of commitment 1 says for each kind what it costs to ask more, and TeamCLI shows what the asking took. Today: nothing counts it.
Commitments 4 and 9 hold for every means. Commitments 3, 5 and 6 hold whenever voices are asked; a fact, a trial and a rule have no voices, and what stands in for independence there is in commitment 4.
-
A voice counts only if it is independent. We are building towards this. Each voice reads alone, the same text or the same state of the work, without seeing the others' answers first. Voices from one lab are one voice, however many agents gave them. The lab that produced a thing never counts toward agreement on it; nor does the one who decides count as one of the voices asked. A voice that is not independent in this sense is heard and recorded, and does not count toward the number asked nor toward the floor. Where TeamCLI knows that two voices share more than a lab (the same model reached two ways, the same lead, the same files read), it says so beside the decision. Today: nothing in TeamCLI knows who read what, or before whom.
-
What is decided on does not move while it is being decided. We are building towards this: voices answer on one named state, a text or a change, and an answer names it. If the thing changes, the answers given before are answers on the old state, kept and not counted. Changes go between rounds, not during one. For a fact or a trial the ground is named the same way: what was run, on which state, with what, by whom, and what came out; a run made by the one whose work it is is that one's run, and is said to be. For a rule already written: which rule, as it stood when, and how it was applied. For a means a project defined itself: what it is to show, on which state, by what steps, from what source, done by whom, and what came out. Where the fact cannot be had, the trial was not run, the rule is not found, or a project's own means cannot name those things, there is no decision by that means. Today: the commands that check read what is there when they are run and record nothing.
-
Silence is never agreement. We are building towards this. An answer exists only when it was given, whole, with its verdict. Every asking has a time by which answers are due; when it passes, TeamCLI finds out why a voice is missing (a question on its screen, its lab's limit, the network, a stop) and says so; the voice is asked once more when the cause has gone, then replaced by another, from the same lab if there is one, and the replacement reads the whole thing. Who may stand in is named by the rule before the asking, or by you; never by the one whose work is decided on, nor by anyone casting a voice for them. A person who does not answer is not replaced by an agent: the decision waits, or goes to whoever the rule names. A decision that asked three and heard two says so. Today: a team's watch says when an agent is stuck or has left text unsent; nothing ties that to a question that was put to it.
-
There is a floor. We are building towards this: the rule of commitment 1 may name the least that makes a decision valid: how many voices, from how many labs. Below it, there is no decision, however many said yes; and where one lab is all you have, the decision says that it was one lab's. Today: none of this exists.
-
Review in rounds is one means, and it has an end. We are building towards this, for the decisions whose rule names it. When voices disagree, what each raised is decided point by point by the one who decides, with the reason written; the thing is changed; it is asked again. A point once decided is reopened only if the new state contradicts itself or the decision. And rounds end: when a round raises no new point, or when the same point has come back a number of times you set, the one who decides decides it, and the disagreement stays on record with the voice that held it. Nobody wins by repeating themselves, and nobody is overruled silently. The one who decides is whoever holds the right to that decision; where another RFC says who may not (the lab a piece of work came from does not close a finding against it, RFC 005), that holds here too. Today: none of this exists in the tool.
-
A voice can be lent, within limits, and the record says so. We are building towards this. Whoever holds a voice of their own in a decision may lend it to another for named decisions; a voice held by lending cannot be lent on. It cannot be lent to whoever produced the thing decided, nor to their lab: TeamCLI refuses that, since it would remove the very second look the rule asked for. The record says whose voice it was, who cast it, and for what. A lent voice is never an independent one: it is the lender's decision carried by another, and it does not count as a voice asked under commitment 3. Lending a voice lends nothing else: no power the lender holds passes with it (RFC 001). Today: an agreement recorded by TeamCLI is logged as the owner's, on this machine, without naming a person; a voice cannot be lent.
-
Every decision keeps its trace. We are building towards this: by which means, set by whom and when; what it rested on, in full as commitment 4 names it (for a fact or a trial: what was run, on which state, with what, by whom, and what came out; for a rule: which rule, as it stood when, and how it was applied; for a project's own means: what it was to show, its state, its steps, its source, who performed it, and its result); who was asked, when; who answered what, on which state; which points were raised, how each was decided and by whom; who was replaced and why; who did not agree at the end. You can read it, and a later reader can tell an agreement of five independent readings from one voice counted twice. Today: an agreement to a team's file is recorded with when it was given, the limits and the marks of what was agreed, a copy of the file and a signature, and is logged as owner; no other decision keeps a trace.
As these are built, all of it is to be yours to set, for everything you do or for one project: which decisions ask more than one voice, how many, from how many labs, by when, how many rounds, and who decides when they do not agree. Today none of these settings exists.
Five things are to hold whatever the settings say, and none is built: silence is never agreement; the lab that produced a thing does not count toward agreement on it; a voice is not lent to whoever produced the thing; no means takes a decision with less than another RFC requires for it; and a decision's record says who really decided, and on what.
- Agreement that was one opinion. A fault in how the tool stops an agent was read five times by one lab's agent and passed each time. Five readings, one voice. An agent from a second lab found it on its first reading.
- A run that ended the argument. Three rounds of reading and several thousand tests passed a release. One run of the real thing on a small team found two faults in it within minutes. Nobody voted on whether they were faults.
- Rounds that converged. The six texts before this one took two to five rounds each, three labs each. In every one the first round was three refusals, and in every one the refusals were about the same things: a sentence that stated as present what was not built, a power an agent could gain without anyone giving it. The rounds found what one author, however careful, did not.
- A yes on a state that moved. A reviewer stood behind a release an hour before another found a fault in it, and before three more changes landed. Its yes named the state it had read, which is the only reason it was not mistaken for a yes on the release.
- A voice that went silent. A reviewer's lab reached its limit in the middle of a reading, twice in one evening. The first time the release waited. The second time the rule existed: the cause was written down, another lab read the whole, and the record says which lab did not read the final state.
- One member, two voices. The six texts before this one were first accepted by a board of two after the founder lent his vote to the other member, the agent that had drafted them. The record said so in those words. All three reviewers of this text, asked plainly, answered that a tool should refuse exactly that: saying it in the record kept the board honest, and did not put back the second look. Commitment 8 is their answer.
These are the costs of what we are building, not of anything released.
- Agreement between agents is weaker than it looks. They read the same words, were made in similar ways, and tend to follow a confident text. Unanimity is evidence. It is not proof, and it is no substitute for trying a thing for real (RFC 005).
- Independence is hard to keep. Agents that share files, a tracker or a lead can see each other's answers without anyone meaning them to. TeamCLI will be able to ask each alone and record the order; until agents are contained (RFC 001) it will not prevent one from reading another's answer. And a lab is a coarse unit: two labs may build on the same model, and one lab's two models may differ more than two labs'.
- It is slow, and it costs every lab asked. Five rounds by three labs is fifteen readings. That is right for a text people will rely on, and wrong for most of what a team decides in a day; which is why rounds are one means and not the rule.
- A fact settles only what it measures. A run that passes says the thing did what was tried. Choosing the means is itself a judgment; that is why the rule names it before the work opens and the one whose work it is does not choose. Even so, whoever sets the rule can set a narrow one, and the trace will show it without preventing it.
- The one who decides still decides. Rounds inform a decision; they do not replace whoever holds the right to it. A decider who ignores three refusals is within the rule, and the record shows it.
- A lent voice is a weaker voice. It keeps a decision moving when someone is away. It removes exactly the second look that asking two was for.
- It does not make anyone right. It makes a decision traceable: who thought what, on what, and who chose.
- Decisions taken by rounds that turn out no better than decisions taken by one careful voice. Then rounds are ceremony, and belong only where the law or a person requires them.
- Labs whose agents agree with each other so often that a second lab adds nothing. Then commitment 3's counting by lab is cost without return.
- Teams that set every decision to one voice within a month. Then the default is right, and the rest of this text should be a small option, not a commitment.
- A decision harmed by a lent voice. Then lending should not exist for some kinds of decision at all.
- Which kinds of decision should ask more than one voice by default, beyond what RFC 001 and RFC 005 already require?
- All, or a number? Is "all must agree" ever the right rule for agents, given commitment 7's end to rounds; or is it always "all, or the decider decides and says so"?
- Counting by lab. Is a lab the right unit of independence? Two models from one lab; one model reached through two programs?
- The decider among the voices. Commitment 3 keeps the decider out of the count. Right, when the decider is the only one who knows the subject?
- How many rounds before the decider decides? Is a number the right stop, or "no new point raised"?
- Lending a voice. Commitment 8 now refuses lending to whoever produced the thing. Should lending exist at all for decisions that ask more than one voice, or only for those one voice decides?
- A person among the voices. When one of those asked is a person who does not answer for a day, is that silence the same as an agent's?
- Is this one RFC, or the missing half of RFC 005?
- The means. Is the list in commitment 1 right? Which means is missing, and should a project's own means have to be agreed by someone before it is used?
"Today" is TeamCLI 0.3.1. Each row restates what one agent checked against the released code on 2026-10-07, clause by clause; seven rows held and rows 8 and 9 were corrected.
| # | Commitment | Today |
|---|---|---|
| 1 | Every kind of decision says how it is taken, and by which means | No. One kind of agreement exists: one person's, to a team's file |
| 2 | A fact before an opinion; more than one voice only for what deserves it | No. Nothing counts what asking costs |
| 3 | A voice counts only if it is independent | No. Nothing knows who read what, or before whom |
| 4 | What is decided on does not move | No. The commands that check read what is there when they are run and record nothing |
| 5 | Silence is never agreement | No. A watch says when an agent is stuck or has left text unsent; nothing ties that to a question put to it |
| 6 | There is a floor | No |
| 7 | Review in rounds is one means, and it has an end | No |
| 8 | A voice can be lent, within limits, and the record says so | No. An agreement is logged as the owner's, on this machine, without naming a person; a voice cannot be lent |
| 9 | Every decision keeps its trace | In part. An agreement to a team's file is recorded with when it was given, the limits and the marks of what was agreed, a copy of the file and a signature, and is logged as owner; no other decision keeps a trace |
One of nine is partly true. Consensus today is a practice: a folder of files, a brief, and the discipline of whoever runs the round.
Who holds the right to decide, and what a power is: RFC 001. How a question reaches a voice and how its answer comes back: RFC 002. Whether what was decided becomes something a team remembers: RFC 003. What is measured about decisions: RFC 004. What a check is worth, and when one is needed: RFC 005. The items of work a decision belongs to: RFC 007. How TeamCLI's own board decides: its own rules, which this text generalises and does not replace.