From fd8f0197515cab62c673b27ce11111f1f1df1b9e Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 12 Nov 2026 01:18:40 +0100 Subject: [PATCH] Builder: a step bound already past ends at once, a key's time to live is at least a second Builds: design 47 G A-77, A-101, A-118 Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- .../mesh-delivery-builder/buildrun/asks.go | 7 +++++ .../cmd/mesh-delivery-builder/branchend.go | 27 ------------------- 2 files changed, 7 insertions(+), 27 deletions(-) delete mode 100644 modules/mesh-delivery-builder/cmd/mesh-delivery-builder/branchend.go diff --git a/modules/mesh-delivery-builder/buildrun/asks.go b/modules/mesh-delivery-builder/buildrun/asks.go index 879cf595..632eb504 100644 --- a/modules/mesh-delivery-builder/buildrun/asks.go +++ b/modules/mesh-delivery-builder/buildrun/asks.go @@ -256,6 +256,13 @@ func (k Asker) Wait(ctx context.Context, a buildstep.StepAsk) (buildstep.Step, e if i == 1 { key, why = capKey, "the step of the ask "+a.ID+" never ended" } + if d < time.Second { // a key's time to live is at least a second; a bound already past ends at once + if d <= time.Millisecond { + k.Expiry.Ended(key) + return nil + } + d = time.Second + } return k.Bounds.Arm(ctx, key, why, d) } if timers[i] != nil { diff --git a/modules/mesh-delivery-builder/cmd/mesh-delivery-builder/branchend.go b/modules/mesh-delivery-builder/cmd/mesh-delivery-builder/branchend.go deleted file mode 100644 index 5a1cfcf5..00000000 --- a/modules/mesh-delivery-builder/cmd/mesh-delivery-builder/branchend.go +++ /dev/null @@ -1,27 +0,0 @@ -package main - -import ( - "context" - - "github.com/nats-io/nats.go/jetstream" -) - -// forgeStream is the forge bridge's stream `forge` as the bus names it, where the builder's durable consumer hears the -// forge's messages: each wakes a floor whose bridge_tags was silent (design 51 *The floor*). No tagged version is -// removed on a branch's end, none being made (design 47 G ยง373). -const forgeStream = "FORGE" - -// forgeWakes hears the forge bridge's stream: every message wakes a floor whose bridge_tags was silent, and is acknowledged. -type forgeWakes struct { - wake func(ctx context.Context) - logf func(string, ...any) -} - -func (h *forgeWakes) heard(ctx context.Context, m jetstream.Msg) { - if h.wake != nil { - h.wake(ctx) - } - if err := m.Ack(); err != nil { - h.logf("acknowledging %s: %v", m.Subject(), err) - } -}