Keep route-proxy's contract a package of its own module, not a second module behind a replace
mesh/delivery-group group feat/1126-removal rejected: composed together: the checker's verdict at the members' heads (6593d973ff2e): the composition
mesh/delivery closed: the pull request closed unmerged
mesh/check failed: the composition: route-proxy is defined twice, in novox/mesh-controller and novox/mesh-networking | 759a7bff129b on fe0392e05f62 | …
mesh/delivery-group group feat/1126-removal rejected: composed together: the checker's verdict at the members' heads (6593d973ff2e): the composition
mesh/delivery closed: the pull request closed unmerged
mesh/check failed: the composition: route-proxy is defined twice, in novox/mesh-controller and novox/mesh-networking | 759a7bff129b on fe0392e05f62 | …
The group's check failed at go mod verify: the build module's workspace carries one module, so the replace of ./contract named a go.mod it never placed; and ADR 0573 clause 1 refuses a path into another tree. Nothing outside route-proxy imports the contract today; when one must, it moves into the networking domain's package (research 081). Issue 1126. Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
This commit is contained in:
@@ -17,11 +17,11 @@ consumer on its own machine.
|
||||
|
||||
## Its contract: a package of its own
|
||||
|
||||
**route-proxy defines its own contract, and other modules use it** (the operator, 2026-10-31). It is the Go module
|
||||
`git.novox.be/novox/mesh-networking/modules/route-proxy/contract`, in `contract/` here with its own `go.mod`, standard
|
||||
library only, released by tags `modules/route-proxy/contract/vX.Y.Z` of this repository, the way mesh-sdk is released
|
||||
(`go/vX.Y.Z`); another module depends on it by its version like any other, and this module builds it from its own
|
||||
tree (a `replace` of `./contract` in `go.mod`), so the two never drift. It holds:
|
||||
**route-proxy defines its own contract** (the operator, 2026-10-31). It is the package `contract` of this module
|
||||
(`route-proxy/contract`), standard library only, built from the same tree, so the two never drift. No `replace` to a
|
||||
directory and no second module: ADR 0573 clause 1 refuses a path into another tree, and the build module's workspace
|
||||
carries one module. No other module imports it today; when one must, the contract moves into the networking domain's
|
||||
package, as research 081 (how seats are defined) decides. It holds:
|
||||
|
||||
- **the route a consumer asks** (`Request`, read strictly by `DecodeRequest`: no field it does not name, a name of
|
||||
either kind, a port where the rule forwards, http or https, a positive body limit, a secret's file never a
|
||||
|
||||
Reference in New Issue
Block a user