From b19fc7fa61ead92639fce5ad4c1a0408861c1d90 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 11 Nov 2026 10:42:14 +0100 Subject: [PATCH] RR-2: a kept event's stream is SEAT__ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Builds: design 47 G §260, §396, §409 Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ --- go/seatdef/seatdef.go | 7 +++++-- go/seatdef/seatdef_test.go | 7 +++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/go/seatdef/seatdef.go b/go/seatdef/seatdef.go index b6ce53d..410fe40 100644 --- a/go/seatdef/seatdef.go +++ b/go/seatdef/seatdef.go @@ -254,8 +254,11 @@ const ( KeepStream = "stream" ) -// KeptStream is the stream an event with Keep is kept in: `.`, as a family is `.events`. -func KeptStream(seat string, m Message) string { return seat + "." + m.Name } +// KeptStream is the stream an event with Keep is kept in: `SEAT__` (design 47 G §260, §396). +func KeptStream(seat string, m Message) string { return KeptStreamPrefix + seat + "_" + m.Name } + +// KeptStreamPrefix begins the name of every kept event's stream. +const KeptStreamPrefix = "SEAT_" // legacyMode is the string form of Keep, empty for none or for the object form. func (m Message) legacyMode() string { diff --git a/go/seatdef/seatdef_test.go b/go/seatdef/seatdef_test.go index d2073f8..c284153 100644 --- a/go/seatdef/seatdef_test.go +++ b/go/seatdef/seatdef_test.go @@ -266,3 +266,10 @@ func TestAnActingRuleReadsItsStepsDefaults(t *testing.T) { } } } + +// Design 47 G §260, §396: a kept event's stream is SEAT__. +func TestAKeptEventsStreamIsNamedFromTheSeatAndTheEvent(t *testing.T) { + if got := KeptStream("mesh-delivery", Message{Name: "owed"}); got != "SEAT_mesh-delivery_owed" { + t.Errorf("the stream is %s", got) + } +}