From 21508a73483accd107306f4108e639a65d9c46bf Mon Sep 17 00:00:00 2001 From: mesh-admin Date: Tue, 13 Oct 2026 23:53:25 +0000 Subject: [PATCH] Answer review 237 of hq#351 (issue 653) The controller holds no config value (ADR 0348 section 9), so the record mirror and the assignment no longer say it does. Name issue 683 for the Not: line, quote the old word, add the alias identifiers, define trusted, and add the homonym rows for managed and trusted. Co-Authored-By: Claude Opus 5.5 --- 00-META/glossary.md | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/00-META/glossary.md b/00-META/glossary.md index b45112ac..4d403bfd 100644 --- a/00-META/glossary.md +++ b/00-META/glossary.md @@ -108,7 +108,7 @@ and repair). **Purpose.** To hold, check and resolve every value a module reads that someone may change, and to say where each resolved value came from. **Recorded by** the `mesh-config` module, in its buckets on the bus, with its store as the history behind them. **Upstream of** Provisioning, which places the values; -downstream of Module and Placement. **Decided by** ADR 0348. +downstream of Module and Placement. **Decided by** ADR 0262, 0277, 0348. **Uses:** module, node, manifest (Module), assignment (Placement), provision (Provisioning), proposal (Operator and conversation). @@ -120,10 +120,15 @@ downstream of Module and Placement. **Decided by** ADR 0348. the value of the predefined key it falls back to for the whole mesh; **node config**, that key's value on one node; and **module-assignment config**, the module's own value on one node. There is no module value for the whole mesh. *Config* is the concept, the verb (`config`) and the manifest field - (ADR 0348). - Older records and documents say *setting* for a config value and *settings* for the concept; new writing - says config value and config. The word is not yet on a *Not:* line, because documents in force still use - it in running prose; until they are reworded it is checked by review. + (ADR 0348). Mesh config is a source level, the value set for the whole mesh; `mesh-config` is the module + that keeps every level. The controller holds, mirrors and resolves no config value (ADR 0348 §9). + Older records and documents say "setting" for a config value and "settings" for the concept; new writing + says config value and config. The word goes on this entry's *Not:* line once the documents in force that + still use it in running prose are reworded, which is issue 683; until then it is checked by review. The + manifest field and the verb "settings" are kept as aliases until every module has moved (ADR 0348 §1, + issue 630), and are named on the line below with the rest once issue 683 is done. + *Identifier until renamed:* `takes-settings`, `${setting:}` — manifest forms kept as aliases until every + module has moved to their config names (ADR 0348 §1, issue 630). What a "flavor" once varied is a config value or a separate module. *Not:* ~~flavor~~ - **predefined key** — a key of the catalogue's `predefined.json`, the fixed list of keys for which mesh @@ -132,15 +137,20 @@ downstream of Module and Placement. **Decided by** ADR 0348. type; one that names none resolves from its default and the module's own value only. The list is the catalogue build's: a change to it is validated with every manifest naming a key, and removing a key still named or still holding a value is refused (ADR 0348). +- **trusted** — said of a config value that decides what runs or who can reach what. At every level it is + set only at the controller's terminal or through `config` with propose, on the operator's Approve; a + module value that falls back to a trusted predefined key is itself trusted (ADR 0277, ADR 0348 §8). Not + the trusted sender of an operator message (see [Homonyms](#homonyms)). - **preference** — a config value whose manifest gives it a default, because its value is true of the software and only tuned per node: a font size, a width (ADR 0262). A config value with no default is `required`: the operator's own value, such as a domain or an identity, and while nothing sets it the module's files are not written (ADR 0348). *Not:* ~~tunable~~ (hq) -- **mesh-config** — the module that owns every config value: it holds the seat `mesh-config` once for the - mesh, validates, takes a trusted value only from the controller's terminal or the operator's Approve, - keeps the history with who set it and why, and resolves the four sources (ADR 0348). +- **`mesh-config`** — the module that owns every config value, and not the source level mesh config: it + holds the seat `mesh-config` once for the mesh, validates, takes a trusted value only from the + controller's terminal or the operator's Approve, keeps the history with who set it and why, and resolves + the four sources (ADR 0348). ## Core — the mesh's own machinery @@ -209,7 +219,7 @@ every other domain has something to run on. **Recorded by** the controller and t (ADR 0229). - **record mirror** — a key-value bucket on the bus that the controller writes from one kind of its - records (nodes, assignments, walks, builds, config values), after each change commits in its store and only + records (nodes, assignments, walks, builds), after each change commits in its store and only when the value differs, with one event per write. The store stays the record; the self-check compares the two and raises `mirror-drifted` on any difference (ADR 0289). Shortened to *mirror* where the @@ -223,8 +233,8 @@ every other domain has something to run on. **Recorded by** the controller and t and Health and repair. **Decided by** ADR 0100, 0126, 0176, 0181, 0207, 0221, 0252, 0261. **Uses:** node, machine, module, seat, manifest (Module), config value (Config). -- **assignment** — a module put on a node, with the config values it is given there (module-assignment - config, Config). +- **assignment** — a module put on a node. Its config values on that node (module-assignment config, + Config) are `mesh-config`'s, never part of what the controller records (ADR 0348 §9). - **pending assignment** — an assignment of a module whose build is still running, kept, and made by the controller when that build registers the module, or ended with why when it does not (ADR 0261). @@ -282,7 +292,7 @@ and vault (Identity and access). role you occupy, and the two meet where a seat delivers a provision: occupying the seat is what makes a module *the* provider of it. Every value a module needs is a provision from the domain that owns it: placement from the controller, - config values from mesh-config, shared secrets from the vault, a consumer's values from the module + config values from `mesh-config`, shared secrets from the vault, a consumer's values from the module providing it, an item of a collection from its contributor. A module says only what it needs and where it lands (ADR 0349). - **provider** and **consumer** — the module that provides a provision, and the module that requires @@ -772,6 +782,10 @@ renaming one sense, the old sense moves to a *Not:* line and becomes mechanical. | | a question someone must answer | **issue** | The record | | deploy | the per-node part of a delivery plan | **deploy plan** | Change and delivery | | | a wrapped program's own deploy | its own word | — | +| managed | a placed file of which only named keys or a marked block are the mesh's | **managed** (`owner-at-runtime`) | Provisioning | +| | a file the mesh writes, such as the agent's instruction file or `managed_settings` | the file's own name, or *a file the mesh places* | — | +| trusted | a config value that decides what runs or who can reach what | **trusted** config value | Config | +| | a sender on the operator's own list | **trusted** sender, its message an **operator message** | Operator and conversation | ## How this page is kept