diff --git a/.loom/published/cart.md b/.loom/published/cart.md index 46a2d5d..49fc852 100644 --- a/.loom/published/cart.md +++ b/.loom/published/cart.md @@ -1,6 +1,6 @@ # Agreement — the cart -**v0.** Depends on `annotating/v0`. +**v1.** Depends on `annotating/v0`. **How two parties work out what something means before one of them changes it.** @@ -104,9 +104,54 @@ already rejected, and the rejection is gone because it lived in an annotation that died with the round. **A decline needs no file of its own.** It is an entry in whatever durable record -you keep, and **it should say what you believed, not just what you chose** — only +you keep — **which must outlive the cart**, *and therefore cannot be inside it* — and **it should say what you believed, not just what you chose** — only a belief can later be shown wrong. +## The cart is local, and that is what keeps it to two files + +**A cart is two developers working side by side.** *Everything else — the wider +team, the people who need to know, the thing that has to be tracked — is issues, +chat, whatever you already have.* **This is not that channel and it does not scale +into one.** + +> **So the cart is not committed.** *It lives in the working tree of the machine +> the two presences share, and `.loom/cart/` is ignored by version control.* + +**The reason is not tidiness. A committed cart grows a third file by itself.** +*The rule above defends against somebody asking for one; **version control does +not require anybody to ask.*** *Anyone who can clone can add `joe-rose.md`, and +then `sue-rose.md`, and the agreement's defence — **what happens to this file when +the person changes?** — is never invoked, because nobody ever had the +conversation.* + +**This is also what makes a round actually end.** *Committed, a cart is gone from +the tree and permanent in history — **so "gone" means "no longer live" and +negotiation stays quotable forever.*** **Ignored, gone means gone**, which is what +the round dying was for. + +*The cost, stated: **two presences who do not share a filesystem cannot use a +cart.*** *That is a real limit and it is the right one — if you need a medium +between machines, you need the other channel, and reaching for a cart there is +how it becomes a chat log.* + +## What is not yet a decision goes in the write-ahead log + +**A round produces things that are neither questions nor decisions:** *something +observed, something that may turn out to be noise, something you would kick +yourself for losing and cannot yet justify writing down.* + +**`event-log.wal.md`, in the cart.** *Findings, not decisions.* **Nothing in it is +durable and nothing in it has been decided.** + +**At conversion, each entry either becomes an entry in the durable record or is +discarded.** *Same two exits as a polad, and for the same reason: **conversion is +when you know most about it.*** + +> **Write the reason it is not yet an entry.** *An observation you cannot justify +> promoting is worth keeping; **one you have not said why you are hesitant about +> will be promoted by whoever finds it, on the strength of it having been written +> down.*** + ## Where a cart lives, and the shelf **A fixed path, and at most two things in it:** diff --git a/README.md b/README.md index f1cf9f7..3576f92 100644 --- a/README.md +++ b/README.md @@ -44,3 +44,23 @@ refused nor decided is neither of those.* **Today "out of scope" means "lost."** **Adopted by `staribridge/substrate` on 2026-08-21 and reconciled to `v0` the same day.** *Read many times, never edited.* **If loom's own copy differs, this one is wrong and should be replaced before anybody adopts it.** + +--- + +## `v1` — 2026-09-07 + +**Three additions. Adopters of `v0` have a reconciliation.** + +**The cart is local and not committed**, because a committed cart in a shared +repository grows a third daily by itself — *the agreement's defence against one +assumes somebody asks, and version control does not require anybody to ask.* **It +is also what makes a round actually end:** *committed, "gone" means "no longer +live"; ignored, gone means gone.* + +**The write-ahead log**, for findings that are not yet decisions, transferred to +the durable record or discarded at conversion. *Invented in practice and load- +bearing for weeks before it was written down here.* + +**The durable record must outlive the cart**, and therefore cannot be inside it. +*Implied by "durable" and never stated, so an adopter could have cast it to a path +in `.loom/cart/` and this document would not have told them otherwise.*