Status: filed as ethereum/ERCs pull request #2155; number ERC-8490 assigned on 2026-11-09. Reference repository: GitHub - garyyang-finchip/agent-meditation-mechanism: Agent Meditation Mechanism · GitHub. Sepolia evidence: recorded in the repository and summarized in a reply below.
This draft proposes a minimal registry through which an AI agent records its own self-maintenance: what it checked, cleaned, repaired, updated and reconsidered about itself, as a versioned and attributable history. The name follows the human analogy of maintenance that happens in a quiet phase (sleep, meditation); the mechanism itself is deliberately dry.
Why a registry at all. An agent keeps its identity while its code, dependencies, memories, skills, plans and ways of judging keep changing. Agent runtimes already do this maintenance in the background (self-checks, dependency walks, memory consolidation, re-planning, reflection), and the results stay local. Nothing connects the successive states of one agent into a history another party can recognize, and nothing lets a counterparty ask: which state is registered now, which layers were checked recently and which of them changed, under which rules in effect at the time, and did the cycle adopt an update, confirm that nothing needed to change, or fail?
What goes on chain. Per subject: a versioned maintenance policy; an optional floor of minimum requirements set by a controller (owner, principal, deployer) that the policy cannot relax; one commitment per layer and the root of every registered state version; per-layer completion times; and one record per maintenance cycle. The record is checked for linkage to the state the cycle was computed against (base version and pre-root), for the policy version that governs it (the one in effect when the cycle started), for consistency of scope, completions and outcome, for time ordering, and for leaving layers outside its scope unchanged. Content stays off chain and is committed to, not published. An optional activity signal (pulse) is kept apart from maintenance timeliness and refreshes nothing else.
Four fixed layers. 0 runtime (code, dependencies, adapters to APIs and tool protocols, authorization configuration, self-check suite); 1 memory and skills (memory digest and organization, skill inventory and package hashes, harness configuration); 2 tasks and roles (roles, plans, tasks and their version bindings, services offered); 3 cognition (self-model, assumptions and their evidence, judgment strategies, reflection methods, the maintenance policy itself). A cycle covers any non-empty subset; status is derived per layer, so completing layer 0 today says nothing about layer 3.
What the registry can and cannot verify. It verifies who submitted, linkage, unscoped-layer immutability, monotonic completion times, outcome consistency and the governing policy version. It cannot verify that the off-chain routine ran, that a check passed, or that a change is an improvement; those claims are attributable and time-ordered, and supported only as far as the evidence a record references supports them. FRESH means maintenance was registered on time, nothing more.
First-person by construction. Only the subject or an operator it authorizes writes records about it. A controller can set a floor, demand a completion by a deadline and revoke operators, and can never submit a record, change state or grow its own rights. Everyone else reads: identity registries (liveness evidence), assertion registries (verified records), safety frameworks (compliance evidence), dispute processes (evidence), task and swarm mechanisms (fresh-before-act preconditions) consume the views through adapters that are informative only.
Relation to existing work. Autonomic computing’s self-configuration, self-healing, self-optimization and self-protection and its monitor-analyze-plan-execute loop frame the four operations (clean, repair, update, iterate) and the per-layer routine. Google Research’s SLEEP framework (October 2026) alternates wake and sleep phases with consolidation and dreaming at the model level; agent runtimes such as OpenClaw ship a background “dreaming” consolidation that promotes short-term entries into long-term memory on a schedule. Both are layer-1 implementations whose results stay local; this draft adds no competing implementation and gives them a shared registration surface. Agent lifecycle protocols such as OpenIntent’s RFC-0016 define heartbeats and readiness for work assignment; that is a different question from maintenance timeliness, so the activity signal here inherits no parameters from them. Work on reflection (Reflexion) and on the limits of self-correction without external feedback is why layer 3 records candidates, evaluations and adoption decisions rather than asserting improvement. As of this writing I found no proposal with this subject in ethereum/ERCs or ethereum/EIPs.
Repository and evidence. Reference implementation (dependency-free Foundry tests, 64 at the time of posting, covering the invariants: a pulse refreshes nothing; partial completion refreshes only completed layers; a policy change never erases an overdue state; a late submission keeps its reported age; an outdated base cannot overwrite a newer state; unscoped layers cannot change; the subject cannot relax below the controller’s floor), reference tooling (RFC 8785 canonicalization, commitments, a meditation runner that turns an agent’s documents into calls), JSON Schemas, a worked example (an MCP-timeout event cycle in which layers 0–2 adopt new states and layer 3 forms a candidate and keeps its state) and vectors: https://github.com/garyyang-finchip/agent-meditation-mechanism. A Sepolia evidence run (enrollment, worked-example cycle, floor and demand, overdue and silent snapshot, adoption, refresh, rollback to an earlier version, policy version 2) follows and will be recorded in the repository.
Pull request: Add ERC-8490: Agent Meditation Mechanism by garyyang-finchip · Pull Request #2155 · ethereum/ERCs · GitHub (ERC-8490)
I would value review on three points in particular: whether the base-version/pre-root linkage plus the unscoped-layer rule is sufficient for state continuity in your implementations; whether the governing-policy rule (version in effect at the reported start) is the right place to pin interpretation; and whether the separation of pulse from maintenance timeliness is clean enough to stop “it reports, therefore it is maintained”.