Files
hq/04-ISSUES/166-a-requirement-cannot-be-optional/00-report.md
T
jschoubben ea0c62355c
mesh/delivery merged: source.main moved to novox/hq@c2f4bb2d485d
mesh/delivery-group group words/catalog merged: every member is merged
mesh/check pass ea0c62355c1c on eec73b8af0d7 | carried from 292232dad226 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | co…
The glossary's word is catalog: replace the spelling catalogue in running prose
2026-10-28 11:27:34 +01:00

978 B

opened
opened
2026-09-30

166 — A requirement cannot be optional

What was observed

Making every dependency on ace a provision turned soft dependencies into hard ones. grafana now requires influxdb-api (a data source), ombi requires sonarr-api, radarr-api and lidarr-api, home-assistant requires the Servarr APIs and mqtt-topic. Each is optional to the software — grafana runs without a data source, ombi without lidarr — but a mesh without influxdb cannot assign grafana at all, and a mesh without lidarr cannot run ombi.

What would be right

A requirement a module can run without: resolved and bound when a provider exists, absent (with its ${bound:…} placeholders refused or defaulted explicitly, never rendered empty) when none does — so the module description stays true on every mesh.

Re-checked 2026-10-08: still holds. A manifest's requires is still a list of hard requirements; no optional form exists in the controller's catalog.