Commit Graph
5 Commits
Author SHA1 Message Date
jeffryandClaude Opus 5 ffa56daa41 publication says how; starting.md points at an example you can fetch
publication.md gains the procedure, with "fetch it, from somewhere that is not
your machine and not your account" as its own step. Steps 1-3 are things you do;
step 4 is a fact about the world you find out, which is why it is the one that
gets skipped. Declined a separate procedural document: publishing.md beside
publication.md is two files one letter apart, and the gap filed was that this
document was underspecified.

starting.md still described the worked example as private and refused to link it.
It went public four days ago. The first page a newcomer reads was demonstrating
its own lesson instead of teaching it.

Entries 82-83.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-08 08:58:17 -04:00
jeffryandClaude Opus 5 6dcc06ab1c publication requires a reader; recording-decisions allows compaction
Both from gap files loom-cli filed as the first real adopter of externals.

publication.md: "publishing is not an act you can complete alone" existed only in
a sibling document as an aside about a tool. It is a property of the act and now
says so, along with the fact that publication has a visibility — which externals'
confidentiality rule depends on entirely and this document never mentioned.

recording-decisions.md: "never revised" and "must be readable" conflict far enough
out. Adopts loom-cli's rule verbatim in substance — drop what the artifact could
recover, never drop a decline, a measurement, a belief shown wrong, or a
supersession — because compaction is safe in exactly the cases where the entry was
redundant and unsafe in exactly the cases the log exists for.

Entries 79-81. annotating's gaps are left standing on purpose; it is the most
depended-on document and its revision is Jeff's call.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 16:02:24 -04:00
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