diff --git a/internal/catalogue/seat_contributions.go b/internal/catalogue/seat_contributions.go index a75ad36..247be91 100644 --- a/internal/catalogue/seat_contributions.go +++ b/internal/catalogue/seat_contributions.go @@ -17,6 +17,9 @@ import ( // HotkeysSeat is the machine's hotkey daemon (novox/hq ADR 0212 ยง5). const HotkeysSeat = "node-hotkeys" +// MessageBusSeat is the machine's D-Bus (novox/hq ADR 0215). +const MessageBusSeat = "node-message-bus" + // SeatContribution is one piece of configuration a module gives a seat's holder to place. type SeatContribution struct { // Seat is the seat whose holder places it. diff --git a/internal/catalogue/seats.go b/internal/catalogue/seats.go index dbe8fed..a7ee871 100644 --- a/internal/catalogue/seats.go +++ b/internal/catalogue/seats.go @@ -217,6 +217,10 @@ var defaultSeats = append([]Seat{ // configuration. Every other module with keys contributes trigger lines to it. {Name: HotkeysSeat, Scope: ScopeNode, Decision: "novox/hq ADR 0212", Receives: []Receivable{{Kind: "trigger", Comment: "#"}}}, + // The machine's message bus (novox/hq ADR 0215): its holder owns the D-Bus implementation and its + // system service, never restarts it live, and publishes curated events about it, never its traffic. + // It receives nothing yet: packages ship their own policies. + {Name: MessageBusSeat, Scope: ScopeNode, Decision: "novox/hq ADR 0215"}, // Deferred (novox/hq ADR 0121): renaming to mesh-private-network is a scope + server/client // model change, not a rename, so it stays until that is built. {Name: "the-private-network", Scope: ScopeNode, Decision: "novox/hq ADR 0110"}, diff --git a/internal/catalogue/seats_test.go b/internal/catalogue/seats_test.go index caff679..5adca77 100644 --- a/internal/catalogue/seats_test.go +++ b/internal/catalogue/seats_test.go @@ -46,14 +46,14 @@ func TestTheSeatsAreAClosedSetAndEachNamesItsDecision(t *testing.T) { delivered[s.Delivers] = s.Name } } - // Thirty-six with mesh-dns-resolver (novox/hq ADR 0194) and node-hosts-file (ADR 0199); thirty-four + // Thirty-seven with node-message-bus (novox/hq ADR 0215); thirty-six with mesh-dns-resolver (novox/hq ADR 0194) and node-hosts-file (ADR 0199); thirty-four // with node-hotkeys (ADR 0212); thirty-three with node-power (ADR 0211); thirty-two since the // graphical session's eleven (ADR 0208); twenty-one with node-package-manager and // node-container-runtime (ADR 0207); nineteen with node-environment and node-login-shell (ADR 0203, // ADR 0204); seventeen with node-build-agent (ADR 0190). Two fewer once the retired // mesh-build-machine and node-dns-resolver rows go, when no registered manifest claims either. - if len(Seats()) != 36 { - t.Errorf("the mesh defines %d seats rather than 36; the set is closed, so a change here is "+ + if len(Seats()) != 37 { + t.Errorf("the mesh defines %d seats rather than 37; the set is closed, so a change here is "+ "a decision (novox/hq ADR 0110): %s", len(Seats()), seatNames()) } }