End the self-check's bus-consumer probe, whose consumers were the controller's

With the controller ended mesh-sdk defines no mesh consumer, so the probe judged none and always passed (issue 1126).
The account consumers are the grants part's, which now says their differences and delays as conditions of its own;
the probe's three kinds are carried as ended in mesh-conditions' table.

Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
This commit is contained in:
2026-11-02 12:29:56 +01:00
parent 70396caeab
commit 344fc6f6bf
7 changed files with 23 additions and 111 deletions
@@ -28,6 +28,9 @@ type Home struct {
// Dropped is the reason of the probes the operator dropped from this release (D2, D3, D4, D12, D-heard, D-root, D11,
// and D13's data held twice): their kinds end with the controller and are carried until the lease write.
// EndedD6 is the reason of the bus-consumer probe's kinds: the probe ended with the controller (issue 1126).
const EndedD6 = "ended with the controller on 2026-11-02; the grants part says its account consumers' differences and delays (issue 1126)"
const Dropped = "dropped 2026-10-30 by the operator; the owning module declares its own check later (research 074)"
// The kinds' homes, by kind: ADR 0564's rows, and the 63 kinds the controller's code raises that the record left without
@@ -61,9 +64,6 @@ var Homes = map[string]Home{
"directory-used-as-found": {Source: "health", Controller: true, Observer: watchman},
// The self-check's probes (clause 6, the Context's table).
"lease-split": {Source: "D5", Controller: true, Observer: selfCheck}, // a seat held once answers from two holders
"consumer-wrong": {Source: "D6", Controller: true, Observer: selfCheck},
"consumer-lost": {Source: "D6", Controller: true, Observer: selfCheck}, // and the watchman's S9
"consumer-behind": {Source: "D6", Controller: true, Observer: selfCheck},
"stream-wrong": {Source: "D7", Controller: true, Observer: selfCheck},
"own-address-banned": {Source: "D8", Controller: true, Observer: selfCheck},
"data-unmeasured": {Source: "D13", Controller: true, Observer: selfCheck},
@@ -118,6 +118,12 @@ var Homes = map[string]Home{
// is carried until then, approved by the operator on 2026-10-31 (issue 1952); ADR 0564's table had homed it with the
// assigner, which writes no such finding, and the lead records the change of the record.
"bus-upgrade-failed": {Source: "DB", Controller: true, Carried: true},
// The self-check's bus-consumer probe (D6) judged the consumers the controller defined, and ended with it (issue
// 1126): the account consumers are the grants part's, which raises mesh-grants.consumer-differs and
// mesh-grants.consumer-behind of its own. Its kinds are carried, as the others that end with the controller.
"consumer-wrong": {Source: "D6", Controller: true, Carried: true, Why: EndedD6},
"consumer-lost": {Source: "D6", Controller: true, Carried: true, Why: EndedD6},
"consumer-behind": {Source: "D6", Controller: true, Carried: true, Why: EndedD6},
// The probes the operator dropped from this release (D2 resolvers, D3 holders, D4 archives, D12 bindings, D-heard
// withheld hearings, D-root, D11 retired data, and D13's data held twice): their kinds are carried until the lease
// write.
@@ -287,8 +287,14 @@ func TestEveryControllerKindHasItsHome(t *testing.T) {
t.Errorf("the dropped probe's kind %s is %+v", kind, h)
}
}
// And the controller's own bus upgrade, carried (the operator, 2026-10-31): 34.
if len(Homes) != 84 || carried != 34 { // 19 of ADR 0564, the 63 of the table, plan-failed and stalled
// And the controller's own bus upgrade, carried (the operator, 2026-10-31): 34; and the bus-consumer probe's three
// kinds, ended with the controller (issue 1126): 37.
for _, kind := range []string{"consumer-wrong", "consumer-lost", "consumer-behind"} {
if h := Homes[kind]; !h.Carried || h.Observer != "" || h.Why != EndedD6 {
t.Errorf("the ended probe's kind %s is %+v", kind, h)
}
}
if len(Homes) != 84 || carried != 37 { // 19 of ADR 0564, the 63 of the table, plan-failed and stalled
t.Errorf("the table holds %d kinds, %d carried", len(Homes), carried)
}
}