A3g item 2a: a definition with a marked verb is read with gated-ended, approvals and the verb by caller
seatdef.Resolve, which the seat generator and every reader of a definition go through, makes each marked verb by-caller and adds the event gated-ended (gated-ended.<caller>.<call>, kept last per subject one day) and the verb approvals (class read); the seat files stay as written. approvals is the gate's verb, so CanHold asks no holder to name it. Builds: design 47 G §677, §697; lead answers A-264, A-265, A-266 Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
This commit is contained in:
+2
-2
@@ -59,13 +59,13 @@ func (c *Conn) AnswerSeat(seat string, definition func() (seatdef.Definition, bo
|
||||
if len(verbs) == 0 {
|
||||
return nil, fmt.Errorf("AnswerSeat(%q) answers no verb", seat)
|
||||
}
|
||||
if o.gate != nil && verbs["approvals"] == nil {
|
||||
if o.gate != nil && verbs[seatdef.ApprovalsVerb] == nil {
|
||||
all := make(map[string]SeatHandler, len(verbs)+1)
|
||||
for v, h := range verbs {
|
||||
all[v] = h
|
||||
}
|
||||
gate := o.gate
|
||||
all["approvals"] = func(caller string, _ json.RawMessage) (any, error) { return gate.Approvals(caller) }
|
||||
all[seatdef.ApprovalsVerb] = func(caller string, _ json.RawMessage) (any, error) { return gate.Approvals(caller) }
|
||||
verbs = all
|
||||
}
|
||||
names := make([]string, 0, len(verbs))
|
||||
|
||||
Reference in New Issue
Block a user