Commit Graph
3 Commits
Author SHA1 Message Date
jeffryandClaude Opus 5 cc95488726 stop pointing a public page at a private example
loom-cli's builder measured all three things we had published and none could be
fetched by somebody who is not us: settled 404, .loom fetchable but not where a
reader lands, and homelab-cluster 404 while this page named it as the canonical
answer. Three for three.

A public page naming a private thing as its canonical answer is worse than no
example — it costs the reader a request and their confidence in the rest of the
page. The page now says the example exists, is private, and why, and does not
link it.

The diagnosis is theirs and worth keeping: publication was being treated as a
change of directory rather than the act publication.md describes. Moving a file
into published/ is not publishing; the file becoming fetchable is.

And reachable, the command we nearly cut for being a third kind of thing, found
all three on the day it would have shipped.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 13:46:20 -04:00
jeffryandClaude Opus 5 0c61c7a42d 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>
2026-09-07 10:40:01 -04:00
jeffryandClaude Opus 5 42d963d24f the four primitives
Depended on by the conventions built on this, and depending on none of them.

- the .loom directory — everything lives there, a directory means a kind, a
  stream is a file. Fixes .loom/ and deliberately not which kinds exist.
- sibling facets — x.<facet>.md beside x.md, owned by whoever wrote the facet,
  never by whoever wrote x.md. Plus the three choices a convention must make.
- recording decisions — what an entry says, why it is never revised, and why it
  has no status field.
- publication — the act, the contract, and that what is published is a document.

Also carries the event log and declines from cart `almanac`, which ran 2026-09-04
to 2026-09-07 and produced seventy-eight entries. Read it forwards; entry 69 is
where it changes its own mind and brackets most of what came before.

The git history here starts now. The event log is the history that matters.

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