v1 made the cart untracked and did not say what that does to conversion. Every earlier version left the dailies in git, so "gone" was only ever true of the tree; now it is true absolutely, and the agreement was silent. Filed by loom-cli as first adopter, from three rounds: two rules now both push toward loss — act as if the shelf is discarded daily, and the cart is not committed — and neither said what has to be written down first. They staged a write-ahead log as they went and noted they would not have thought of it unsuggested, which is the whole argument for stating it here. Names what must be extracted: every prompt answer, since an answer lands in a notes file which dies at dissolve and an untracked cart has no history to fall back on; every surviving write-ahead entry; and every fallback that quietly became the decision. And the practice that makes it cheap — stage as you go, so conversion is a move rather than a rewrite at the moment you have least appetite for one. This is a defect introduced this afternoon and repaired the same day, on a report from the adopter who hit it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
81 lines
3.2 KiB
Markdown
81 lines
3.2 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.*
|
|
|
|
## `v2` — 2026-09-07
|
|
|
|
**One addition, and it repairs `v1` on the day it landed.**
|
|
|
|
**Converting destroys.** *`v1` made the cart untracked without saying what that
|
|
does to conversion — **every earlier version left the dailies in git**, so "gone"
|
|
had only ever been true of the working tree.* **Now it is true absolutely**, and
|
|
the agreement did not say so.
|
|
|
|
*Filed by `loom-cli` as its first adopter, from three rounds: **"two rules now both
|
|
push toward loss, and neither says what has to be written down first."*** *They
|
|
staged a write-ahead log as they went and noted they would not have thought of it
|
|
unsuggested.*
|