42d963d24ff211247db266cbe6aa23a67276e22a
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>
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
Nothing 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%