BG2, BG3: the three build modules check the asker against the seat list and pull the named worker

The runtime source is *steprun.SeatAsks (named worker not bound is said through the module's journal); the callers follow
the seat list (steprun.SeatListCallers).

Builds: design 47 G §543, §544, A-163, A-170

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
This commit is contained in:
2026-11-12 05:44:46 +01:00
parent 51df346a23
commit 584fc94baa
10 changed files with 40 additions and 6 deletions
@@ -25,6 +25,9 @@ const CheckRound = 10 * time.Minute
// Module is the Node build module's one running state: the node it runs on, its recipe, the toolchain guard, the
// toolchain directory and the states it writes (toolchains, steps).
type Module struct {
// Callers says which seats the build seat's definition lists as callers of an accepted kind (steprun.SeatListCallers when
// the module pulls through its runtime; nil in a test checks no named asker): design 47 G §543, A-163.
Callers func(kind string) ([]string, bool)
// SayEvent publishes an event of the node build seat on a seat subject (stdio.SeatPublish; nil says none, a test's): the
// puller's ask-taken, step-progress and step-ended (design 47 G §496, §602).
SayEvent func(subject string, body any, id string) error