Every handed-away branch is the only one: world.assigned is the placement, the pair comparison and its conditions go, the lease and assignments buckets are no longer opened, watched or declared, and a proposal of any kind is taken. Tests: the pair-comparison test and the controller-composition record-ask test are replaced by one placement test; the rest are edited to place their modules instead of assigning them. (issue 774, 774/S26) Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
23 lines
1.0 KiB
Go
23 lines
1.0 KiB
Go
package assign
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"git.novox.be/novox/mesh-sdk/go/asks"
|
|
"git.novox.be/novox/mesh-sdk/go/delivery"
|
|
)
|
|
|
|
// SeatWaitsCondition is the assigner's word on the seat mesh-placement while a state of the seat is not bound (ADR 0567
|
|
// §1): raised naming each, cleared when none is left.
|
|
func SeatWaitsCondition(unbound []string) asks.Condition {
|
|
key := delivery.AssignerModule + ".seat-states"
|
|
subject := asks.Scope{Scope: "module", ID: delivery.AssignerModule}
|
|
if len(unbound) == 0 {
|
|
return asks.Condition{Key: key, Subject: subject, State: asks.StateCleared, Resolved: "the seat mesh-placement holds all its states."}
|
|
}
|
|
why := "the seat waits for its states: " + strings.Join(unbound, ", ") + " are not on the bus or not granted yet"
|
|
return asks.Condition{Key: key, Severity: asks.SeverityWarning, Subject: subject, State: asks.StateRaised,
|
|
Summary: "the seat waits for its states", Headline: "the seat waits for its states",
|
|
Explanation: asks.NothingToDo + " " + why + "; each is bound at the next pass once it is, with no restart."}
|
|
}
|