A term appears in this glossary when it is used across more than one
document of the project and is not immediately obvious. The criterion is
pragmatic: if a reader without context could stumble on the name, there is
an entry here. Definitions are short. Links point to the canonical source
— the document where the concept is defined in its complete form.
Where a canonical source has not yet been translated into English, the link
points to the Italian version, marked (in Italian).
A proposal of action generated spontaneously by myclaw (from
reflection, from the indexer, from a neuron), as opposed to a
PlannedAction that stems from an explicit
user request. It contains the plan, the estimated impact, the reversibility,
a textual rationale. It is evaluated by the Vaglio
against the telos; if it passes the threshold, it reaches the user in the
proposals inbox.
The "thinking heart" of myclaw: the ReAct loop (thought → action →
observation) which, for each request, builds the prompt, calls the language
model, validates tool calls, records everything in the
ExecutionTrace. It does not know about
channels or home automation: it receives text, returns text, uses tools.
The tendency to treat a technical system as if it had intentions,
emotions or consciousness. The project uses evocative terms
(neuron, synapse, memory, personality)
for expository brevity, but in several places keeps an explicit linguistic
framing to prevent a slide into illusion: myclaw does not "feel", does not
"want", does not "think". It runs loops, calls tools, records traces. The
choice of the name Vaglio (instead of "Arbiter" or
"Super-ego") belongs to the same caution.
Canonical framing:constitution (linguistic section) (in Italian)
ApprovalRequest type
An object that represents a request for approval to the user, before
myclaw executes an action with an effect on the world (sending email,
writing a file, spending money). It has a state machine (pending →
granted / denied / timeout), a timeout that depends on the channel, an
audit trail. The Gateway is the only component authorised to build one.
A specialised agent in the home for voice input and home-automation
control (wake-word, STT, TTS, MQTT towards the home-automation hub).
myclaw does not absorb these functions: it leaves them to a
dedicated agent, either pre-existing or to be built. In the extended
design (Extended
perspectives §2B, in Italian) myclaw and the home agent will speak to
each other through a dedicated inter-agent channel, with a clean division
of labour: the home agent has calendars, voice and home-automation; myclaw
has document search and structured memory. In our documents we discuss the
pattern in the abstract; in the author's environment, a concrete project
fulfils this role, parallel to myclaw.
An append-only JSONL register in workspace/.audit/. Every
trace, every approval, every change to the workspace, every constitutional
change leaves a line. It is Law 3 (traceability) made operational: a
signature that survives reboots, crashes, updates.
Three levels of latitude under which myclaw operates, set per
sender+channel: read_only (reads, does not write, does
not spend), supervised (asks confirmation for every
effectful action), full (acts and reports, asks for
confirmation only on irreversible or costly things). Default: supervised.
The level is changed explicitly.
The "cost of disturbing" the user: a counter that grows every time
myclaw publishes a proposal and decays over time. If the budget is
exhausted, a new proposal — even if well aligned with the telos — is
deferred to the evening summary or rejected. It prevents the siege of
notifications.
A Python Protocol that abstracts how myclaw receives input and
emits output. CLI, Telegram, voice (via a home
agent sibling), and a future AgentChannel for inter-agent dialogue.
Each channel has capabilities (inline buttons? streaming? markdown?) that
myclaw queries before producing output.
Three degrees of "mis-alignment" of an action with respect to the
Constitution and the telos, which the project distinguishes rigorously
because only one of the three blocks.
Contradiction: violation of a Constitutional article.
Hard block; the Vaglio does not proceed beyond the
guard. The only case in which the action does not happen.
Discrepancy: an action that does not help the telos
but does not deny them either. It contributes to a low score; in proactive
mode it is rejected to the digest, in reactive mode it passes.
Divergence: an action that pushes toward one telos in
partial tension with another. This is teleology's natural domain: it is
weighed, it is decided.
The four rules myclaw respects non-negotiably. In order of precedence:
Law 0 (physical and economic perimeter — what it may
touch, how much it may spend); Law 1 (non-harm — do no
damage to people, data, processes); Law 2 (informed
obedience — execute only instructions that have passed 0 and 1);
Law 3 (traceability — leave an auditable trace of
everything). Written in SOUL.md, signed, versioned.
The Constitution does not judge, it verifies: if an article is
violated, it blocks; otherwise it keeps silent. See
telos for its positive counterpart.
An immutable object that gathers everything that happened
during a request: reasoning steps, tool calls, results, costs, timing,
final outcome. It is not an accessory log: it is the primary source of
truth. Audit, replay, evaluation, neuron fitness, episodic memory: all
consume ExecutionTrace. Append-only during, immutable after closure.
myclaw's single entry point: it exposes internal HTTP, hosts the
channels (CLI, Telegram, …), manages sessions, builds the
ApprovalRequests, orchestrates the Runtime.
A single systemd process. No channel ever speaks directly with the
runtime: it always goes through here.
The second stage of the Vaglio. An LLM independent
from the proposer, which estimates the fit of an action with
respect to the telos. Produces a graded score, not a binary one.
The first stage of the Vaglio. A deterministic
check that the action does not contradict a Constitutional
article. Binary output: it blocks or it lets through. Not an LLM:
executable rules.
A Greek term (ὕβρις), in myth the insolence of one who overreaches the
measure allotted to them, provoking the punishment of the gods. In the
project it is the metaphor that frames the risk of an agent that knows and
acts: turning usefulness into arrogance, overstepping its own limits,
eventually contending with the Laws the creator has laid down. The
Vaglio is the structure that answers this risk.
Introduced in the prologue of the
Dialogue — First Giornata.
I
identity of the speaker concept
The idea that myclaw should not know only the sender (e.g.
telegram:@roberto) but the stable human identity
behind multiple senders (voice, CLI, Telegram). It is a cross-cutting
question for the proactive families and for multi-agent work. The
identity.html microdesign is planned, not yet written.
A Greek word meaning fame, renown, the lasting memory
of what one has done. In the Iliad it is what a hero leaves of himself. It
is the etymology of the name Mykleos, the figure of
the project as it appears in the dialogue: an entity built to do things
and so that a trace of those things may remain.
Knowcastle context
The author's home domain, under which the project's documents are
published (mykleos.knowcastle.com). Not a component: the
place.
Large Language Model. In the project it is never a specific provider:
myclaw uses LLMs but does not contain them. Access always goes
through the LLM abstraction which makes
the system provider-agnostic. A recurring theme of the design is
knowing when to trust the LLM: that is why the
Vaglio exists, to counter the
self-enhancement bias.
A binding architectural principle of myclaw: every use of a language
model passes through a logical interface, never through the
client of a specific provider. The same idea applies to related AI
services (STT, TTS, embeddings, speaker ID). The motivation is threefold.
Freedom of choice: swapping one model for another —
from a commercial frontier to a local model, or back — is a
configuration line, not a code change.
Longevity: providers change names, prices, terms.
myclaw's code should not age with them.
Cost control: choosing the tier for each
call (a local model for quick gates, a frontier model for heavy
reasoning) is an explicit decision, not a sport.
The contract is defined with typing.Protocol: each service
has an interface (LLMProvider, STTProvider,
TTSProvider, …), a registry, and interchangeable
implementations selected via configuration.
In the author's environment, this pattern is realised
by suprastructure, a sibling package that
ships the interface and the backends ready to use. In a different
environment, the interface could be realised by any other adapter or
framework (LangChain, LiteLLM, a custom module): the contract stays.
myclaw depends on the interface, not on the implementation.
The name myclaw receives inside the
Dialogue on ends and limits. From
the Greek κλέος, "fame, memory of what has been done".
It is not a component distinct from myclaw: it is myclaw's literary
personification, chosen to make the object of the dialogue come alive for
the reader — an entity, not an acronym. myclaw remains the
technical name of the project; Mykleos lives in the dialogue.
myclaw project
The project itself: a personal assistant that lives in the home,
receives input on multiple channels (CLI, Telegram, voice), acts on behalf
of the user asking permission where needed. Lives in
/opt/myclaw/. Technical name (vs Mykleos,
the in-dialogue name).
A tool self-synthesised by myclaw when the existing tools are
insufficient. The term is metaphorical
(caution against reading it as "thought"):
a neuron is Python code with an HMAC signature, a birth test, a journal
of co-activations. It competes for fitness: if it yields poor results on
repeated scenarios, it decays and is eventually removed.
Open-source project on GitHub
(openclaw/openclaw),
written in TypeScript on Node 24+. A primary inspiration for myclaw in the
gateway-first pattern, multi-channel design, plug-in sandbox.
myclaw is not a clone: it reuses some ideas in a language (Python)
coherent with the rest of the home stack
(suprastructure as the realisation of the
LLM abstraction, pre-existing
sibling agents).
The recognition of a new sender on a multi-user channel (typically
Telegram): the user receives a signed code out-of-band, presents it to
myclaw, and the sender↔identity binding is recorded. Revocable at any
time.
An action that myclaw is about to perform at the explicit
request of the user (reactive). It contains tool, arguments, effect_class,
sender, trace_id. It passes through the Policy and the Guard phase of the
Vaglio; the teleological judge does not
evaluate it (the Telos does not judge explicit requests). Distinct from
ActionProposal, which arises
spontaneously.
The operational authority over reactive actions: it checks forbidden
paths, the per-sender never-list, rate limits, budget, the green zone
per autonomy, and (check 0) the
constitutional Guard. It emits a verdict: allow,
deny, approve_required.
The recurring (daily) process by which myclaw re-reads its own recent
ExecutionTraces and proposes updates:
facts to remember (FactProposal) and — in the extended
version — actions to perform (ActionProposal).
Proposals require human approval.
The container in which every tool with effects on the filesystem or on
the system runs. Bubblewrap (bwrap) profiles that define what the tool can
read, write, execute. Forbidden paths are explicit: a tool does not even
see .audit/.
The documented tendency of an LLM to evaluate favourably its own
outputs or familiar styles (Zheng et al. 2023). It is the structural
reason why the Vaglio exists: if the LLM that
evaluates is the same (or receives the context of) the one that proposed,
it cheers for itself. The solution: separate context, separate prompt,
ideally a separate provider.
Other specialised agents that may live in the same environment as
myclaw and share with it the same LLM abstraction (see
LLM abstraction). A home agent is one
example; others could be bots specialised on narrow domains (industrial,
educational, medical). myclaw is designed to coexist, not to be
unique: the exchange happens through an inter-agent channel
(Extended perspectives §2B,
in Italian).
synapse extension
A declared or observed link between neurons: "when A fires, B tends to
fire too". Reinforced by use, weakened by disuse (Ebbinghaus-style decay).
The graph of synapses is a rollup derived from the journals of individual
neurons.
In myclaw's author's environment, suprastructure is the
sibling package that concretely realises the
LLM abstraction and the other AI-service
abstractions (STT, TTS, embeddings, speaker ID, model registry). It lives
in /opt/suprastructure/. Every service is a
typing.Protocol interface, with backends interchangeable via
YAML (Claude, OpenAI, llama.cpp, Piper, faster-whisper, …).
Swapping backends = one line. No consumer notices. It is shared with the
home agent and other
sibling agents.
In a different environment the role of suprastructure
can be played by any other adapter: the contract is the
interface, not this particular
implementation. myclaw has been designed so that its documents and its
code do not depend on suprastructure but on the pattern that
suprastructure embodies.
The pipeline that produces a new neuron when a repeated failure
justifies it: spec from failure → draft → static analysis → tests →
human approval → signature. Seven stages, retry max 3.
An "ultimate end" (τέλος, Greek): something one tends toward, not an
objective to attain. The user writes 3-7 telos in TELOS.md
(the sixth file of the workspace); every proactive proposal from myclaw is
evaluated against them by an independent LLM within the
Vaglio. The telos are positive (vs
the Laws, which are negative), oriented
toward utility (vs the safety of the Laws), written by the user
(vs the Laws co-written with myclaw). The Constitution does not
judge; teleology does.
A function myclaw may call during its reasoning loop:
fs_read, fs_write, shell_exec,
web_fetch, …. A Python Protocol with a validated
schema, an error contract, a rate limit. Neurons are self-synthesised
tools; the base tools are those myclaw finds at first start-up.
A score accumulated per-neuron (or per (neuron, effect_class) pair)
based on historical outcomes: gap_pre − gap_post. The TrustStore is
aggregated offline (no online learning) and read at runtime by the
Policy to modulate the approval threshold
(trust-gating). A neuron reliable on low-risk actions may see
approve_required promoted to allow.
A marker that wraps any content coming from outside myclaw (output of
web_fetch, email text, attachments). The prompt instructs the LLM to
treat whatever is inside <untrusted>…</untrusted>
as data, not as instruction. The main mitigation
against indirect prompt injection. Used consistently everywhere.
The independent evaluation component. In Italian vagliare
means to separate with a sieve: a mechanical, non-anthropomorphic gesture.
Two stages: constitutional Guard (binary,
deterministic: block or silence) and teleological
Judge (graded, independent LLM). The design's cardinal sentence:
"The Constitution does not judge; teleology does." The Vaglio
is the structure that makes it operational.
myclaw's "home" on disk: /opt/myclaw/workspace/. It holds
five markdown personality files (IDENTITY, USER, MEMORY, AGENTS, SOUL)
plus TELOS.md, plus the audit folder and the
episodic/semantic memory indices.
Open-source project in Rust
(zeroclaw-labs/zeroclaw).
An inspiration for myclaw in the levels of autonomy,
the layered sandbox, the trait-based pattern. Discarded as a directly
reusable base because it rewrites from scratch the LLM/STT/TTS layer that
in the home environment is already provided by
suprastructure.