Merge commit '4b226aa' into asm-l3/774-vault-mints

# Conflicts:
#	go/buscompose/buscompose_test.go
#	go/buscompose/userlist_switch.go
This commit is contained in:
2026-10-28 09:58:50 +01:00
6 changed files with 595 additions and 11 deletions
+1 -1
View File
@@ -423,7 +423,7 @@ func TestTheCopiedComposerComposesAsTheControllers(t *testing.T) {
}
}
announced := map[string]announce.States{ControllerSeat: ControllerAnnouncement("novox")}
for reader, want := range map[string]bool{VaultSeat: true, GrantsModule: true, AssignerModule: true, "mesh-delivery-view": false} {
for reader, want := range map[string]bool{VaultSeat: true, GrantsModule: true, delivery.AssignerModule: true, "mesh-delivery-view": false} {
granted, _ := ReadsAnnouncedBy(reader, []string{ControllerLease}, announced)
if (len(granted) == 1) != want {
t.Errorf("%s reads the lease: %v, want %v", reader, granted, want)
+4 -6
View File
@@ -79,13 +79,11 @@ const VaultBusAccounts = "mesh-vault.bus-accounts"
// NamedReaders are the states only the modules named may read, by `<owner>.<name>`: the grants part's wanted accounts
// are read by the vault alone (novox/hq ADR 0561 §2).
// The controller's lease is read by the two parts that turn on at its write (ADR 0561 §3, §6) and by the assigner, which
// reads the grants from the grants part from then on (ADR 0547 §4, §5; delivery.GrantSource).
// The controller's lease is read by the parts that turn on at its write (ADR 0561 §3, §6), and by the assigner, which
// from then reads the catalogue's placement alone (ADR 0549 §5) and the grants from the grants part (ADR 0547 §4, §5;
// delivery.GrantSource) (issue 774).
var NamedReaders = map[string][]string{VaultBusAccounts: {GrantsModule}, GrantsAccounts: {VaultSeat},
ControllerLease: {VaultSeat, GrantsModule, AssignerModule}}
// AssignerModule is the assigner, which reads the lease to choose the source of the grants.
const AssignerModule = "mesh-delivery-assigner"
ControllerLease: {VaultSeat, GrantsModule, delivery.AssignerModule}}
// ReaderMay says whether module may read the state read (`<owner>.<name>`) by the named readers: always, for a state
// that names none.