Keep a composer request's seats through the decode, the fill and the marshal (issue 1921)

A build module that fills a request re-marshals it, and without the
field it dropped the seat list the trunk's manifest validator reads, so
the validator never got one (milestone 47/B0, ADR 0636 §4, ADR 0644).

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
This commit is contained in:
2026-11-06 22:07:41 +01:00
parent ceb319fb86
commit 0364fcccc0
2 changed files with 12 additions and 1 deletions
+5
View File
@@ -59,6 +59,11 @@ type Request struct {
// longer read: the composer judges no manifest (novox/hq ADR 0578 §5), the indexer's judge does, and its verdicts
// come in each case's Verdicts. Kept so an asker that still sends it is read.
Predefined catalogue.PredefinedList `json:"predefined,omitempty"`
// Seats are the seat definitions the manifest validator judges and the composer composes against, raw so that this
// package names no seat: inside a group's check, the one seat list the checking program made from the members' heads
// (novox/hq ADR 0636 §4, ADR 0644). A reader built before them ignores them; Decode, Fill and the request's
// marshalling keep them whole, so a build module that fills a request hands them on (issue 1921).
Seats []json.RawMessage `json:"seats,omitempty"`
}
// Case is one catalogue composed: every module's manifest by name, and per node the manifests kept at the build it runs.