← Documentation index Architecture guide › Mnestome

Metnos

Mnestome: store of operational edges
SQLite schema, queries, maintenance, and actual integrations.

The mnestome is the local store that can represent a graph of mnests between executors. Its code implements persistence, traversal, decay, and inspection tools. It is not currently a graph that the runtime populates automatically from every turn, and it is not a personal memory of the user.

Contents

  1. Scope and status
  2. Graph model
  3. What it does not contain
  4. Database schema
  5. Writes and queries
  6. Nightly ager
  7. Archiving and retention
  8. Names in the two languages
  9. Bootstrap and population
  10. Inspection and observability
  11. Operational boundaries

1. Scope and status

Mnestoma opens a SQLite database with WAL and foreign keys enabled. Its API can record edges, change their state, traverse them, find recurring protos, and read statistics and events.

The turn runtime populates the separate canonical_query_log table in the same file when it receives a useful canonical query. It does not call record_passing() for edges. These two kinds of telemetry must not be confused.

2. Graph model

In the logical model, nodes are executor names and versions and edges are directed, weighted mnests. A proto edge ends at a desired name with no version. walk(start, max_depth) performs breadth-first search, excludes protos by default, and orders paths by decreasing average weight.

Synt's composer can use this structure to find a chain of existing executors. It does not generate L0 or L1, alter the ordinary planner ranking, or replace the signed catalog.

3. What it does not contain

It is notReason
Complete turn historyTurns have separate logs; an event may store only their identifier.
A user profileThe schema describes executors, edges, and technical telemetry, not preferences or personal facts.
A plan cacheL0 and L1 use their own stores, keys, and validity rules.
Proof of effectsAn edge exists because a caller wrote it.
An automatic synthesis systemProtos are signals; Synt, tests, and the promoter have separate responsibilities.

4. Database schema

ObjectContent
executorsName, version, state, load time, and manifest hash. The current API does not populate it automatically.
mnestsEdges, weights, uses, timestamps, states, tags, and desired signature.
eventsReinforcements, decays, and state changes, with an optional turn_id.
v_mnestomaView of active and proto edges.
canonical_query_logCanonical query, tool, observed argument shape and values, counters, and outcome. It is telemetry separate from the graph.

On open, idempotent migrations add events.turn_id and canonical_query_log.args_observed to older databases.

5. Writes and queries

The main public operations are:

6. Nightly ager

The scheduler installs the nightly_aging job at 03:30. It runs executor aging and Mnestoma.apply_ager() in sequence. The latter:

  1. decays active and proto edges with time;
  2. moves below-threshold active edges to decaying;
  3. counts decaying archive candidates;
  4. deletes below-threshold protos;
  5. counts protos that reached recurrence thresholds.

The job is idempotent for the same logical instant only if it is not repeated with an advancing timestamp: each run updates ts_last and writes events for decayed records.

7. Archiving and retention

The ager does not automatically archive decaying edges: it returns a proposed_archive count. The module has no routine that creates monthly snapshots, compresses annual copies, or includes the database in a backup. Those operations require an explicit external policy.

The only automatic graph deletion performed by the ager concerns proto-mnests with weight below 0.05. Their associated events are also removed by the foreign key's ON DELETE CASCADE.

8. Names in the two languages

Italian documentation uses mnestoma; English documentation uses mnestome. The Python module, class, and SQLite-directory name remain mnestoma in both languages. Mnest is the technical name of one edge and is not translated.

9. Bootstrap and population

On first open, the database is created with an empty schema. No hidden edge seed is installed, and the Mnest class does not admit a seed state. Edges appear only through explicit API calls or data already present in the configured database.

Turns may instead add records to canonical_query_log. This activity must not be shown as the birth of mnests, clusters, or L0/L1 paths.

10. Inspection and observability

python3 -m mnestoma provides commands for statistics, aging, top incoming/outgoing edges, protos, walks, summaries, and audit. The python3 -m observability render renderer can include counts, active edges, protos, and recent events in static HTML.

These tools read store contents; they do not establish that those contents are complete. An empty mnestome is a legitimate outcome of the current integration.

11. Operational boundaries