Canonical domain terms for this project. Code and docs use these terms; _Avoid_ synonyms are banned in new names. Conceptual terms are defined here; code-backed terms are defined at their code home and linked from here; principles and invariants are defined in their prose home and pointed at from here. Every other document uses a term and points at its home, and never redefines it.

This glossary describes what is: an entry is written when the thing its term names is real. That is why it is short — the node's vocabulary grows as the node does.

A

acceptance

Defined in YmerNode — the app map's Scripts section stating that a script runs only while its accepted hash equals its code hash, and which doors accept. Avoid: approval (the client's act is the door; acceptance is the node's record), trust, enable, activate, install (for a script)

B

backup

YmerNode.Notebook.Backup Avoid: snapshot

battery

A capability the node carries for every script, so no script declares or vendors it — in two shapes: what the context hands a run, YmerNode.Script.Context.t/0, and a promised package. Avoid: SDK, runtime, helper, stdlib (for it); context stays the word for the struct itself and never becomes a term of its own

bind marker

The empty file the node's image writes at build, at a fixed path the release checks at boot; its presence is what makes the release bind all interfaces inside the container, and nothing else does.

Avoid: bind flag, wide-bind switch, bind env (there is no variable)

C

CLI

The release's operator verbs — bin/ymer-node, the overlay beside the release's own launcher — run by a human on the machine the node runs on; the node's own human door, beside the client's approval. Implemented by YmerNode.Scripts.CLI. Avoid: shell (the distribution's menubar app), console, command line (as the term)

D

deadline

Defined in YmerNode.Scripts.Runner — the @moduledoc section The deadline, stating the bound on one run and that a run past it is killed. Avoid: timeout (for the bound — an action's timeout key is its request, :timeout the answer a killed run gives), time limit, cap (bare)

declaration

YmerNode.Script.declarations/0 A source declaration is what references derive from an accepted script's declaration. Avoid: manifest, capabilities, permissions, config

deploy

Mix.Tasks.YmerNode.Deploy Avoid: upgrade, redeploy

durability rule

Defined in YmerNode — the app map's opening paragraph on what the node keeps. Avoid: one precious file, single-store rule, one-database rule, backup rule

E

example script

The script the image ships and a fresh install holds — Script.Hex, planted by a migration on a fresh node database, present to be read as much as run; removable, and removal sticks.

Avoid: sample, default script, built-in script (built-in is the reference sources' word), template, seed (for it)

F

fetch recipe

YmerNode.References.Sources.classify/2 Avoid: resolver, resolve, handler, fetcher

files directory

YmerNode.Script.Context.files_dir/1 Avoid: folder, files folder (the human word, never the term); node files (the node's own things take that head — these files are the user's); inbox, outbox, drop folder, gateway, share, exchange directory; mount, volume (for it — the mount is /data, which holds it); FILES_PATH names the variable that sets it, never the directory

G

guide

The text scripts guide renders from the docs of YmerNode.Script and YmerNode.Script.Context — each moduledoc and the documented types, callbacks and functions beneath it: the script contract, the batteries, what a script may call, the loop, the secrets and sharing flows — the same bytes the published docs show, followed by one section the node computes at render: the applications the running release carries. Rendered by YmerNode.Scripts.Guide.

Avoid: tutorial, manual, docs (for it), instructions (the MCP field), notes (the action key), help (the tool that names it)

I

install

The kept copy of the node on a machine: the directory holding its store, its secrets.env and the compose file, and the container compose runs from there. Stopped or removed, the container leaves the install in place; the checkout's smoke on its own port is not one — nothing there is kept.

Avoid: install dir (as a term of its own — the install's directory is the install), the directory you keep, runner compose, prod (as a noun for it)

L

live output

Mix.Tasks.YmerNode.Build.LiveOutput Avoid: streamed output, streaming output, progress output, console output, relay, sink, echo

M

membrane

Defined in YmerNode.References — the @moduledoc section stating that a reference is a pointer, never content. Avoid: find-don't-re-document, pointer rule

N

node

A running Ymer Node install.

Four other compounds stay qualified wherever they are meant: a BEAM node, a Mermaid node and an AST node, which are three other senses of the word, and the node database, which is this sense's own and is always named in full so it never reads as a bare node. Bare "node" in this repository's prose is always this entry.

node database

node.db, with its -wal/-shm companions beside it — the node's own mix-managed database beside the store, whose schema this codebase owns and migrates at boot. Rebuildable and never backed up: delete it and the next boot recreates it empty. Until registry sync lands it holds the only copy of every reference added on this node, and of every script authored here.

Avoid: cache, node store, second store, node db

node time zone

YmerNode.Script.Context.time_zone/1 Avoid: timezone, time-zone; local zone, operator's zone, machine zone, this node's zone (as terms — prose says "the node's time zone"); TZ names the variable that sets it, never the fact; local time (a wall-clock reading, not a zone)

notebook

YmerNode.Notebook

O

origin

YmerNode.Scripts.Script.origin/0 Avoid: provenance, source, door (the informal word in prose)

P

policy

The options the node merges underneath a script's own when a battery is called through the context — facts of the machine and the run a script never learns — so a script passes nothing and may override anything. A call that goes around the context carries none. Avoid: seam (for it — seam stays this repo's word for a join point, the references seam), wrapper, facade, defaults (bare — a package's own default is the package's), node defaults; client policy is ymer's term and stays qualified

promised package

A battery a script calls as a package: one the table in YmerNode.Script § What a script may call promises for one job, at the line its last column names, whose own docs scripts info <name> renders from the release. What the release carries beyond them is reachable and not promised. Avoid: dependency (for it — every package in mix.exs is one; a promised package is the subset the table names), library (the standing doc's word for shared script code), battery (bare, for it)

R

reference

YmerNode.References.Reference Avoid: entry, bookmark, link; pointer (as the entity name — "pointer" stays the informal concept word in membrane prose); image reference stays compound-qualified for the Docker sense in Mix.Tasks.YmerNode.Deploy

references

YmerNode.References Avoid: knowledge index, information router, reference layer

registry

The node's set of references: the rows in the node database the references tool serves. Until registry sync lands, this registry is the only copy of them.

Avoid: index, knowledge index, catalog, reference layer. A process registry — Elixir's Registry, or the name a supervised process is registered under — stays compound-qualified wherever it is meant.

revision

The git commit a build was made from, as its short sha, marked when the tree was dirty. An image built from a git checkout carries it three ways: as the OCI revision label, as the ymer-node:<revision> tag, and inside serverInfo.version as <version>+<revision>. A build that could name none — no git, or no work tree — carries it nowhere and answers the bare version.

Avoid: stamp, sha stamp, build id

S

safety backup

YmerNode.Notebook.Backup.restore/1 Avoid: undo anchor, regret button

script

YmerNode.Scripts.Script Avoid: extension, plugin, program, integration (as the thing); tool (a script is served by the scripts tool, it is not one)

script contract

YmerNode.Script Avoid: behaviour (bare — the word for any Elixir behaviour), extension contract, API

secret

YmerNode.Secrets Avoid: credential, token (for it — a bucket's token is the throttle's word), env var, api key

serverInfo

Defined by wymcp; its definition lives there, not here. This node's name and version on it come from application config, never from the router option. Avoid: server info, server identity

serving

Defined in YmerNode.Notebook — the @moduledoc section stating the serving rule. Avoid: ready, readiness, healthy, up (for serving), running (for serving — YmerNode.Notebook.Repo.running?/0 keeps its structural meaning)

source

YmerNode.References.Sources.source/0 Avoid: system, kind, provider, classification (as the term — it is the definition's word); origin (for the classification — the word names a script row's provenance); source code, source file and open-source stay compound-qualified, and a script's Elixir text is its code, never its source

source declaration

YmerNode.References.Sources.declaration/0 Derived from an accepted script's declaration, which is the wider term. Avoid: source config, host mapping, URL pattern

store

The notebook's database file — notebook.db, with its -wal/-shm companions beside it — the one thing the node keeps. A backup is a single-file copy of it; a restore replaces it whole. Not the node database, which sits beside it and is rebuildable.

Avoid: database file, db file, notebook file, the sqlite, the data (for the file — data/ is the install's directory, which holds the store). Never store as the verb for landing a script: a script is created, updated or pushed, and the node holds it.

T

tag invariant

Defined in Mix.Tasks.YmerNode.Build — the @moduledoc section on what moves ymer-node:latest. Avoid: latest invariant, tag rule

throttle

YmerNode.Script.throttle/0 Avoid: gate, rate limiter, limiter, rate limit (the class, never the thing)

W

what a row cannot say

A sentence the node writes beneath the table in YmerNode.Script § What a script may call, stating a fact about a promised package that the package's own docs do not — the node's knowledge, never library teaching. Avoid: warning (a compiler's and a logger's word here), gotcha, caveat, note

Y

Ymer Node

The open-source, Docker-shipped, headless local companion to ymer: an MCP node providing local capability — the notebook, the references registry and the scripts it accepts — to LLM workers whose coordination lives in ymer. One product together with ymer, and no UI of its own.

Avoid: Ymer Desktop, Ymer Local, Ymer Dev (all rejected as names); desktop app (it is headless, and has no window to show anyone).