From 50de0a5a714beff9b9f643f5084da4ec62690092 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 28 Oct 2026 10:19:31 +0100 Subject: [PATCH] =?UTF-8?q?The=20node=20seat's=20acts=20reads=20one=20act?= =?UTF-8?q?=20by=20its=20id=20(issue=20774,=20ADR=200563=20=C2=A79)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- go/catalogue/engine_seat.go | 2 +- go/catalogue/seats_test.go | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) 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)