gaps against all four conventions, and reference-only declined for now

Writes the first real gaps: what an adopter could not tell from the documents,
recorded while the misunderstandings are fresh rather than after they stop being
visible.

cart — whether a response is an annotation or a reply in your own file, and the
discriminator that resolves it appearing nowhere; what to do when an open item has
no fallback, which breaks the mechanism rather than omitting a nicety; what a third
file means once one exists; and what must be extracted before converting, now that
v1 makes conversion destroy.

annotating — how a reader detects the freeze was violated, since the hash we check
is a local invention; that responding means a rewrite, which is named only in our
local protocol; and that under cart v1 a prompt's answer has no archive at all.

recording-decisions — the one that matters most: never revised and somebody must
be able to read it both hold and eventually conflict, and the document does not say
which gives. Provisional answer recorded, with the line compaction may not cross —
never drop a decline, a measurement, a falsified belief, or a supersession, because
those are the record of somebody changing their mind.

publication — whether publishing implies the audience can read it, and where
confidentiality lives given that what is safe to publish depends on who can read
the repository it sits in.

Also declines reference-only adoption with its reason: it is adoption minus
reconciliation-by-diff, not adoption minus offline reading, and the convention's
other exit is the one that actually occurred. The warning now names both exits
including the unbuilt one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018UTxuSizozEA8yDitPuris
This commit is contained in:
2026-09-07 15:41:12 -04:00
co-authored by Claude Opus 5
parent c09a1b7570
commit e0d7afecae
6 changed files with 214 additions and 4 deletions
+34
View File
@@ -803,3 +803,37 @@ protocol here says commit before dissolving because git is the only archive.*
**With an ignored cart there is no archive, so dissolving a notes file destroys
the annotations outright.** *Both documents are loom's; this is where an adopter
can see the collision.*
## 2026-09-07 — declined for now: reference-only adoption `quince`
**`externals` offers two ways out of the confidentiality rule.** *We implement
neither, and this records why the first is not built.*
**Reference-only is mechanically small:** *a lock with no file. `check` never
touches the copy — it sends `If-None-Match` and reads the status — so the only
code that changes is telling deliberate absence from loss, which is one optional
field in the lock.* **The facets stay**, *which is the ownership line drawn
exactly: the facet is ours, the document is theirs.*
**The cost is larger than the document suggests, and it is why this is worth an
entry rather than a `TODO`:** *with a copy, `CHANGED` gives you a diff, and today
the diff was the whole answer.* **Reference-only keeps no old bytes, so it tells
you *that* a document moved and never *what* moved** — *and the question
`externals` says reconciliation asks is a question about the delta.*
> **So it is not adoption minus offline reading. It is adoption minus
> reconciliation-by-diff.**
**Not built because we have no instance.** *Everything this repository adopts is
public.* **And the convention's other exit — ask them to publish — is the one that
actually occurred**: *`homelab-cluster` went public and the problem dissolved.*
**The better exit made the worse one unnecessary in the only case we have had.**
**Belief that could be shown wrong:** *that the case stays hypothetical.* **A
private repository here depending on another private one makes it real** —
*`homelab-impl` is the obvious candidate* — **and then the design above is a few
hours.**
*The warning now names both exits, including the one we have not built. **Telling
somebody a rule and not the way out of it is how a guardrail becomes something
people route around.***