aff20652971c8628081c71e2c00822a4ea253d99
loom-cli's builder tried to run check against a real tree and could not. The stored path does not round-trip to a URL: we hold git.hypertheory-labs.dev/loom/externals/externals.md and the document is served from /loom/externals/raw/branch/main/.loom/published/externals.md, measured as a 404. Two segments are dropped and the second is not routing. The raw route and branch are recoverable only by knowing the host's URL shape and guessing a branch name. And .loom/published/ — which publication.md says is the entire contract — means a consumer's tree did not record whether a copy came from a published surface or a file its owner may rename at will. The short form is worse than incomplete: a host may redirect it to whatever the default branch is at the time you ask, so a lock holding one is locked to a moving target and a branch rename reports as a change in the document. Locks record the resolved URL. This is the ETag mistake one layer down, and the builder named the appetite behind both: the design is beautiful when nothing is written down, and both times what made it possible was a property of one host. Second occurrence, so it is recorded as a pattern to check for. Also records that gitea's ETag being the blob hash is a migration aid rather than a mechanism — the builder used it to check eight documents with no locks at all, which is worth doing once and nothing after. The next person to notice the coincidence will think they found the good idea again. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
externals
How a repository records what it depends on, and finds out when it changes.
- Externals — the convention
Built on bedrock's sibling
facets, whose three open choices we answer in
our usages of annotating.
And annotating is here as an external of ours — fetched, locked, annotated
— which is the convention describing itself using itself. If that had not
worked, the convention would be wrong, and it is the cheapest test available.
The first copy was written by hand. You cannot fetch-and-annotate before the thing that says how exists. Self-hosting is a test, not a derivation.
Languages
Markdown
100%