package main import ( "fmt" "github.com/novox/mesh-controller/internal/catalogue" ) // unboundLines say which optional requirements of a machine's modules nothing assigned answers // (novox/hq ADR 0330 §7): left unbound rather than refused, with nothing installed for them, so the // module runs without — and said, because a data source that never appears is otherwise a silence. // Each binds without anybody's act on the first composition after a provider is assigned. func unboundLines(plan catalogue.Resolution) []string { lines := make([]string, 0, len(plan.Absent)) for _, a := range plan.Absent { lines = append(lines, fmt.Sprintf( " unbound %s, optional for %s — nothing assigned provides it; it binds once a provider is "+ "assigned (novox/hq ADR 0330)", a.Requirement, a.Consumer)) } return lines }