Files
cart/README.md
T
jeffryandClaude Opus 5 a768e04ca3 v1: the cart is local, the write-ahead log, and the durable record outlives it
Three additions, and adopters of v0 have a reconciliation.

The cart is not committed. The reason is not tidiness — a committed cart in a
shared repository grows a third daily by itself, because this document's defence
against one assumes somebody asks for it and version control does not require
anybody to ask. Anyone who can clone can add theirs and the "does it transfer or
die" test is never invoked. It is also what makes a round end: committed, a cart
is gone from the tree and permanent in history, so gone means no longer live and
negotiation stays quotable; ignored, gone means gone. The cost is stated — two
presences who do not share a filesystem cannot use a cart, which is the right
limit, since reaching for one across machines is how it becomes a chat log.

The write-ahead log, for findings that are neither questions nor decisions, with
the same two exits as a polad at conversion and for the same reason. It was
invented in practice and load-bearing for weeks before appearing here. With the
rule that matters: write why it is not yet an entry, or whoever finds it will
promote it on the strength of it having been written down.

And the durable record must outlive the cart and therefore cannot be inside it —
implied by "durable", never stated, so an adopter could have cast it to a path in
.loom/cart/ and this document would not have told them otherwise.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 14:34:06 -04:00

67 lines
2.6 KiB
Markdown

# cart
**How two parties work out what something means before one of them changes it —
including when neither of them knows.**
- [The agreement](.loom/published/cart.md) — `v0`
**A cart is one bounded exchange.** *It starts, it runs, it **converts**, and then
it is gone. The directory is only where a cart happens.*
## What it depends on
**[`annotating/v0`](https://git.hypertheory-labs.dev/loom/annotating).** *Dailies
are annotated, and everything here rests on that.*
## Four roles it leaves to you
**An agreement adopted with these uncast has not been adopted. It has been
filed.**
- **Where a cart lives**
- **What durable record declines go into**
- **What isolates work in progress while a cart is open**
- **Who decides when the round ends** — *and this one is not a preference.
**When one party cannot feel a cost, the decision belongs to the party who
can.** An agent will not feel a cart filling and will keep writing until told
to stop.*
*The agreement asks these as prompts. **Answer them where you adopt it**, not
here.*
## Known and unresolved
**An out-of-scope need has no exit.** *Conversion emits the artifact and the
declines — and a thing that came up, was correctly out of scope, and was neither
refused nor decided is neither of those.* **Today "out of scope" means "lost."**
*Proposed as a third exit and not yet adopted; it is loom's to make. Recorded in
[`bedrock`](https://git.hypertheory-labs.dev/loom/bedrock)'s event log, cart
`almanac`.*
## Provenance of this copy
**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.*