A group member's own check runs its repository's check alone, a cycle fails the composed check, and mark-ready leaves the delivery seat (issue 977, part D, ADR 0403)

This commit is contained in:
2026-10-17 21:22:55 +02:00
parent 8b3a9163d0
commit aac4bae5a4
14 changed files with 518 additions and 61 deletions
+3
View File
@@ -150,6 +150,9 @@ type CheckRequest struct {
Trunk string `json:"trunk,omitempty"`
// Ready says the pull request is marked ready (ADR 0406 §3): its check is queued before every other check.
Ready bool `json:"ready,omitempty"`
// Composed says the pull request is a member of a delivery group whose gate is the composed check's (novox/hq ADR
// 0403 clause 1): this check runs the repository's own merge-check.sh alone, and its gate layer is not run.
Composed bool `json:"composed,omitempty"`
// Paths are the files the pull request changes, for the width of its rebuild.
Paths []string `json:"paths,omitempty"`
// Beside are the repositories the check reads next to this one, each cloned at the ref given — the
+3 -2
View File
@@ -294,8 +294,9 @@ type Checked struct {
// and send, posted with the verdict.
Plan *ChangePlan `json:"plan,omitempty"`
// Group is set on a delivery group's composed check (novox/hq ADR 0239): every member's head composed
// together as one future state. Members are the heads judged. A forge's holder sets no merge-gate
// status from it — the group's verdict is its owner's, mesh-delivery, to say on each member's head.
// together as one future state. Members are the heads judged, each with the trunk commit it was merged into. **The
// forge's holder sets every member's mesh/merge-gate from it** (novox/hq ADR 0403 clauses 1 and 5): the group's
// verdict is each member's gate, and a member's own verdict, whose gate layer is "composed", sets none.
Group string `json:"group,omitempty"`
Members []CheckedMember `json:"members,omitempty"`
// Trunk is the trunk commit the head was merged into and judged as, twelve characters (novox/hq ADR 0323