Test budget: the approval mark's two tables replace two tests folded into their neighbours

The tool runner ends milestone G with no more tests than it started with: the no-responders
test takes the 503 case, and the stated-capabilities test takes the sent-object row.

Builds: design 46 7-approval-mark §22; design 47 G §626

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
This commit is contained in:
2026-11-12 05:26:24 +01:00
parent 6851ee1657
commit ea8d9c5f56
3 changed files with 8 additions and 19 deletions
@@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"errors"
"slices"
"sort"
"strings"
"testing"
@@ -207,6 +208,10 @@ func TestEveryCallOfAStatedCapabilityIsAnswered(t *testing.T) {
if got := strings.Join(CallCapabilities(), ","); got != "approval-mark/1,bus-state-calls,ledger-calls,put-sessions,seat-settle-delay" {
t.Fatalf("the runner states %s", got)
}
// Design 47 G §462: the call that reads a sent object is listed under the bus state capability.
if !slices.Contains(callFamilies[CapBusStateCalls], buscalls.ObjectsSentGet) {
t.Errorf("%s does not list %s", CapBusStateCalls, buscalls.ObjectsSentGet)
}
for capability, methods := range callFamilies {
for _, method := range methods {
t.Run(capability+" "+method, func(t *testing.T) {