What crosses between tissues is protocol; the tissue itself is not
Accepted
Context
ADR-088 decided the nucleus: one predicate, a ternary verdict, `needs` probed per invocation, `on_unknown` as the claim's posture under uncertainty. It decided nothing about the other half of the model, and five terms have been sitting in the glossary at `verified = false` waiting for a warrant that did not exist — `differentiation`, `apoptosis`, `cell-latency`, `lineage`, `epigenetics`.
Measured 2026-08-11 across the whole ADR corpus before drafting this: three of the five appear in NO ADR at all; `differentiation` appears only in adr-043 as the positioning *differentiator*, and `lineage` in adr-044 as a key-succession chain and adr-069 as warrant provenance. Homonyms in other senses. Nothing decided them, and marking them verified would have pointed at warrant that does not exist — the pathology adr-088 exists to close.
THE OBVIOUS ADR WOULD HAVE BEEN THE WRONG ONE. Reaching for "decide the tissue" means schematizing tissue memory, cadence and roles — and the model's own three placements forbid exactly that: memory is not in the cell, role is not in the cell, cadence is not in the cell, because none of them means anything in a receiving tissue. A protocol-level tissue schema would centralize the one part of the model that is local by construction, and it would do it in the name of a tidiness nobody asked for.
AND THE CYCLE WAS ALREADY WORKED OUT ONE LEVEL DOWN. provisioning:adr-054 decides, for its domain: the stem form on the wire is the nucleus plus a lineage envelope; tissue memory, epigenetic overrides and role assignment do not cross; the receiving tissue validates capability closure AT INTAKE rather than at evaluation, "because at evaluation it is an 'Inferred unknown that blocks the circuit instead of reporting a bad import"; and a parent mutation makes descendants STALE, never wrong, answerable by exactly three recorded responses.
That is a domain demonstrating a cycle, not a protocol declaring one. A domain ADR cannot warrant a protocol term — but it can be the evidence that the shape survives contact with a consumer, which is more than this protocol usually has before generalizing.
Decision
THE PROTOCOL STANDARDIZES THE ENVELOPE. IT DOES NOT STANDARDIZE THE TISSUE.
(1) WHAT CROSSES IS PROTOCOL. Two tissues that disagree about the envelope cannot exchange anything at all, so the envelope needs a shared shape: `reflection/schemas/cell.ncl::LineageEntry` — `parent_ref` as a CONTENT DIGEST (not a name: a name resolves to whatever it means today, which is what a stale-parent check must not depend on), the `diff` against that parent, and the response when the parent mutates.
(2) WHAT STAYS IS NOT PROTOCOL, AND THAT IS THE DECISION RATHER THAN A GAP. Tissue memory, cadence, role assignment and epigenetic modulation are local by construction — they mean nothing in a receiving tissue, they are already forbidden in the nucleus, and there is therefore nothing for a protocol to standardize about them. `differentiation` and `epigenetics` are hereby decided AS TISSUE-LOCAL: their warrant is the decision that they stay local, and any future schema for them is a centralization this ADR refuses in advance.
(3) A PARENT MUTATION MAKES DESCENDANTS STALE, NEVER WRONG, and is answerable by exactly three RECORDED responses: `'Rederive`, `'Hold` (cell-latency), `'Retire` (apoptosis). Silent drop and silent re-derivation are both forbidden: an undocumented death is indistinguishable from a loss, and a silent re-derivation hides that the claim being evaluated is no longer the one that was reviewed.
(4) A `'Hold` MUST CARRY A WRITTEN REACTIVATION CRITERION, enforced by contract and not by review. `cell-latency` is defined as a held tension with the lineage intact AND a way back; without the criterion it is a retirement that will not admit it — a cell nobody will look at again, wearing a word that promises otherwise. Verified by falsification before this ADR was written: a `'Hold` entry without the criterion is REFUSED on export, with it accepted.
(5) THE INTAKE ORDER AND THE QUARANTINE POLICY STAY THE DOMAIN'S. This ADR lifts only what two arbitrary tissues must share to interoperate. provisioning's four-step intake, its refuse-rather-than-quarantine rule and its ordering by cost were paid for in that domain and are better there than generalized from one case.
WHAT THIS RATIFIES. `lineage`, `apoptosis` and `cell-latency` become protocol terms with a schema warrant. `differentiation` and `epigenetics` become ratified as deliberately tissue-local. Five terms leave `verified = false` with a warrant that exists rather than one that was asserted.
Constraints
- Hard `reflection/schemas/cell.ncl` declares `LineageEntry` with `parent_ref` and `diff`, and exports it. The envelope that travels between tissues has one definition.
- Hard A lineage entry with `response = 'Hold` and no `reactivation_criterion` is REFUSED by the contract, not merely discouraged.
- Hard No protocol schema declares tissue memory, cadence, role assignment or an epigenetic profile. Those stay local to the tissue that holds them.
- Hard The three responses to a mutated parent are a closed, named set in the contract. A fourth answer requires amending this ADR, not adding a field.
- Soft Some mechanism in this tree writes a lineage entry and validates one at intake.
Alternatives considered
- Decide the tissue: schematize memory, cadence, differentiation and roles at the protocol level — rejected: It contradicts the three placements the model rests on. Tissue memory means nothing in a receiving tissue, which is why it is forbidden in the nucleus; a protocol schema over it would centralize the local half and take back the statelessness that makes a cell exportable. It would also have been the easier ADR, which is the tell.
- Adopt provisioning:adr-054 wholesale as the protocol cycle — rejected: Its intake ORDER, its refuse-rather-than-quarantine rule and its ordering by cost are that domain's decisions, paid for against its own traffic. Generalizing them from one case would freeze a policy the protocol has no evidence for, and it would take from a domain a decision it is entitled to make differently from its peers.
- Leave the five terms at `verified = false` and write nothing — rejected: Defensible, and it was the state for a day. But three of the five name things that MUST be shared for any export to work — a lineage, a death, a hold — and leaving them unwarranted means each tissue invents its own, which is the three-dialects failure the frozen vocabulary was created to prevent.
- Reference the parent by id and version instead of by content digest — rejected: A name resolves to whatever it means when the check runs, so a mutated parent would satisfy the reference and staleness would be undetectable exactly when it matters. The digest is what makes the claim mechanical.
Anti-patterns
- Standardizing what does not travel — A model splits into a portable half and a local half, and the protocol schematizes both — because the local half looks unfinished next to the specified one. The result takes back exactly what the split was for: the portable half was portable BECAUSE the local half was excluded from it. The tell is a schema whose fields would mean nothing to a second instance, defended as consistency.
- A hold with no way back — Something is suspended rather than retired, which reads as reversible and costs nothing to record. No condition for resuming is written, so nothing ever resumes: the suspension is a retirement that will not admit itself, and the vocabulary of latency makes the abandonment sound like patience. Applies past cells — a deferred backlog item with no trigger, a Proposed ADR with no gate, a paused mode with no resume criterion.