What interfaces forbid: a treaty, a conversation, a bookmark
What are the three questions behind every interface, and what can no interface give you?
- Files must carry or reference everything, because nobody can ask them anything.
- Protocols can negotiate, but forget between requests.
- Integrations can neither carry nor negotiate. They can only keep a bookmark.
The three questions, in order
Every mechanism here answers one of three questions:
- Where does the schema live? (Nowhere, in the bytes, or in a registry.)
- What happens when the conversation dies in the middle of a sentence?
- What is the position measured in, and is it total and monotonic?
What this mechanism forbids
- No interpretation without prior agreement or inference.
- No random access into something with no ending.
- No set of files that describes itself.
- No certainty about whether a remote action occurred.
- No resumable relationship without a durable, totally ordered position.
- No atomic change at a boundary.
- No removal of a cost: only a choice about which side pays it, and whether that side gets a vote.
The escape hatches, with their prices
| Escape | What it buys | What it forfeits or costs |
|---|---|---|
| Self-description | Independence from a registry | Per-file overhead, which sets a minimum file size |
| Footer | Random access | Streaming |
| Total layout agreement | Zero parse cost | Longevity |
| Idempotency | Retry safety | Remembered keys |
| Unload | Independence from the client's pace | Latency, plus a third storage medium |
| Compatibility layers | An ecosystem | A semantic gap found late |
| Value-anchored cursors | Correctness | A unique, monotonic key that most sources lack |
| Catalog-mediated sharing | One truth | Coupling to a live layout |