6dcc06ab1ca051e1913476c33eb8d51308952cea
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>
bedrock
The primitives. Four documents, in .loom/published/:
- The
.loomdirectory — everything lives there, and a directory means a kind - Sibling facets —
x.<facet>.mdbesidex.md, owned by whoever wrote the facet - Recording decisions — what an entry says, and why it is never revised
- Publication — what
.loom/published/means - Starting one of these in a repository — the one page here that tells you what to do, because a set of primitives with no starting point is a puzzle
Nothing else here says what to do. loom/annotating, loom/cart and
loom/externals are built on these and are where the practices live.
Most repositories will never read this. Its audience is people building conventions, not people using them — and it is a good sign that a primitive is one nobody needs.
Publishers are the exception, because publication is defined here, and the people whose choices land on somebody else should have read the primitives.
Languages
Markdown
100%