docs(AGENTS): add confidence-testing recipe for multi-node changes - #613
Merged
Conversation
…anges Capture the three test shapes I keep rediscovering when validating non-trivial mesh changes: 2-node private mesh via --join, public-mesh client --auto, and agent harnesses against both model=auto and model=mesh. Adds 6 lines to the existing Testing section so the next agent run does not have to invent the recipe from scratch.
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a short “Confidence Testing” recipe to AGENTS.md to help validate changes that can break across nodes (routing/MoA/gossip/OpenAI surface/agent harnesses) by consistently running a small set of multi-node checks before merging.
Changes:
- Introduces a new “Confidence Testing (multi-node, when warranted)” subsection under Testing.
- Documents three recommended validation “shapes”: 2-node private mesh, public mesh client, and an agent harness run across
model=autoandmodel=mesh.
Comment on lines
+334
to
+335
| 1. **2-node private mesh** — start one node with `mesh-llm serve --model <big> --port 9337 --console 3131`, grab its invite token from the JSON log, and start the second node with `mesh-llm serve --gguf <small.gguf> --port 9447 --console 3145 --join <token>`. Confirm peers=1 on both consoles and `/v1/models` returns the union. Exercises QUIC tunnelling and cross-node routing. | ||
| 2. **Public mesh as a client** — `mesh-llm client --auto` from a workstation. Confirm `discovery_joined` + `Client ready` in the log and an inference call against a mesh-advertised model returns. Exercises the read-only routing path agent users hit. |
|
|
||
| For changes that affect routing, MoA, gossip, the OpenAI surface, agent harnesses, or anything multi-node, validate with these three shapes before declaring a branch ready: | ||
|
|
||
| 1. **2-node private mesh** — start one node with `mesh-llm serve --model <big> --port 9337 --console 3131`, grab its invite token from the JSON log, and start the second node with `mesh-llm serve --gguf <small.gguf> --port 9447 --console 3145 --join <token>`. Confirm peers=1 on both consoles and `/v1/models` returns the union. Exercises QUIC tunnelling and cross-node routing. |
|
|
||
| 1. **2-node private mesh** — start one node with `mesh-llm serve --model <big> --port 9337 --console 3131`, grab its invite token from the JSON log, and start the second node with `mesh-llm serve --gguf <small.gguf> --port 9447 --console 3145 --join <token>`. Confirm peers=1 on both consoles and `/v1/models` returns the union. Exercises QUIC tunnelling and cross-node routing. | ||
| 2. **Public mesh as a client** — `mesh-llm client --auto` from a workstation. Confirm `discovery_joined` + `Client ready` in the log and an inference call against a mesh-advertised model returns. Exercises the read-only routing path agent users hit. | ||
| 3. **Agent harness** — run ≥ 1 of the harnesses (“mini-agent” Python loops at `/tmp/mini-agent*.py`, Goose, OpenCode) against the local proxy with both `model=auto` and `model=mesh` to catch tool-call and reducer regressions that simple curl checks miss. |
michaelneale
added a commit
that referenced
this pull request
May 21, 2026
* main: docs(AGENTS): add confidence-testing recipe for routing/MoA/gossip changes (#613) ci(sdk-smoke): install lld in macOS swift smoke job (#610) MoA: mesh mode and many inference critical fixes, and quic keep alive (#566) fix(ci): small update for lint rule (#608) mockup: Reserves high-fidelity UI mockup (#560) Add advisory capacity evaluation for model targets (#579) Harden Skippy layer package materialization cache (#583) fix(release): pin Windows CUDA to sccache-compatible version (#606) fix(build-windows): tolerate dead sccache server in CUDA retry path (#604) chore(version): synchronize version bump everywhere (#562) fix(mesh): skip filtered peers in gossip dial loop to unwedge `--auto` (#602) docs(agents): clarify just build vs release-build for serious testing (#599) build: ozempic — slim binary -42 MB / -47 MB (#592)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Several recent agent-driven sessions on routing, MoA, gossip, and OpenAI-surface changes have ended with the agent burning time rediscovering how to do solid multi-node validation. This adds a short recipe to AGENTS.md so the next session has it on hand.
What
Six lines added to the existing Testing section listing the three shapes worth running when a change can plausibly break across nodes:
mesh-llm serve+--join <invite>.mesh-llm client --auto.model=autoandmodel=mesh.No mention of internal IPs or credentials \u2014 those stay in
~/Documents/private-note.txtper the existing AGENTS.md rule.Architecture
None. Docs-only change to a single markdown file.