Glossary: the words of research 053's graduation, and harness and role as homonyms
mesh/merge-gate head 535fd8bb5498 merged into trunk 08d6476e5287 — pass: the change touches no module of the mesh's graph
mesh/repo-check head 535fd8bb5498 merged into trunk 08d6476e5287 — pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
mesh/merge-gate head 535fd8bb5498 merged into trunk 08d6476e5287 — pass: the change touches no module of the mesh's graph
mesh/repo-check head 535fd8bb5498 merged into trunk 08d6476e5287 — pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
Playbook 02 adds a graduated effort's words; design 58 now says agent harness, never the bare word.
This commit is contained in:
@@ -17,7 +17,7 @@ decisions:
|
||||
# 58 — Agent work as the mesh's own
|
||||
|
||||
**An agent's work belongs to the mesh, not to one vendor's program or one machine. A thread is kept whole on the
|
||||
bus by a thread seat; a thread handler on an always-on node runs the agent's harness headless for it, in a sandbox
|
||||
bus by a thread seat; a thread handler on an always-on node runs the agent harness headless for it, in a sandbox
|
||||
of its own, with the thread's own branch on the forge as its workspace; the agent works through a workspace toolkit
|
||||
and named tools, never a general command runner. Every person, agent and module is an identity held by one identity
|
||||
seat, with a role made of grants; the bus checks each login by its signature, and the tool runner checks each call
|
||||
@@ -35,7 +35,7 @@ nothing lost; the agent's calls outside its role are refused, saying which grant
|
||||
───────── ─────────────── ────────────────
|
||||
front ends nox-thread-handler nox-threads (seat thread)
|
||||
├ terminal client (first) ├ takes a thread's lease ├ a restricted stream per thread
|
||||
├ web page (then) ├ runs the harness headless ├ the object store for large content
|
||||
├ web page (then) ├ runs the agent harness headless ├ the object store for large content
|
||||
└ Telegram: questions, │ inside a microsandbox └ leases in the bus's key-value store
|
||||
approvals ├ answers permission requests
|
||||
│ │ through the mesh's asks identity seat
|
||||
@@ -60,18 +60,18 @@ source of truth: the conversation, the agent's questions and their answers, tool
|
||||
every change of state. Large content goes to the object store and is named from the stream. The stream is
|
||||
restricted (ADR 0376): only modules granted it read it. A thread is never deleted; the trail is kept for good.
|
||||
|
||||
A thread is **open**, **assigned** (to a node and a harness), **released** or **stopped**. Its seat's verbs create,
|
||||
A thread is **open**, **assigned** (to a node and an agent harness), **released** or **stopped**. Its seat's verbs create,
|
||||
assign, release, stop, move it, and take it over with a reason. The assignment is a **lease** in the bus's
|
||||
key-value store, changed only by a compare-and-set on its revision. Its holder renews it every 20 s. A lease not
|
||||
renewed for 60 s is said to the operator; nothing takes it over by itself.
|
||||
|
||||
## 3. Running a thread (ADR 0384)
|
||||
|
||||
The thread handler on an always-on node takes the lease and starts the harness (Claude Code today) headless, one
|
||||
turn at a time. It answers the harness's permission requests through the mesh's asks, so a front end answers them in
|
||||
The thread handler on an always-on node takes the lease and starts the agent harness (Claude Code today) headless, one
|
||||
turn at a time. It answers the agent harness's permission requests through the mesh's asks, so a front end answers them in
|
||||
place. At the end of every turn it commits and pushes the workspace, which is the thread's own branch on the forge;
|
||||
a node that picks the thread up fetches it, so a move loses at most the turn in progress. Before a shutdown it
|
||||
releases at a turn boundary; on a stop it ends the process group, since a tool's child process outlives the harness.
|
||||
releases at a turn boundary; on a stop it ends the process group, since a tool's child process outlives the agent harness.
|
||||
|
||||
The claude-code module mirrors the session's stream into the thread and, on pick-up, rebuilds a session from the
|
||||
thread. Usage per thread comes from each run's result and rate-limit messages on the stream, not the transcript, and the
|
||||
|
||||
Reference in New Issue
Block a user