The floor's tags are the seat git's verb tags and its requirements what the catalog half's entries name for the package (indexer_requirements and the forge bridge's bridge_tags go from code and manifest); a catalog revision the builder hears wakes a silent floor (the forge stream's consume and its wake go). The guard test says A-107 relaxes ADR 0437 section 8 for a seat's verbs and accepted kinds. The integration bed creates the state bounds the step bounds are kept in. The assignments view's seat form (A-119 (3)) is not built here. Builds: design 47 G §7, A-82, A-107, A-119 Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
41 lines
2.2 KiB
Go
41 lines
2.2 KiB
Go
package main
|
|
|
|
import (
|
|
"git.novox.be/novox/mesh-delivery/contracts/go/seats/meshcatalog"
|
|
"git.novox.be/novox/mesh-delivery/modules/mesh-delivery-builder/buildrun"
|
|
)
|
|
|
|
// The holders and buckets the builder names, taken from its own manifest (module.json: its `reads`) and from the holders'
|
|
// seats' state names; a unit row checks them against the manifest (TestTheNamesAreTheManifests). No contract names a holder
|
|
// (novox/hq ADR 0625 §4, ADR 0634 §1), except the clients of the indexer's and the assigner's states, whose holder names
|
|
// are used from there.
|
|
const (
|
|
gateModule = "mesh-delivery-gate"
|
|
checkerModule = "mesh-delivery-checker"
|
|
|
|
// indexerModule is the holder of the states modules, manifests, candidates and packages the builder follows.
|
|
indexerModule = "mesh-delivery-indexer"
|
|
// assignerModule is the holder of the state assignments.
|
|
assignerModule = buildrun.AssignerModule
|
|
)
|
|
|
|
// namedTreePrefix opens the tree input of a module whose every artifact names its paths.
|
|
const namedTreePrefix = "named:"
|
|
|
|
// seatEventPatterns are the seats' events the builder's own handler takes off its durable consumer (its manifest's `consumes` of
|
|
// them): the registry seats' words, artifacts-gone, the build seats' toolchain-reported, condition-cleared, the node-engine
|
|
// seat's events and, of the seat mesh-catalog, manifest-accepted, version-released and versions-filled. The seat mesh-catalog's
|
|
// catalog-revision and registration-changed and the seat mesh-delivery's source-moved are the views reader's (the branch
|
|
// follower's), so no pattern here covers them: a message has one taker.
|
|
var seatEventPatterns = func() []string {
|
|
var out []string
|
|
for _, seat := range []string{"container-image-registry", "go-package-registry", "npm-package-registry", "oci-artifact-registry",
|
|
"mesh-artifact-sweep", "mesh-conditions", "node-engine", "node-build-go", "node-build-image", "node-build-node"} {
|
|
out = append(out, "mesh.seat."+seat+".event.>")
|
|
}
|
|
for _, event := range []string{meshcatalog.EventManifestAccepted, meshcatalog.EventVersionReleased, meshcatalog.EventVersionsFilled} {
|
|
out = append(out, "mesh.seat."+meshcatalog.Seat+".event."+event, "mesh.seat."+meshcatalog.Seat+".event."+event+".>")
|
|
}
|
|
return out
|
|
}()
|