Eleven node seats; a display as a provision with the machine's reach; other modules' lines through the tool's own drop-in directory or ADR 0204's slots, now also for xinitrc and xresources; the display server's module writes the session's start.
5.3 KiB
layer, status, code, updated, decisions
| layer | status | code | updated | decisions | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| to-be | in-progress |
|
2026-10-04 |
|
42. The machines' modules, in order
The order in which the modules of research 026 and research 027 are built and rolled out, as the operator set it on 2026-10-04.
Three phases, in order, each built from the bottom up (the most core module first):
- the modules every machine shares;
- those both workstations share;
- those of one machine model.
The shell came first (to-be 41). Each module's definition, improvements and tools follow the research. A position that needs a new mechanism (a new seat, a gated assignment, generalised contributions) gets its record when its first module needs it, not before. Modules that need none go ahead now.
How every module moves
- Written in the catalogue, with its tools and their tests, and checked by the controller's catalogue check.
- Merged, which builds it.
- Assigned to the first workstation, the proving machine, and pushed. Its tools and files are proven there.
- Then assigned to every other machine it applies to, and pushed.
The operator delegated the go-ahead for each step on 2026-10-04 ("non-important decisions, easily reversed"). Each step is reported.
Adopting is also improving (research 026, 027 overviews): every module lists what it fixes over today, and leaves no predecessor copy of what it now owns.
Phase 1 — every machine
In order:
| module | owns | improves | |
|---|---|---|---|
| 1 | sudo |
the operator account's escalation, as a drop-in it owns | declares what three modules' tools assume and nothing stated |
| 2 | localization |
locale, time zone, console keymap | one machine on another zone and keymap |
| 3 | time-sync |
timesyncd and its servers | two different daemons across four machines |
| 4 | pacman |
the package manager's configuration, mirrors and their refresh, cache cleaning | mirrors generated once and never again; caches never cleaned |
| 5 | logrotate |
the timer and base configuration | rotation running on one machine of four |
| 6 | avahi |
the daemon | on all four, owned by none |
| 7 | systemd |
the service manager's tools (to-be 41 WP4) | built, assigned nowhere |
| 8 | docker |
the runtime's packages, base configuration, group | four configurations, one owner on one machine |
| 9 | ssh-client |
everything under ~/.ssh (research 027/03) |
a predecessor's entries winning over the mesh's; stale keys |
| 10 | scripts | the operator's own scripts, shared and per role (research 027/03) | under no version control, copied by hand |
| 11 | kernel |
kernel, microcode, boot entries | two machines without microcode |
systemd, pacman and docker hold the three seats that apply resources
(ADR 0207):
every module that declares a service, a package or a container depends on them being held on its node.
They go on every machine before the rest, and once they have, an unmet dependency is refused rather
than reported.
kernel is last because a mistake in it costs a boot. docker stays a module without the runtime seat
until ADRs 0165 and 0166 are accepted.
Phase 2 — both workstations
In order:
fonts;xorgwith autorandr;lemurs;i3;xterm;- the theme module;
picom,rofi,dmenu,dunst, the lock module,xclip, the clipboard manager,fehandi3status-rust;gnome-keyring;docker-compose,snapd,flatpak,cups,bluetooth.
The seats, gating, contributions and session start are ADR 0208.
Phase 3 — one machine model
The laptop's hardware module (vendor daemon, GPU mode, charge limit, logind, brightness and vendor keys)
and memory-pressure (research 027/03).
How it is checked
Each module's own tests and the catalogue check, at merge. On the proving machine, each tool answered through the mesh and each owned file checked in place, before any other machine is assigned. This document's tables are updated as each module lands.