Reconcile: adopt initialization's consolidated HQ as canonical, re-home this session's new work #24
@@ -151,6 +151,26 @@ differ and the message should say which:
|
|||||||
- *i3 needs xorg, which is not assigned here* — assign it.
|
- *i3 needs xorg, which is not assigned here* — assign it.
|
||||||
- *this machine has no seat* — wrong machine; nothing can be installed to fix it.
|
- *this machine has no seat* — wrong machine; nothing can be installed to fix it.
|
||||||
|
|
||||||
|
### A capability may carry a value, and that is not a new idea
|
||||||
|
|
||||||
|
A capability is a named fact about a machine, **detected and never assumed**. Its presence gates
|
||||||
|
an assignment; its detail can also carry a value — `seat: card1-DP-1`, `panel: oled`, an
|
||||||
|
architecture, an amount of memory. Nothing new is needed for that: a verdict has always had a
|
||||||
|
detail beside its yes or no.
|
||||||
|
|
||||||
|
So *can this run here* and *what should it be configured as* are answered by the same fact, read
|
||||||
|
two ways. A module that must not be assigned without an OLED panel and one that dims itself
|
||||||
|
differently on one are reading the same line.
|
||||||
|
|
||||||
|
**What keeps the set from sprawling is the cost of adding one.** A capability must be detected,
|
||||||
|
and the detector must say how it knows — so nobody can add one they cannot check, which is the
|
||||||
|
whole of [04-ISSUES/007](../04-ISSUES/007-an-installed-package-is-not-a-capability/00-report.md):
|
||||||
|
an installed package was treated as a capability and a node was assigned work it could not do.
|
||||||
|
|
||||||
|
**And detectors ship inside the host**, which is one statically linked binary. Adding a capability
|
||||||
|
means shipping a new host to every node that needs it. That is a real cost and it argues for
|
||||||
|
keeping the vocabulary small and general — `seat`, not `has-nvidia-with-two-outputs`.
|
||||||
|
|
||||||
## "Flavor" is retired
|
## "Flavor" is retired
|
||||||
|
|
||||||
It was carrying three unrelated meanings — variants of a thing, a subset of one module a node
|
It was carrying three unrelated meanings — variants of a thing, a subset of one module a node
|
||||||
|
|||||||
Reference in New Issue
Block a user