Filed as a gap against this document by loom-cli's builder, and correctly: the
table listed 304, 200 and 410 and not 404, while gitea returns 404 for both "the
document was withdrawn" and "you no longer have access".
They are indistinguishable over HTTP by design — a host that distinguished them
would leak the existence of things you may not see — so the convention says
report both readings rather than pick one. They want different actions, re-pull
elsewhere versus ask for access, and a tool that guesses will be wrong half the
time silently.
Notes that ssh does distinguish them, permission denied against repository not
found, so a client with both transports should say which it used.
The claim was filed using this document's own test — could you say whose job it
is — which is the first time the convention has been used against the document
that defines it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
loom/annotating exists as of d66a0a8, so the copy is here beside its usages
rather than the path resolving to nothing.
This is the convention's own first fetch, and it is the self-hosting test running
for real rather than being described: externals holds annotating as an external,
locked, with its three choices answered in the facet beside it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
How a repository records what it depends on, and finds out when it changes.
Pull what you use; two facets beside it; ETag freshness; reconciliation running
the other way; venues for what you cannot fetch; gaps, with moving a file as the
homing act.
Built on bedrock's sibling facets, whose three open choices are answered in
.loom/externals/git.hypertheory-labs.dev/loom/annotating/annotating.usages.md —
the convention adopting annotating using itself. That is the cheapest available
test of whether it works.
It also states in public the answer whose absence kept two agreements frozen from
2026-08-21: the pair is released by replacement, never by rewriting. A source you
did not write is not yours to rewrite, and the protocol never said what to do
instead. Nobody chose badly; nobody was asked.
The first copy of annotating here was written by hand. You cannot fetch and
annotate before the thing that says how exists — self-hosting is a test, not a
derivation.
Note: loom/annotating does not exist yet, so the external's origin path currently
resolves to nothing.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>