# _agenda.md

> 115 lines of code and 0 definitions.

Tree: Coordination tree
Language: markdown
Canonical: https://banes-lab.com/anatomy/coordination#file-coordination-agenda-md
Source text: https://banes-lab.com/assets/sources/source.1b5ba22d63636e80a9cd8eaafe417980b447c16bc146e38be35e5dc6c0836837.generated.txt

## Source

```markdown
═══════════════════ VENUE ORDERING AND HIERARCHY ═══════════════════

**This section is the LIVE agenda.** This section is ADDED TO and UPDATED; a
planned invariant is never deleted because a different one was raised ahead of it.

**A venue is CREATED at its predecessor's convergence and OPENED when that predecessor leaves the active
tree.** The successor is DECLARED by name rather than derived from the ordinal, because the real edges are
partial with forward dependencies — and a declaration that departs from this agenda is recorded HERE as an
insertion, so the planned invariant keeps its place instead of being silently displaced.

**WHAT THE SERIES IS FOR, STATED SO IT IS NOT INFERRED FROM THE AGENDA.** The thing that would be missing if
it never ran is a coordination protocol that **scales past the seat count that authored it**. Everything here
works today because the seats that wrote it hold its rules in mind; the series exists to convert each of those held rules
into a mechanism, so the protocol holds at a seat count nobody has run it at and inside a tree nobody here
wrote. **The consumer is an adopting host and every seat it will ever seat** — the package ships classes and
mechanisms rather than this repository's instances, so a rule that works only while its authors are present is
a rule that does not ship at all.

**AND THE SCHEDULE CARRIES HOST-WORK INVARIANTS BESIDE THE PROTOCOL'S OWN, WHICH IS THE PURPOSE ARRIVING
RATHER THAN DEPARTING FROM IT.** A venue deciding how a HOST's work partitions is this protocol meeting the
consumer it was built for — the first argument it holds about a tree it did not author, under seats whose
concerns come from that tree rather than from this package. **There is ONE schedule and it is not forked by
subject**: a second agenda would be a second sequence with no mechanism ordering the two, and the one surface
that cannot have several authors is the one that says what comes next. So a host row takes its place in this
table exactly as a protocol row does, and what separates them is the invariant each names rather than a
series each belongs to.

**WHAT CHANGES IN THE TREE WHEN IT CONVERGES.** Each venue's outcome lands as a mechanism — a refusal, a
derivation, a declared lifetime, a form — and the conduct roster shrinks by whatever shifts from held-in-mind
to observed-in-an-artifact. That is the measurable half: the series converges when the protocol's load-bearing
rules are enforced by the tree rather than by the parties, and what remains conduct is declared with the
evidence a check would need.

**AND THE AGENDA IS NOT THE PURPOSE, WHICH IS WHY THIS PARAGRAPH SITS ABOVE IT.** A ten-row sequence whose
purpose is inferred from its rows converges on the rows — each venue closing correctly while the property they
were all for goes unmeasured. So a venue's outcome is read against this statement rather than against its own
exit condition alone, and a venue that satisfies every ordering while moving nothing from discipline to
mechanism has met its contract and not its reason.

| planned | invariant           | what it must establish | state    |
| ------- | ------------------- | ---------------------- | -------- |
| 1       | `<named-invariant>` | <topic-description>    | <status> |

**A VENUE MAY DECIDE MORE THAN ONE INVARIANT, AND MERGING IS HOW AN INSERTION IS CONSUMED.** Where a raised
invariant and a planned one meet on the same operand, one venue decides both rather than the insertion
taking a position of its own — the sixth is the case: a second declaration of a fact is an EDGE, so a set of
them is a graph, and whether that graph is a tree, a DAG or cyclic is the same question as whether the
copies can be collapsed at all. **The filename and the declared successor name stay unchanged through a
merge**, because the successor edge joins those two operands and a rename severs an edge already holding.

**AN INSERTED INVARIANT IS CONSUMED INTO THIS AGENDA RATHER THAN CONSUMING A PLANNED ONE.** A venue raised
under a declared successor takes its place in the sequence and the planned invariants keep theirs — the
row's POSITION is what carries the sequence, and the first column is a separate fact that travels into the
venue's filename. So a departure costs one row here
and loses nothing, while a departure recorded nowhere drops a subject with every step having been correct.

**THE STATE COLUMN DRAWS FROM A CLOSED SET, AND A CELL CARRIES ITS VALUE FIRST WITH ANY REASON AFTER IT.**
A mechanism can join on a value from a closed vocabulary and cannot join on a sentence — so a state written
as prose reads as governed, satisfies every author, and is unjoinable by the refusal that would use it. The
values, and the transitions between them, are:

- **`planned`** — a row with no file. The only state a row is added in.
- **`created`** — a file exists, raised from this row, with every letter unread. Creation and opening are two
  events and this is the first.
- **`open`** — a seat has marked its letter read, so the discussion has begun. At most one row is `open`.
- **`archived`** — converged, absorbed, and moved whole out of the active tree.

**THE INTERVAL BETWEEN TWO ROWS IS A BUILD QUEUE RATHER THAN AN ARGUMENT, AND THAT IS THE TRADE ABSORPTION
BUYS.** A venue converges, its outcome is DISTRIBUTED, every item on that distribution LANDS in the tree, and
only then does it archive and the next row open — because a converged outcome nobody implements is a decision
with no consequence. So the series advances at the rate its outcomes are BUILT rather than the rate they are
decided, and a reader seeing a chronological order here is seeing a build queue with argument in front of it.

**Which couples the series' throughput to whoever holds the surfaces an outcome lands on, and that survives
any answer to the allocation question.** Add parties and the items still land on the surfaces they belong to,
so the venue still waits on their holders — the coupling is between a venue's CLOSURE and a build's
COMPLETION, and the party count is a term in neither.

**THE SEQUENCE GATES THE ARCHIVE RATHER THAN SCHEDULING THE WORK, WHICH IS THE SENTENCE A READER OTHERWISE
SUPPLIES.** Converge → distribute → land → archive states a condition on the ARCHIVAL gate and says nothing
about when anybody builds. A reader meets it as an ordered list and forms a schedule from it, because a
sequence of phases is what a schedule looks like — the rule never asserts that schedule, the reader never
misquotes the rule, and the expectation is wrong anyway. **So where an order is stated, what it GATES is
stated with it**: a true statement about a gate read as an answer to when-things-happen is a different failure
from one that goes stale, and only naming the subject separates them.

**A row moves planned → created → open → archived as its venue LIVES, and never backwards along that path.**
A row that reads `open` and then `created` is a defect, because a discussion that began cannot un-begin.

**One transition runs the other way and it is a CORRECTION rather than a lifecycle step: `created` → `planned`
when the file that advanced the row is REMOVED.** A raise is an act, acts are reversible while the venue
holds no argument, and reversing one returns the row to the only state a row with no file can be in. Without
this member the vocabulary forces a true cell to be written as a false one — the row would read `created`
with nothing on disk, which is the table and the tree disagreeing on the surface built to stop that.

**A correction states what was reversed**, so the cell reads `planned` with the removal named after it. That
is what distinguishes it from a row that was never raised, which no reader could otherwise tell apart.

The reason a row is in a state is prose after the value, never instead of it.

**A DECLARED SUCCESSOR NAMES A ROW IN THIS TABLE, OR ITS ROW IS ADDED HERE BEFORE THE VENUE IS RAISED.** The
raise form reads the predecessor's own declaration and creates a file from it; nothing joins that
declaration to this table, so a name the table does not carry becomes a venue on disk holding the next
ordinal — and the invariant this table assigns to that position is displaced in every reading that goes by
filename. The order is: add the row, then declare, then raise. Recording a departure AFTER the raise records
it after the cost, because the file exists and its citations are already written.

**THE FIRST COLUMN IS THE VENUE'S FILENAME ORDINAL AND THE ROW'S PLACE IN THIS TABLE IS THE SEQUENCE, AND
THEY ARE TWO FACTS RATHER THAN ONE.** The raise reads the first cell of the row it is raising and names the
file with it, so that cell is an operand rather than a label; and it selects WHICH row by walking these rows
in order and taking the first planned invariant with no venue on disk, so the sequence is the row's place and
is derived rather than written. **Neither fact is recoverable from the other**, which is why both are here and
why a reader must not read either as the other.

**So the two can DISAGREE without any mechanism objecting, and the legal disagreement is BOUNDED rather than
open.** A row appended below the last one takes the next position in the sequence whatever ordinal its first
cell carries, so nothing structural stops the column and the order contradicting each other. **The bound: a LETTERED ordinal is
licensed to differ from APPEND ORDER, and NOT from sequence.** A letter records the predecessor whose successor
edge the venue was declared under, and that IS an ordering claim — so a lettered row is the one whose ordinal
says the most about sequence, and licensing it to sit anywhere would license away the very fact the letter
carries. What it genuinely needs is the freedom to have been WRITTEN late: a row recorded after its raise sits
in the file where it was appended, and its number says where it belongs. A plain number carries no edge, so a
plain ordinal out of order states nothing the position does not already state and contradicts it for nothing.

**AND THE RAISE SELECTS BY WALKING THE ROWS IN FILE ORDER, WHICH IS WHY A DIVERGENCE IS A DEFECT RATHER THAN A
READING.** The form takes the first planned invariant with no venue on disk in the order the rows appear, so
file order is not merely where a reader looks for the sequence — it is the operand. A lettered row appended
late therefore states its place in its NUMBER and occupies a different place in the OPERAND, and no reader
resolving that by hand changes what the form selects. **So the license is to have been written late and the
obligation is to be MOVED to the ordinal's position**, and a row left where it was appended is a schedule the
mechanism does not implement.

**Which makes the plain-numbered case a DEFECT with one repair rather than a reading a reader has to hold.**
Either the row takes the ordinal its position implies, or it moves to the position its ordinal implies — and
the row's own declared ordinal is the tiebreak, because the ordinal is a claim its author wrote and the
position is a consequence of where it was appended. **The ordinal is what a filename must carry; the position
is what the schedule means** — and where a reader wants the sequence, the rows in order are the answer and the
column is not.
```
