G teller: an ask the router refused (the client's Refused with its words) is the ended ask the teller waits on or says

Builds: design 47 G §570, §638
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
This commit is contained in:
2026-11-11 22:36:03 +01:00
parent 52241e7a17
commit 9e762ec638
@@ -469,6 +469,11 @@ func (t *Teller) Said(h occ.Handled, w oc.Warrant, err error) {
// said is Said under the lock (catchUp holds it).
func (t *Teller) said(h occ.Handled, w oc.Warrant, err error) {
if h == occ.Refused && w.Outcome == occ.OutcomeRefused {
// The client answers Refused with the router's words for an ask the router refused at take-in (design 47 G §570,
// §638): the ask is closed as any ended ask is, so the teller treats it as the ended ask it was (as before §638).
h = occ.Recorded
}
if w.Outcome == occ.OutcomeRefused && forWantOfRoom(w.Words) {
if h == occ.Recorded {
t.roomRefused(w)