The controller asks no build of anybody (ADR 0501 §5, ADR 0525 clause 6, ADR 0503 §3). Every module of a walk is taken from the builder's done key; a key not done yet waits, named in the plan, and never fails it. - C2b/C2c: internal/builder and cmd/mesh-controller's asks go (askABuild, onlyTheBuildersOwn, buildOneAsked, takeIn from an outcome, buildAgentsOwn, the builder's say and its fallback, the daemon hearing an outcome). The server follows the retired seats' built subjects only to let go of them, because the installer's carried user list names them. - C2d: replay, queue, cancel, clear, kill, pause, resume, delivery-check, check-here and merge-gate are refused by name. - C3: the check queues (CHECKS_READY, CHECKS_OTHER) and their workers, the checks-running and plans-building buckets and their grants, the build queue and its hold (plans_building.go, queue.go, link/holds.go, builds_nats.go, checks_nats.go). - C4: merge_gate*.go, the pull request's repo-check path, the Checked event and its layers; a pull request asks the controller nothing but to tell mesh-config what its head declares. - C5: the builds bucket is written only by key_takein. - C10 (help and refusals): the terminal's help lists only what is served. Integration tests of the plan's tiers, sends, stops and retries now run on a stand-in builder with a done key for every module (walk_keys_scaffold_integration_test.go); the tests of the asks, the queue, the merge gate and the replays are deleted.
37 lines
1.5 KiB
AMPL
37 lines
1.5 KiB
AMPL
module github.com/novox/mesh-controller
|
|
|
|
go 1.26.0
|
|
|
|
require (
|
|
git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261022190740-104533e8c0c9
|
|
github.com/jackc/pgx/v5 v5.10.0
|
|
github.com/nats-io/nats-server/v2 v2.11.17
|
|
github.com/nats-io/nats.go v1.54.0
|
|
github.com/novox/mesh-host v0.0.0
|
|
golang.org/x/crypto v0.57.0
|
|
golang.org/x/net v0.58.0
|
|
golang.org/x/sys v0.48.0
|
|
)
|
|
|
|
require (
|
|
github.com/antithesishq/antithesis-sdk-go v0.7.0-default-no-op // indirect
|
|
github.com/google/go-tpm v0.9.8 // indirect
|
|
github.com/jackc/pgpassfile v1.0.0 // indirect
|
|
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
|
|
github.com/jackc/puddle/v2 v2.2.2 // indirect
|
|
github.com/klauspost/compress v1.20.0 // indirect
|
|
github.com/minio/highwayhash v1.0.4 // indirect
|
|
github.com/nats-io/jwt/v2 v2.8.1 // indirect
|
|
github.com/nats-io/nkeys v0.4.16 // indirect
|
|
github.com/nats-io/nuid v1.0.1 // indirect
|
|
golang.org/x/sync v0.23.0 // indirect
|
|
golang.org/x/text v0.42.0 // indirect
|
|
golang.org/x/time v0.15.0 // indirect
|
|
)
|
|
|
|
// The node-engine's own validator (mesh-host/validate, novox/hq to-be 45 D1): one validator, the host's.
|
|
// The host's module path names no forge a build can fetch from, so the module is read from the one
|
|
// that holds it, at the host's commit — fetched by the build module over SSH like every module (novox/hq ADR 0503 §4,
|
|
// issue 1305): no vendor/ directory holds a copy. A pin moved changes this line and go.sum, and nothing else.
|
|
replace github.com/novox/mesh-host => git.novox.be/novox/mesh-host v0.0.0-20261018171808-9d9e3a46c4f5
|