Files
hq/01-RESEARCH/037-the-catalogues-hard-coded-preferences/00-overview.md
T
jochen 907051c21d
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery delivered
Keep 012 and 027 open and give every leftover of the closed efforts an issue (issue 408)
The review found questions no record decides: 012's minimum-viable-node
half and 027's packaging, secrets, sizing and leftovers questions, so both
stay active. Where the record lives (006) is issue 414, and 037's two
other leftovers are issues 415 and 416; to-be 06 now points at issue 414.
2026-10-10 21:48:28 +02:00

2.6 KiB

status, initiated, touches, became
status initiated touches became
graduated 2026-10-08
02-DECISIONS/0262-a-preference-has-a-default-in-its-manifest-and-the-operators-own-value-has-none.md
03-DESIGN/01-to-be/27-a-module-requires-the-mesh-resolves.md
the catalogue's module manifests
the media catalogue's module manifests
02-DECISIONS/0262-a-preference-has-a-default-in-its-manifest-and-the-operators-own-value-has-none.md

037 — The catalogue's hard-coded preferences

What is investigated

ADR 0262 lets a manifest give a preference a default, which the mesh-wide settings and a node's settings override. Before it, a value a person might want to tune per machine could only be written into a module's file as a literal. This effort lists those literals in both catalogues: the value, where it is, the key and default it would take as a preference, and why a person would change it.

Why

The first case was the notifier's font size, which is less than half as tall on a laptop panel of about 240 DPI as on a desktop monitor of about 110 DPI, while X is told 96 on both. The same is true of every size, font and gap on the desktop, and of retention counts, timeouts and thresholds in the services. A list says which modules to convert, in what order, and which values are shared between modules and should keep one default.

What it touches

The manifests of both catalogues, and through ADR 0262 the controller's settings verb, which lists every declared preference. Nothing is changed here: each conversion is a change to its module, made on the operator's yes.

Documents

  • 01 — the survey: every candidate, by module, strongest first, with the modules that already take settings and those that have nothing to convert.

What it became

Closed 2026-10-10. The survey was the deliverable, under ADR 0262, and each conversion is a change to its module made on the operator's yes. Three things the survey found are not conversions: the rows marked (shell) wait on the controller filling ${setting:…} in login-shell code, tracked by issue 410; a value several modules share (the interface font size, the accent colour) needs a decision on one shared preference, tracked by issue 415; and the backup program's retention and the container runtime's log rotation need their programs to read a file, or a new default, first, tracked by issue 416.