A node is a machine; the session is a feature of it
Correcting an overstatement from the previous commit, where I had written that a node IS a conversation. It is not. A node is a machine inside the mesh, and the session is one of the things running on it -- like the host, like any workload. That also dissolves the conflict I flagged as unresolved rather than needing anyone to decide it. 0001 says a node does not authenticate to a model provider, agents do. Still true: the session authenticates, and the session is not the machine. The node does not think, something on the node does. I had manufactured the contradiction by promoting a feature into an identity. 0001's summary row is corrected the same way, and says explicitly that neither the node's session nor a hired worker makes the node itself a thinking thing -- both run on a machine, which is what leaves that line untouched.
This commit is contained in:
@@ -81,15 +81,19 @@ Four layers. Naming them honestly is worth more than the word on the tin:
|
|||||||
| **machines are linked by a private network** | and every machine reaches every other over it |
|
| **machines are linked by a private network** | and every machine reaches every other over it |
|
||||||
| **one node holds knowledge of all of them** | the control plane, and only it |
|
| **one node holds knowledge of all of them** | the control plane, and only it |
|
||||||
| **modules are how anything is built and delivered** | this *is* the CI/CD, not something beside it ([ADR 0010](0010-delivery.md)) |
|
| **modules are how anything is built and delivered** | this *is* the CI/CD, not something beside it ([ADR 0010](0010-delivery.md)) |
|
||||||
| **every node is a conversation you can address** | it holds a session, it remembers, and any node can message any other ([ADR 0004](0004-a-node-and-how-it-joins.md)) |
|
| **every node runs a session you can message** | a feature of the node, remembering across callers; any node can message any other ([ADR 0004](0004-a-node-and-how-it-joins.md)) |
|
||||||
| **workers are hired onto nodes to do tasks** | employees, with a lifecycle — a different thing from the row above ([ADR 0003](0003-agents-are-persistent-employees.md)) |
|
| **workers are hired onto nodes to do tasks** | employees, with a lifecycle — a different thing from the row above ([ADR 0003](0003-agents-are-persistent-employees.md)) |
|
||||||
|
|
||||||
**The last two rows are not the same thing and the vocabulary of one does not describe the other.**
|
**The last two rows are not the same thing and the vocabulary of one does not describe the other.**
|
||||||
A node's own session belongs to the node: nobody hires it, it holds no tasks, it is never
|
A node's session comes with the machine: nobody hires it, it holds no tasks, it is never
|
||||||
reassigned, and it is gone when the node leaves. A worker is an employee — named, hired, drained,
|
reassigned, and it goes when the node leaves. A worker is an employee — named, hired, drained,
|
||||||
retired, movable. They are built from the same parts and run on entirely different terms, and
|
retired, movable. They are built from the same parts and run on entirely different terms, and
|
||||||
collapsing them is how the employee vocabulary ends up stretched over something it does not fit.
|
collapsing them is how the employee vocabulary ends up stretched over something it does not fit.
|
||||||
|
|
||||||
|
**Neither makes the node itself a thinking thing.** A node is a machine; both of these run *on*
|
||||||
|
one, which is why *a node does not authenticate to a model provider, agents do* is unaffected by
|
||||||
|
either.
|
||||||
|
|
||||||
**Where the value is** is that both can reach across the whole set: a shell, a service, a file, or
|
**Where the value is** is that both can reach across the whole set: a shell, a service, a file, or
|
||||||
simply a question to another node. Not machines that can be configured centrally, which is
|
simply a question to another node. Not machines that can be configured centrally, which is
|
||||||
ordinary, but a set of machines that can be worked across as though they were one.
|
ordinary, but a set of machines that can be worked across as though they were one.
|
||||||
|
|||||||
@@ -28,15 +28,19 @@ asked to do — and that belongs in the host's profile rather than in the defini
|
|||||||
because its absence is every node in the ordinary disconnected situation at once. An episodic
|
because its absence is every node in the ordinary disconnected situation at once. An episodic
|
||||||
host on a phone is that situation more often. Neither needed a new mechanism.
|
host on a phone is that situation more often. Neither needed a new mechanism.
|
||||||
|
|
||||||
### A node is also a conversation
|
### A node runs one agent session
|
||||||
|
|
||||||
*Written 2026-08-29. It runs on every node today and appeared in no record, which is how something
|
*Written 2026-08-29. It runs on every node today and appeared in no record, which is how something
|
||||||
deliberate comes to look accidental.*
|
deliberate comes to look accidental.*
|
||||||
|
|
||||||
**A node holds one session, permanently, and it is part of what the node is** — not a program
|
**A node is a machine. The session is a feature of it** — one of the things running there, like the
|
||||||
installed on it. Anything in the mesh can send it a message; it replies; and it remembers. What it
|
host, like any workload. The node does not think; something on the node does. Which is why
|
||||||
was asked ten minutes ago is still there next week, alongside what everything else asked in
|
[ADR 0001](0001-mesh-brokers-nodes-host-agents-think.md)'s *a node does not authenticate to a model
|
||||||
between, the same way both sides of any conversation remember it.
|
provider, agents do* holds unchanged: the session authenticates, and it is not the machine.
|
||||||
|
|
||||||
|
**It is permanent, and it remembers.** Anything in the mesh can send it a message; it replies; and
|
||||||
|
what it was asked ten minutes ago is still there next week, alongside what everything else asked in
|
||||||
|
between — the same way both sides of any conversation remember it.
|
||||||
|
|
||||||
Its system prompt is the node's **engram** — what makes one node's replies recognisably its own
|
Its system prompt is the node's **engram** — what makes one node's replies recognisably its own
|
||||||
rather than generic.
|
rather than generic.
|
||||||
@@ -48,7 +52,7 @@ be answered by going and looking: *what is in our forge*, not only *what is your
|
|||||||
There is no second transport and nothing is dialled.
|
There is no second transport and nothing is dialled.
|
||||||
|
|
||||||
**Any node can message any node, and this is the one part of the system that is genuinely a mesh**
|
**Any node can message any node, and this is the one part of the system that is genuinely a mesh**
|
||||||
— symmetric, with no centre. A node that is asked something it does not know can ask another, and
|
— symmetric, with no centre. A node that is asked something it does not have can ask another, and
|
||||||
how it passes the question on is its own business: it may say who wants to know, or simply ask. A
|
how it passes the question on is its own business: it may say who wants to know, or simply ask. A
|
||||||
person relaying a question makes the same choice, and it follows from the engram rather than from a
|
person relaying a question makes the same choice, and it follows from the engram rather than from a
|
||||||
message format.
|
message format.
|
||||||
|
|||||||
Reference in New Issue
Block a user