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 Metnos (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 Metnos: 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: Metnos 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
Metnos 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).
Metnos 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) Metnos 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; Metnos
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 Metnos 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
Metnos 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.
The third category of executor, introduced in v1.1 (25/4/2026): it lives in Metnos's source code rather than in the workspace, is signed as part of the project release, and never goes through the synthesis pipeline (the synt can never produce one). It implements services that need the system clock, the gateway's async loop, or transversal persistent state. Reduced lifecycle: only active and disabled in config. Example: scheduler.
The sequence of strategies through which the synt answers an operational need, ordered by increasing cost. Reactive (in the user turn): compose (a chain of existing executors, zero frontier-LLM cost) and generate (the seven-stage pipeline, ~€1). Introspective (nightly homeostasis): merge, generalise, specialise. It honours the non-retreat telos: synt exhausts the cascade before answering «I cannot».
A Python Protocol that abstracts how Metnos 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
Metnos 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 Metnos 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.
A function Metnos can run as a step of its own reasoning. Term
introduced by the
Dialogue on executors and
distributed memory as the replacement for the older
neuron: compared to that term, it puts the focus on
the fact that this is executable code, not an analogy with neurons. An
executor is signed Python code with a manifest, a sandbox profile, and
an error contract. It can be part of the initial seed or born by
synthesis from the synt with human approval.
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.
Metnos'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 Metnos 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.
Historical note: in the project's earliest phase it had
been chosen as the root of the original name («Mykleos»), later
replaced. The entry stays in the glossary because the term still appears
in the dialogues and in the classical tradition; the project's name today
no longer derives from kleos but from mêtis +
noûs.
Large Language Model. In the project it is never a specific provider:
Metnos 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 Metnos: 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.
Metnos'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.
Metnos depends on the interface, not on the implementation.
A trace of co-activation between two executors:
"the output of A was passed to B in this turn". Reinforced by use,
weakened by disuse. Term introduced by the
Dialogue on executors and
distributed memory as the replacement for the older
synapse.
The emergent graph of all mnests: the set of
co-occurrences between executors that have actually taken place. Not
designed at a desk — it emerges from use. It is Metnos's
relational memory, distinct from the LLM's contextual memory and from
the episodic memory of conversations. The Italian form is
mnestoma (Latin -ma suffix); the English form uses the
biological -ome suffix, as in microbiome.
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. Etymology.
The name is Greek and is a compound: mêtis
(μῆτις), the practical wisdom that adapts to the
situation — the cunning of Odysseus, also the goddess who is mother
of Athena —, and noûs (νοῦς),
the intellect that reasons. The two Greek words for mind, joined into one.
The system joins them in fact too: the LLM is the noûs,
the vaglio and the mnestome are the
mêtis. The project's public domain is metnos.com;
the process running on the home server is still called myclaw
(path ${METNOS_HOME}/, service myclaw-gateway.service)
for continuity with the pre-existing repo. Historical note.
Until 24 April 2026 the project was called «Mykleos», from
kleos; the name was changed because it was already
trademarked elsewhere.
Deprecated term after the
Dialogue on executors and
distributed memory: the canonical term today is
executor. The entry remains for historical
trace. Original meaning: a tool self-synthesised by Metnos when the
existing tools are insufficient. The term was 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 Metnos in the
gateway-first pattern, multi-channel design, plug-in sandbox.
Metnos 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
Metnos, and the sender↔identity binding is recorded. Revocable at any
time.
An action that Metnos 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 principle that, in cases of irreducible conflict between Metnos's
freedom and the robustness of its effects, robustness
wins. The reason is economic, not ideological: a restriction of freedom
is recoverable in linear time (Roberto approves, the threshold updates),
whereas many losses of robustness are not recoverable at all.
Reversibility shifts the balance by making
near-recoverable what would otherwise not be. Not to be confused with
paternalism, which pushes robustness past this threshold.
An incomplete mnest: the trace of an attempt in
which Metnos wanted to pass the output of one
executor to another that does not yet exist.
It is an unsatisfied desire that lingers in the
mnestome; if it recurs, it becomes the signal
from which the synt proposes the synthesis of a new executor to
the user.
The recurring (daily) process by which Metnos 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 first (and so far only) builtin proposed: it invokes another executor (or chain) at a defined cadence. Replaces the wrong idea of «agreed routines» as a separate design category. Key arguments: target_executor, schedule (cron-like or NL), delivery_channel, count (also infinite), expiry, on_failure. Sibling operations: list, cancel, modify. Persistent state: workspace/.runtime/scheduler.sqlite.
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
Metnos 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). Metnos is designed to coexist, not to be
unique: the exchange happens through an inter-agent channel
(Extended perspectives §2B,
in Italian).
synapse extension · deprecated term
Deprecated term after the
Dialogue on executors and
distributed memory: the canonical term today is
mnest; the graph of synapses corresponds to the
mnestome. The entry remains for historical
trace. Original meaning: 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 Metnos'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. Metnos has been designed so that its documents and its
code do not depend on suprastructure but on the pattern that
suprastructure embodies.
The process that brings the executor pool to life and matures it. Not an agent, not an object: a cascade of strategies ordered by increasing cost. Replaces the v1.0 term synthesizer: shorter, closer to the role. Reactive trigger (proto-mnest within the user turn) or introspective (nightly analysis of the mnestome). Every proposal passes through the human gate.
Deprecated term after the v1.1 rewrite (25/4/2026): the canonical term today is synt. The entry remains for historical trace. Original meaning: the seven-stage pipeline that produced a new neuron when a repeated failure justified it (spec from failure → draft → static analysis → tests → human approval → signature; max 3 retries). Now subsumed into synt's broader cascade.
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 Metnos 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 Metnos). The Constitution does not
judge; teleology does.
A function Metnos 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 Metnos 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 Metnos (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.
Metnos's "home" on disk: ${METNOS_HOME}/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 Metnos 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.