The operator's decision of 2026-10-08 ("option 1 is exactly how it should work … use a generic boundary layer"), and the two rulings of the same day: generic hardware comes from the module holding the generic seat, conditioned on the machine's facts, never from a vendor's module; and a power-draw block that says what it measured.
ADR 0255 extends ADR 0208 §4 (and widens ADR 0212): a seat may receive a kind as data in its own shape, rendered by the holder's template; placeholders narrow by placing fields, every combination placed once; if-capability composes a contribution only where the machine reports the capability; an offered kind makes no dependency. node-bar receives block. The power module contributes battery and power draw; the node-engine reports battery and power-meter; the energy counter stays root's. Rejected: option 2 (if_command blocks in the shared bar), a text contribution in the bar's grammar, a provision.
To-be 42: an Added 2026-10-08 paragraph and the decision in decisions:.
ADR 0208: a dated pointer note under §4.
The code is the delivery group feat/the-bar-takes-blocks in mesh-host, mesh-controller and mesh-catalog. records.py, index.py, cycle.py and words.py pass. Do not merge without the operator's approval.
The operator's decision of 2026-10-08 ("option 1 is exactly how it should work … use a generic boundary layer"), and the two rulings of the same day: generic hardware comes from the module holding the generic seat, conditioned on the machine's facts, never from a vendor's module; and a power-draw block that says what it measured.
- **ADR 0255** extends ADR 0208 §4 (and widens ADR 0212): a seat may receive a kind as data in its own shape, rendered by the holder's template; placeholders narrow by placing fields, every combination placed once; `if-capability` composes a contribution only where the machine reports the capability; an offered kind makes no dependency. `node-bar` receives `block`. The power module contributes battery and power draw; the node-engine reports `battery` and `power-meter`; the energy counter stays root's. Rejected: option 2 (`if_command` blocks in the shared bar), a text contribution in the bar's grammar, a provision.
- **To-be 42**: an *Added 2026-10-08* paragraph and the decision in `decisions:`.
- **ADR 0208**: a dated pointer note under §4.
The code is the delivery group `feat/the-bar-takes-blocks` in mesh-host, mesh-controller and mesh-catalog. records.py, index.py, cycle.py and words.py pass. Do not merge without the operator's approval.
The operator chose a generic boundary for the bar: a block is said in terms no bar
owns and rendered by the seat's holder, placed only where the machine reports the
hardware, and generic hardware comes from the generic seat's module, not a vendor's.
To-be 42 records it; ADR 0208 points to it.
2026-10-08 12:36 (new) → proposed (announced): novox/hq#205's head announced
2026-10-08 12:38 proposed → checked (checked): the verdict names this commit
2026-10-08 12:38 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-08 12:45 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-08 12:45 published → delivered (done): nothing for a walk to move
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/hq@e4299b5521a7` — **delivered** since 2026-10-08T12:45:10Z
**Delivery plan** — builds nothing: the change touches no module of the mesh's graph
**Group** `feat/the-bar-takes-blocks`, in order: novox/hq@e4299b5521a7 → novox/mesh-host@52f44c56360b → novox/mesh-controller@1ea814413b37 → novox/mesh-catalog@8bd17abd4ebe
- novox/mesh-controller@1ea814413b37 before novox/mesh-catalog@8bd17abd4ebe: declared
- novox/mesh-host@52f44c56360b before novox/mesh-controller@1ea814413b37: declared, over built by
**Transitions**
- 2026-10-08 12:36 (new) → proposed (announced): novox/hq#205's head announced
- 2026-10-08 12:38 proposed → checked (checked): the verdict names this commit
- 2026-10-08 12:38 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-08 12:45 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-08 12:45 published → delivered (done): nothing for a walk to move
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The operator's decision of 2026-10-08 ("option 1 is exactly how it should work … use a generic boundary layer"), and the two rulings of the same day: generic hardware comes from the module holding the generic seat, conditioned on the machine's facts, never from a vendor's module; and a power-draw block that says what it measured.
if-capabilitycomposes a contribution only where the machine reports the capability; an offered kind makes no dependency.node-barreceivesblock. The power module contributes battery and power draw; the node-engine reportsbatteryandpower-meter; the energy counter stays root's. Rejected: option 2 (if_commandblocks in the shared bar), a text contribution in the bar's grammar, a provision.decisions:.The code is the delivery group
feat/the-bar-takes-blocksin mesh-host, mesh-controller and mesh-catalog. records.py, index.py, cycle.py and words.py pass. Do not merge without the operator's approval.Delivery
novox/hq@e4299b5521a7— delivered since 2026-10-08T12:45:10ZDelivery plan — builds nothing: the change touches no module of the mesh's graph
Group
feat/the-bar-takes-blocks, in order: novox/hq@e4299b5521 → novox/mesh-host@52f44c5636 → novox/mesh-controller@1ea814413b → novox/mesh-catalog@8bd17abd4eTransitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.