a decline is an entry — fold declines.md into the event log
loom asked whether .loom/declines.md was a thing or had drifted. It had drifted: written during the conversion of cart almanac because the cart agreement says a round emits the artifact and the declines, and made a separate file without checking against .loom/published/recording-decisions.md, published in this repository an hour later, which says declines belong in the event log. A decline is a decision — what you considered and did not do, with the belief that could later be shown wrong. Splitting them loses the ordering between what we did and what we did not, and makes a reader know to look in two places. The seven declines from almanac are now entries, followed by an entry recording the fix and its general form: a second file for a special case of something that already has a home is drift, and it is easiest to catch by reading your own published rules back. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3489,3 +3489,94 @@ buys aggregation and a self-describing surface, and it buys them after the
|
||||
conventions have been used enough to know their shape.** Entry 12 said there is a
|
||||
server and that is unchanged — **this says what it is for, and that it is not
|
||||
first.***
|
||||
|
||||
---
|
||||
|
||||
**Declined** (2026-09-07, loom + claude-substrate — `cart: almanac`): **a registry
|
||||
service, first.** *Considered for three days.*
|
||||
|
||||
**Because** we believe a git host already provides a document with an owner, an
|
||||
address, an `ETag`, history and rendering — **so the service buys aggregation and
|
||||
a self-describing entry point, and buys them better after the conventions have
|
||||
been used.** *Wrong if the conventions turn out to need a server to be usable at
|
||||
all, which using them will show.*
|
||||
|
||||
---
|
||||
|
||||
**Declined** (2026-09-07, loom + claude-substrate — `cart: almanac`):
|
||||
**affordances, stagings, roles and beads, for infrastructure and practice
|
||||
description.** *Built out over three days and then bracketed.*
|
||||
|
||||
**Because** we believe the model is for describing software above its
|
||||
implementation, and **that infrastructure and practice description is a different
|
||||
altitude** being forced into it. *Wrong if the documentation layer turns out to
|
||||
need decomposition to answer anything useful.*
|
||||
|
||||
---
|
||||
|
||||
**Declined** (2026-09-07, claude-substrate — `cart: almanac`): **bulk recasting a
|
||||
bead across stagings.**
|
||||
|
||||
**Because** we believe the list is the migration plan — *resumable, observable,
|
||||
and owned by whoever owns each staging* — where **a bulk operation is one
|
||||
uninspectable moment that breaks every consumer at once.**
|
||||
|
||||
---
|
||||
|
||||
**Declined** (2026-09-07, claude-substrate — `cart: almanac`): **signatures.**
|
||||
|
||||
**Because** we believe a content hash catches every accident, and **a signature
|
||||
answers an adversary that does not exist** — one tailnet, one operator. *Revisit
|
||||
when a consumer must verify without being able to ask.*
|
||||
|
||||
---
|
||||
|
||||
**Declined** (2026-09-07, claude-substrate — `cart: almanac`): **`watch`, and any
|
||||
subscription.**
|
||||
|
||||
**Because** we believe it would be **the first thing giving a registry persistent
|
||||
knowledge of its consumers**, which is the line drawn at *a pin is not a
|
||||
subscription* — and a conditional `GET` suffices for documents that change
|
||||
monthly.
|
||||
|
||||
---
|
||||
|
||||
**Declined** (2026-09-07, claude-substrate — `cart: almanac`): **naming the thing
|
||||
we kept reaching for** — *"accommodations", "standard".*
|
||||
|
||||
**Because** we believe it is **a lifecycle stage with a measurement rather than a
|
||||
kind needing a name**: *a specification is a thing that names roles and casts none
|
||||
of them.* **Coin it when we keep needing to say it**, which is a better reason
|
||||
than noticing a gap.
|
||||
|
||||
---
|
||||
|
||||
**Declined** (2026-09-07, claude-substrate — `cart: almanac`): **an `internal/`
|
||||
directory.**
|
||||
|
||||
**Because** we believe naming the complement of `published/` invents a category —
|
||||
**and one called `internal/` would look like a security boundary and not be
|
||||
one.**
|
||||
|
||||
---
|
||||
|
||||
**Decided** (2026-09-07, loom + claude-substrate — `discovered`, `cart: kestrel`):
|
||||
**a decline is an entry.** `.loom/declines.md` is removed and its seven entries
|
||||
are above.
|
||||
|
||||
**Advances** one record rather than two, and the ordering between *what we did*
|
||||
and *what we considered and did not* being visible.
|
||||
|
||||
**Because** loom asked whether `declines.md` was a thing or had drifted. **It had
|
||||
drifted** — written during conversion because the cart agreement says a round
|
||||
emits the artifact **and** the declines, and made a separate file without checking
|
||||
against the primitive published in this repository an hour later. *Which says, in
|
||||
so many words, **declines belong here too.***
|
||||
|
||||
> **A decline is a decision: what you considered and did not do, with the belief
|
||||
> that could later be shown wrong.** *Splitting them loses the ordering, and
|
||||
> makes a reader know to look in two places.*
|
||||
|
||||
*The general form, worth having: **a second file for a special case of something
|
||||
that already has a home is drift**, and it is easiest to catch by reading your own
|
||||
published rules back.*
|
||||
|
||||
Reference in New Issue
Block a user