Reconcile: adopt initialization's consolidated HQ as canonical, re-home this session's new work #24
@@ -115,6 +115,33 @@ states for an agent's config directory, with the root standing in for it.
|
|||||||
a licence is observed and its binding changed; the binding is then declared as usual. Nothing here
|
a licence is observed and its binding changed; the binding is then declared as usual. Nothing here
|
||||||
grows a conditional in the declaration language.
|
grows a conditional in the declaration language.
|
||||||
|
|
||||||
|
## What it remembers, and where
|
||||||
|
|
||||||
|
**A session's memory lives in its context root**, beside its engram and its tools. That is the
|
||||||
|
same rule as everything else here rather than a new one: the root is the whole of what makes one
|
||||||
|
session a different agent from another, and memory is part of what makes it *that* agent.
|
||||||
|
|
||||||
|
**The mesh session's memory is its own.** It is not assembled from the node sessions on demand,
|
||||||
|
and it is not a view over theirs. What the mesh has been asked, and what it worked out, is held
|
||||||
|
in the mesh's root — not in the root of the node that happens to host it.
|
||||||
|
|
||||||
|
**That distinction is the point of putting it there.** The control-plane node runs two sessions
|
||||||
|
on one machine. If memory belonged to the machine rather than to the root, they would share it,
|
||||||
|
and the mesh's recollection of a fortnight of questions would be indistinguishable from that
|
||||||
|
node's own — which is the collision ADR 0026 exists to avoid, arriving through the back door.
|
||||||
|
|
||||||
|
**The root holds two kinds of thing, and confusing them destroys the memory.** The engram and the
|
||||||
|
tools are **declared**: the mesh says what they are and the host writes them, so editing one on
|
||||||
|
the machine survives until the next heartbeat and no longer
|
||||||
|
([ADR 0011](../../02-DECISIONS/0011-managed-files-are-generated-never-edited.md)). The memory is
|
||||||
|
**written by the session itself** and is declared by nobody — the mesh does not get to say what a
|
||||||
|
session remembers, and a mechanism that regenerates the root wholesale would erase a fortnight of
|
||||||
|
it on the next pass, silently, while reporting success.
|
||||||
|
|
||||||
|
So the root is not uniformly managed, and **which parts are must be explicit rather than
|
||||||
|
inferred**. A session's memory is its own output, kept across restarts, backed up as data rather
|
||||||
|
than reproduced from a declaration — because there is nothing to reproduce it from.
|
||||||
|
|
||||||
## What the mesh session knows
|
## What the mesh session knows
|
||||||
|
|
||||||
**It holds the design record by reading it**
|
**It holds the design record by reading it**
|
||||||
@@ -182,11 +209,6 @@ stopped telling the truth.
|
|||||||
|
|
||||||
## Deliberately not decided
|
## Deliberately not decided
|
||||||
|
|
||||||
**Whether the mesh session's memory is its own or assembled from the node sessions each time.**
|
|
||||||
It remembers what it has been asked, which is settled. Whether *what the mesh knows* is a thing it
|
|
||||||
holds or a thing it gathers on demand is a real question with a cost either way, and nothing here
|
|
||||||
depends on the answer yet.
|
|
||||||
|
|
||||||
**How a person's identity reaches a session.** Callers are distinguished, but who a caller *is*,
|
**How a person's identity reaches a session.** Callers are distinguished, but who a caller *is*,
|
||||||
and whether a session should act differently for different people, is the human-agent question
|
and whether a session should act differently for different people, is the human-agent question
|
||||||
ADR 0001 leaves open and this does not close.
|
ADR 0001 leaves open and this does not close.
|
||||||
|
|||||||
Reference in New Issue
Block a user