Replay issues 292 and 298 as tests the commit before each fix fails (hq ADR 0237)
mesh/merge-gate pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step; every machine composes with the change as it…
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery delivered
mesh/delivery-group group replays/292-298 delivered: every member is delivered
mesh/merge-gate pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step; every machine composes with the change as it…
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery delivered
mesh/delivery-group group replays/292-298 delivered: every member is delivered
R292: two drills recorded through hand-act record want no healer. R298: the delivery seat's holder holds it before and after it serves checks, so neither repository has to merge first.
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package catalogue
|
||||
|
||||
import (
|
||||
"slices"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// **R298 — a seat's new verb lands in either repository first** (novox/hq issue 298). On 2026-10-07 the
|
||||
// delivery seat gained `checks`: the seat is defined here and held by a module in the catalogue, and
|
||||
// neither could merge first — a controller promising the verb refused the holder that did not serve it
|
||||
// yet, and a holder serving it was refused by the controller that did not promise it. The outcome
|
||||
// asserted: the holder as it was, and the holder serving `checks` too, both hold the delivery seat.
|
||||
//
|
||||
// Written only with what the catalogue package had before the fix (SeatNamed, VerbNames, CanHold), so the
|
||||
// prover can lay it over that commit.
|
||||
func TestReplay298ADeliverySeatHolderHoldsBeforeAndAfterItServesChecks(t *testing.T) {
|
||||
seat, ok := SeatNamed(DeliverySeat)
|
||||
if !ok {
|
||||
t.Fatal("the delivery seat is not in the set")
|
||||
}
|
||||
var before []string
|
||||
for _, v := range VerbNames(seat.Serves) {
|
||||
if v != "checks" {
|
||||
before = append(before, v)
|
||||
}
|
||||
}
|
||||
holder := func(serves []string) Manifest {
|
||||
return Manifest{Module: "mesh-delivery", Claims: []Claim{{Name: DeliverySeat, Scope: ScopeMesh, Serves: serves}}}
|
||||
}
|
||||
if err := CanHold(holder(before), seat); err != nil {
|
||||
t.Fatalf("the holder as the catalogue had it, before it serves checks, is refused: %v", err)
|
||||
}
|
||||
if err := CanHold(holder(append(slices.Clone(before), "checks")), seat); err != nil {
|
||||
t.Fatalf("the holder serving checks is refused — the catalogue cannot merge first: %v", err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user