declined a separate adopt verb, and say that add will not rewrite
Both parties reached the same deadlock independently: add refusing an existing path, and check unable to ask about a document with no recorded origin. adopt was the other way out and is not obviously worse. Not taken because the byte comparison makes the verb unnecessary. Whatever the command is called it must not trust the claim — it has to fetch and compare, because the point is that nobody knows whether the local copy is still a copy — and once it does that, it is add with an origin supplied. A verb earns its place by naming an act rather than a state, and present-but-unlocked is a condition a repository is temporarily in. Recorded with the falsifier: if people and agents keep dropping documents into externals by hand, and they will, it is a recurring category rather than a migration, and then it deserves its own word in --help rather than a hint. Also makes check's hint say that add supplies the origin without rewriting the local copy, since the previous wording left that to be inferred. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018UTxuSizozEA8yDitPuris
This commit is contained in:
@@ -688,3 +688,29 @@ external, discard does not mean the change goes away** — *the upstream moved
|
||||
whatever we do* — **so discarding is really "knowingly stale", and nothing
|
||||
currently records that choice.** *If people discard often, that silence is the
|
||||
next defect.*
|
||||
|
||||
## 2026-09-07 — declined: a separate `adopt` verb `marmalade`
|
||||
|
||||
**Considered:** *`loomctl external adopt <path> <url>`* — **a command whose job is
|
||||
to say "this copy came from there"**, *for a document that is present but
|
||||
unlocked.* **Both parties reached the deadlock independently and this was the
|
||||
other way out.**
|
||||
|
||||
**Not done, because the byte comparison makes the verb unnecessary.** *Whatever
|
||||
the command is called, it must not trust the claim* — **it has to fetch and
|
||||
compare, because the whole point is that nobody knows whether the local copy is
|
||||
still a copy.** *Once it does that, it is `add` with an origin supplied, and the
|
||||
user's intent in both cases is the same sentence: **I depend on this document and
|
||||
here is where it lives.***
|
||||
|
||||
**And a verb earns its place by naming an act, not a state.** *"Present but
|
||||
unlocked" is a condition a repository is temporarily in* — **a permanent command
|
||||
for it advertises a transitional situation as a normal one.**
|
||||
|
||||
**Belief that could be shown wrong:** *that the condition is transitional.* **If
|
||||
people and agents keep dropping documents into `externals/` by hand — and they
|
||||
will — it is a recurring category and not a migration**, *and then it deserves its
|
||||
own word, discoverable in `--help` rather than found in a hint.*
|
||||
|
||||
*The domain word survives regardless: `externals` says adopting is fetching a URL,
|
||||
and the tool says `adopted` throughout.*
|
||||
|
||||
Reference in New Issue
Block a user