Files
hq/04-ISSUES/166-a-requirement-cannot-be-optional/00-report.md
T
jochen 623fccee23
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
Triage issues 092-208: close the fixed and the obsolete, re-check the rest
The operator asked on 2026-10-08 for the deprecated issues to be gone. In hq an issue
is closed, never deleted, so each one is resolved with its fix, closed wontfix with a
reason, or re-checked against main and the live mesh.
2026-10-08 01:31:06 +02:00

1.1 KiB

status, opened, located-in, fixed-by, amended-design
status opened located-in fixed-by amended-design
open 2026-09-30
mesh-controller internal/catalogue (requires is a list of hard requirements)

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 catalogue.