diff --git a/go/catalogue/engine_seat.go b/go/catalogue/engine_seat.go index 71a8afd..b3b695b 100644 --- a/go/catalogue/engine_seat.go +++ b/go/catalogue/engine_seat.go @@ -42,7 +42,7 @@ func EngineVerbs() []Verb { {Name: "acts", Description: "Every act this machine's engine was asked through this seat (novox/hq ADR 0563 §9): " + "each hand-over, access act and setuid search, open, done or refused, with who asked, the ask and the " + "operator's warrant. Read-only.", - Input: schema(map[string]string{"limit": "at most this many, newest"}, nil)}, + Input: schema(map[string]string{"limit": "at most this many, newest", "id": "one act, by its id"}, nil)}, } } diff --git a/go/catalogue/seats_test.go b/go/catalogue/seats_test.go index 79036d6..9113bd7 100644 --- a/go/catalogue/seats_test.go +++ b/go/catalogue/seats_test.go @@ -73,6 +73,10 @@ func TestTheSeatsAreAClosedSetAndEachNamesItsDecision(t *testing.T) { for _, v := range engine.Serves { verbs = append(verbs, v.Name) } + // acts reads one act by its id too (ADR 0563 §9: the seat's tools are its command line). + if props, _ := engine.Serves[len(engine.Serves)-1].Input["properties"].(map[string]any); props["id"] == nil { + t.Errorf("acts takes no id: %v", engine.Serves[len(engine.Serves)-1].Input) + } if strings.Join(verbs, ",") != "hand-over,access-act,judge-directories,setuid-search,root-free,acts" || strings.Join(engine.Emits, ",") != "asked,done,refused" { t.Errorf("node-engine serves %v and emits %v", verbs, engine.Emits)