From a47476252772f63bbc430a1288d5b8c132ace739 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 21 Oct 2026 14:25:34 +0200 Subject: [PATCH 1/2] Pin route-proxy to a commit of mesh-sdk main, since the pinned one is on a feature branch only (issue 1669) --- modules/route-proxy/go.mod | 4 +- modules/route-proxy/go.sum | 6 +- .../git.novox.be/novox/mesh-sdk/go/README.md | 2 + .../novox/mesh-sdk/go/merge-check.sh | 119 +++++++++++++++++- .../git.novox.be/novox/mesh-sdk/go/stdio.go | 28 ++++- modules/route-proxy/vendor/modules.txt | 4 +- 6 files changed, 146 insertions(+), 17 deletions(-) diff --git a/modules/route-proxy/go.mod b/modules/route-proxy/go.mod index a9826b99..68fa991a 100644 --- a/modules/route-proxy/go.mod +++ b/modules/route-proxy/go.mod @@ -1,5 +1,5 @@ module route-proxy -go 1.25.0 +go 1.26.0 -require git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261018003858-f185aedbf5d6 +require git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261021114014-66e8fdaa62e2 diff --git a/modules/route-proxy/go.sum b/modules/route-proxy/go.sum index 1a769534..6162079d 100644 --- a/modules/route-proxy/go.sum +++ b/modules/route-proxy/go.sum @@ -1,4 +1,2 @@ -git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261016174426-a4e7f480b3b0 h1:EK84so3Y8JdFT3BHrzj9cPQQrDUPa/d+IdOGnerlmEI= -git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261016174426-a4e7f480b3b0/go.mod h1:GFuZUElBZ9A++mxgIKo97aXXo+kV0uJ/UkbhQPPIbrY= -git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261018003858-f185aedbf5d6 h1:Sv1Qzix+U1RpaUkw5IbB0IJEyZ+FqgzHmbZrCZkcWf0= -git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261018003858-f185aedbf5d6/go.mod h1:GFuZUElBZ9A++mxgIKo97aXXo+kV0uJ/UkbhQPPIbrY= +git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261021114014-66e8fdaa62e2 h1:Cdl5N56QPfmFBoLHrDfvvyc5Q+PUnTjf3fgYD7imcco= +git.novox.be/novox/mesh-sdk/go v0.1.14-0.20261021114014-66e8fdaa62e2/go.mod h1:ouERNpZizzwZ0HLEtAypsY9FR20FyUgUYRni6J7kVCY= diff --git a/modules/route-proxy/vendor/git.novox.be/novox/mesh-sdk/go/README.md b/modules/route-proxy/vendor/git.novox.be/novox/mesh-sdk/go/README.md index 6a591b20..58dcfa4e 100644 --- a/modules/route-proxy/vendor/git.novox.be/novox/mesh-sdk/go/README.md +++ b/modules/route-proxy/vendor/git.novox.be/novox/mesh-sdk/go/README.md @@ -17,3 +17,5 @@ at the same version as the TypeScript package. What it holds, under ADR 0039's test: the stdio loop and the tool type, and `cli`, the local protocol `mesh-cli` speaks to the node-engine on its machine (novox/hq ADR 0272): the socket's path and one request and one answer; and `seal`, the mesh's sealed box (novox/hq ADR 0206: X25519, HKDF-SHA256, AES-256-GCM, `{v, eph, iv, tag, ct}`), byte for byte the box the licence manager made before it lived here and the TypeScript `@novox/mesh-sdk/seal` makes. Nothing else — no bus, no client, nothing of any module's. `go build ./example` and pipe a `tools/list` request into it. + +From release 4a of design 47 (novox/hq ADR 0453 clause 3, ADR 0446 clause 4) it also holds the composition of a machine's declaration, over a plain input and with nothing behind it: `declaration` and `validate`, the node-engine's parser and its validator, copied from mesh-host; `catalogue`, the manifests, their resolution and rendering, and `overlay`, the private network's generator, copied from mesh-controller; `compose`, the controller's planFor, renderingFor and declarationWith as functions of an `Input` (the composition never allocates, makes, keeps or writes: what a send would do it names as foreseen or returns); `sdkversion`, which mesh-sdk version a program was built with; and, in `delivery`, the layouts of the keys the builder, the checker and the indexer write (the source fingerprint's new form, the builds, the verdicts and kept verdicts, the manifests by digest). None of them holds a bus, a store or a vault client, which `go list -deps` of `compose` shows. diff --git a/modules/route-proxy/vendor/git.novox.be/novox/mesh-sdk/go/merge-check.sh b/modules/route-proxy/vendor/git.novox.be/novox/mesh-sdk/go/merge-check.sh index 19a7ec01..92e9d9cd 100644 --- a/modules/route-proxy/vendor/git.novox.be/novox/mesh-sdk/go/merge-check.sh +++ b/modules/route-proxy/vendor/git.novox.be/novox/mesh-sdk/go/merge-check.sh @@ -5,16 +5,127 @@ # seat in the mesh's Go toolchain, its own container, because the SDK's merge-check.sh declares it # (`# mesh-check-also: go go/merge-check.sh`) — and by hand, from anywhere: `sh go/merge-check.sh`. # -# Formatted, vetted, and its whole suite run: the stdio loop and the local protocol mesh-cli speaks to the -# node-engine. Standard library only, so nothing is fetched. +# Formatted, vetted (with and without the build tag `integration`), and run at two levels (novox/hq ADR 0391): +# +# 1. the unit level: `go test ./...` untagged, no bus or other process, timed and held to a bound +# (unit_bound below); over it the check fails and names the slowest tests (issue 895); +# 2. the integration level: the whole suite with `-tags integration`, each test against a bus of its +# own (internal/testbus, which issue 1171 brings with the first test that needs a bus) so nothing is +# serialised. With no tagged test yet, the level runs the unit tests again and says their count. +# +# **A test that starts a bus or another process carries `//go:build integration`** as the first line of +# its file; a file that held both kinds is two files (`_integration_test.go` beside `_test.go`). +# Each level says its test count and its time. +# +# No dependency is committed (no vendor directory: .gitignore; the operator, 2026-10-19; issue 1304). Every dependency +# is resolved by the version and checksum go.sum names (novox/hq ADR 0405 §5), from its public source: this binding +# requires nothing of the mesh's own forge. `go mod verify` fails by module name when a downloaded dependency does not +# match go.sum, and -mod=readonly fails a build whose go.sum lacks an entry instead of writing it. gofmt reads only +# the binding's own files. +# +# Exit 0 is a pass; anything else fails `mesh/repo-check` with the last line printed. set -eu cd "$(dirname "$0")" +# The toolchain the check runs in sets -mod=vendor; there is no vendor directory, so it is replaced. +GOFLAGS="$(printf '%s' "${GOFLAGS:-}" | sed 's/-mod=[a-z]*//g') -mod=readonly" +export GOFLAGS +export GOPRIVATE=git.novox.be -unformatted=$(gofmt -l .) +# **The unit level's bound, in seconds** (issue 895): the slowest package's own test time of the untagged run, +# the compile not counted. A run over it fails the check and names the slowest tests. The SDK's unit suite is +# small (its slowest package measured well under a second on a quiet machine), so 2 s leaves room for a busier +# build node without hiding a test that should carry `integration` instead. +unit_bound=2 + +# judge_unit_run says the unit level as `go test -v` reported it and fails when it was over the bound: $1 the +# file holding the output of the untagged `go test -v` of every package (packages one after another, each +# ending in its `ok