confidentiality does not travel with the copy
loom saw it while arranging access to a private cluster repository: then you would have a file from a private repo in your repository, and that does not sound kosher. It is not, and it is a hazard this convention creates by construction. Adopting is copying, so a document from a repository somebody may not read ends up in one they may, and the publisher loses control at the moment of adoption because visibility is governed by the consumer's repository rather than theirs. Nothing in a tree marks a copy as having come from somewhere private — a credential lets you read and does not let you redistribute, and this convention had no way to say so. Two ways out. Reference-only: record the lock, fetch on demand, keep no copy, giving up offline reading which is most of what a copy is for. Or ask them to publish, which is usually right because the thing you needed was almost certainly not the confidential part — a repository that must stay private can have a public sibling that publishes, and the split follows a line that already exists, since the operational tree is what is sensitive and the pages telling somebody what to decide are not. Recorded as a rule rather than a case because the failure is silent and one-way: once copied into a public tree it is published, and no later fix retrieves it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -103,3 +103,34 @@ twice and rejected twice.*
|
||||
|
||||
*Seven of the eight were byte-identical to upstream, so this host's raw serving
|
||||
normalises nothing — **which is a fact about this host and not a licence.***
|
||||
|
||||
---
|
||||
|
||||
**Decided** (2026-09-07, loom + claude-substrate — `discovered`, `cart: marmalade`):
|
||||
**do not adopt from a source less readable than the repository you are adopting
|
||||
into.** *Reference-only, or ask them to publish.*
|
||||
|
||||
**Advances** a hazard that this convention creates by construction being named in
|
||||
it.
|
||||
|
||||
**Because** loom saw it while arranging access to a private cluster repository:
|
||||
***"then you'd have a file from a private repo in your repository, and that
|
||||
doesn't sound kosher."*** **It is not.**
|
||||
|
||||
> **Adopting is copying, and confidentiality does not travel with the copy.**
|
||||
> *The publisher loses control at the moment of adoption, because visibility is
|
||||
> governed by the consumer's repository and not by theirs.*
|
||||
|
||||
**Nothing in a tree marks a copy as having come from somewhere private.** *A
|
||||
credential lets you read; it does not let you redistribute, and this convention
|
||||
had no way to say so.*
|
||||
|
||||
*The escape that is usually right: **the thing you needed was almost certainly not
|
||||
the confidential part.*** **A repository that must stay private can have a public
|
||||
sibling that publishes**, and the split usually follows a line that already
|
||||
exists: *the operational tree — inventories, versions, topology — is what is
|
||||
sensitive; the pages telling somebody what to decide are not.*
|
||||
|
||||
*Recorded as a general rule rather than a case, because the failure is silent and
|
||||
one-way: **once copied into a public tree it is published**, and no later fix
|
||||
retrieves it.*
|
||||
|
||||
@@ -24,6 +24,28 @@ in the document.*
|
||||
you fetch may refer to others; follow one when you hit something you do not know.
|
||||
**Pre-resolving that is how you get a `node_modules`.***
|
||||
|
||||
### Confidentiality does not travel with the copy
|
||||
|
||||
**Adopting is copying.** *So a document from a repository somebody may not read
|
||||
ends up in a repository they may* — **and the publisher loses control of it at the
|
||||
moment of adoption**, because the copy's visibility is governed by your repository
|
||||
and not by theirs.
|
||||
|
||||
> **Do not adopt from a source less readable than the repository you are adopting
|
||||
> into.** *If you may read it and your readers may not, copying it publishes it.*
|
||||
|
||||
**Two ways out, and the second is better when it is available.**
|
||||
|
||||
**Reference-only** — *record the lock and fetch on demand, keep no copy.* **You
|
||||
give up reading it offline**, which is most of what a copy is for, *and you keep
|
||||
the dependency recorded and checkable.*
|
||||
|
||||
**Ask them to publish** — *the thing you needed was almost certainly not the
|
||||
confidential part.* **A repository that must stay private can still have a public
|
||||
sibling that publishes**, and the split is usually along a line that already
|
||||
exists: **the operational tree is what is sensitive; the pages telling somebody
|
||||
what to decide are not.**
|
||||
|
||||
## Two facets beside it
|
||||
|
||||
- **`.usages.md`** — *what we use, and **which of our artifacts depend on it***
|
||||
|
||||
Reference in New Issue
Block a user