node-engine seat: a node's windows, busy, strays and filters are lists, as the engine writes them (the contract said objects and refused every real value; ADR 0634; issue 1966)

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
This commit is contained in:
2026-11-05 15:19:03 +01:00
parent 8c5f85e86b
commit 8e51d93c2f
4 changed files with 37 additions and 12 deletions
+4 -4
View File
@@ -1288,7 +1288,7 @@ const (
// HaveByNodeNodeValue is one value of the state have under the key <node>.node.
type HaveByNodeNodeValue struct {
Busy map[string]any `json:"busy,omitempty"`
Busy []map[string]any `json:"busy,omitempty"`
// the node's answer to each placement candidate naming it, by proposal id
Candidates map[string]CandidateAnswer `json:"candidates,omitempty"`
// the digest of the node's own composition it runs
@@ -1296,14 +1296,14 @@ type HaveByNodeNodeValue struct {
// own, or none (empty)
Composes string `json:"composes,omitempty"`
ComposesWhy string `json:"composes-why,omitempty"`
Filters map[string]any `json:"filters,omitempty"`
Filters []map[string]any `json:"filters,omitempty"`
Profile map[string]any `json:"profile,omitempty"`
Record *NodeRecord `json:"record,omitempty"`
Sealed []string `json:"sealed,omitempty"`
SealedAt map[string]string `json:"sealed-at,omitempty"`
Strays map[string]any `json:"strays,omitempty"`
Strays []map[string]any `json:"strays,omitempty"`
V int64 `json:"v"`
Windows map[string]any `json:"windows,omitempty"`
Windows []map[string]any `json:"windows,omitempty"`
}
// ComposedByNodeModuleFingerprintValue is one value of the state composed under the key <node>.<module>.<fingerprint>.