L3: a source revision ordered by the module graph, the check waits on its candidate's builds, and an emptied repository never drops a module another trunk holds (ADR 0603, ADR 0604, issues 1367, 774) #147

Merged
mesh-tools merged 55 commits from feat/l3b-bus into main 2026-11-03 20:12:56 +00:00
Showing only changes of commit ecf96be8ce - Show all commits
@@ -57,16 +57,16 @@ func TestTheJudge(t *testing.T) {
// A field the judge does not know waits in the indexer's judge and stays a refusal in the checker's (clause 3 of the
// record on a release's Approve); a renamed field and any other problem are refused by both.
waitRaws := map[string][]byte{
"later": []byte(`{"module":"later","version":"1","core-credentials":true,"other":1}`),
"later": []byte(`{"module":"later","version":"1","later-field":true,"other":1}`),
"renamed": []byte(`{"module":"renamed","version":"1","needs":{"x":"y"}}`),
"bad": []byte(`{"module":"bad","version":"1","provides":[{"name":"amqp"}]}`),
"ok": []byte(`{"module":"ok","version":"1"}`),
}
refused, waits, _ := ShelfWaiting(waitRaws, nil, 0)
if !reflect.DeepEqual(waits, map[string][]string{"later": {"core-credentials", "other"}}) || len(refused) != 2 || refused["renamed"] == nil || refused["bad"] == nil {
if !reflect.DeepEqual(waits, map[string][]string{"later": {"later-field", "other"}}) || len(refused) != 2 || refused["renamed"] == nil || refused["bad"] == nil {
t.Errorf("ShelfWaiting: waits %v, refused %v", waits, refused)
}
if strict, _ := Shelf(waitRaws, nil, 0); len(strict) != 3 || !strings.Contains(strings.Join(strict["later"], ""), "core-credentials") {
if strict, _ := Shelf(waitRaws, nil, 0); len(strict) != 3 || !strings.Contains(strings.Join(strict["later"], ""), "later-field") {
t.Errorf("Shelf refuses as before: %v", strict)
}
// The private network's manifest, which the mesh provides itself, is accepted (moved from mesh-sdk overlay's test).