Expand description
Where each flint product keeps the cell that says “I am the writer of this prefix” — and the probe that finds a NEIGHBOUR’s.
WHY THIS TABLE IS SHARED. One prefix belongs to exactly one product.
Within a product that is a mechanism: every writer contends for the
product’s one epoch cell — forge admits a single writer, lean’s
writers take turns at it — and the loser waits. ACROSS products it
is a convention, because each product derives its own cell key and
the keys are disjoint — forge’s git/epoch, lean’s
.flint/lean/epoch. Point a forge repository and a lean workspace
at one prefix and both acquire, both are correct that they hold
THEIR cell, and neither can see the other. There is no 412, no
fence and no log line (composition drill C1).
Nothing here changes that. Prevention is left to whatever assigns prefixes — an admission policy, a GitOps path, a platform module — and this module exists so that when that prevention fails, the failure is NOISY instead of silent. That is the whole contract: a control you cannot audit is one you find out about from a support ticket.
WHY A HEAD AND NOT A LISTING. The first sketch listed the prefix and
looked for a foreign control DIRECTORY. An exact probe of the
neighbour’s epoch cell is strictly better: one request instead of a
paginated listing, it detects a WRITER rather than the litter a
writer leaves, and it cannot be confused by nesting — forge’s own
export at <prefix>/inner puts lean’s cell at
<prefix>/inner/.flint/lean/epoch, which is not the key forge
probes.
ADDING A PRODUCT means adding a row here and calling neighbours
with your own kind. Do not re-derive a neighbour’s key at a call
site: a key that drifts turns this check into a permanent all-clear,
which is worse than not having it.
Structs§
- Foreign
- What a probe found: somebody else’s lease cell under our prefix.
Enums§
- Writer
- A flint writer kind, identified by the cell it arbitrates on.
Functions§
- neighbours
- Probe
prefixfor the lease cells of every writer kind that is notmine. One HEAD-shaped read per foreign kind (currently one).