zfs: findings is a state of the module's state list, not of requires, so the conditions keeper reads it
mesh/delivery merged: source.main moved to novox/mesh-catalog@32f1566cc879
mesh/delivery-group group feature/1979-zfs-owns-zfs merged: every member is merged
mesh/check being carried to 0041b69d1736 on 32f1566cc879 | from 117f933dacf0, mesh-delivery 7221a1e5cd7f, mesh-host 0193949efe9f, mesh-sdk e42b9491c93…

The validator refused zfs and mesh-conditions: mesh-conditions reads zfs.findings, which zfs had moved to bus state in requires, where the new form has no readers (ADR 0596 section 2). The keeper process's bus.state keeps naming findings. The manifest test holds it.

Builds: design 42 zfs-owns-zfs A-46 (A-32, 26, 27)
This commit is contained in:
2026-11-13 03:27:38 +01:00
parent d1a15ced6c
commit 0041b69d17
2 changed files with 8 additions and 8 deletions
+5 -3
View File
@@ -480,13 +480,15 @@ func TestTheManifestsBusStateKeeperAndTools(t *testing.T) {
if ev["storage"] != "stream" || ev["template"] != "events" || opts["max-age-days"] != float64(30) || strings.Join(kinds, ",") != strings.Join(EventKinds, ",") {
t.Errorf("the events stream: %v", ev)
}
for _, n := range []string{"applied", "schedule", "findings"} {
for _, n := range []string{"applied", "schedule"} {
if e := reqs[n]; e == nil || e["storage"] != "key-value" || e["template"] != "state" {
t.Errorf("the state %s: %v", n, e)
}
}
if reqs["findings"]["options"] != nil {
t.Errorf("findings declares no stream of its own (A-32): %v", reqs["findings"])
// A-46: findings is a state of the module's `state` list, as every observer's, and not asked for in requires, where the
// conditions keeper would not read it.
if reqs["findings"] != nil || fmt.Sprint(tree["state"]) != "[findings]" {
t.Errorf("findings is a state of the state list, not of requires (A-46): %v, %v", tree["state"], reqs["findings"])
}
l := reqs[LedgerName]
lo, _ := l["options"].(map[string]any)
+3 -5
View File
@@ -17,6 +17,9 @@
"owner": "zfs-keeper"
}
},
"state": [
"findings"
],
"requires": [
{
"name": "events",
@@ -49,11 +52,6 @@
"storage": "key-value",
"template": "state"
},
{
"name": "findings",
"storage": "key-value",
"template": "state"
},
{
"name": "snapshots",
"storage": "ledger",