From ec8f4b2e5990c76c36f765881009b00c8c49fef9 Mon Sep 17 00:00:00 2001 From: Michael Neale Date: Thu, 21 May 2026 12:50:09 +1000 Subject: [PATCH] docs(AGENTS): add confidence-testing recipe for routing/MoA/gossip changes 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. --- AGENTS.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 373fa19993..52c0191c62 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -327,6 +327,14 @@ Testing matters more than usual in this project because: When making changes that touch gossip, routing, proxy, election, or capability advertisement, test against at least two nodes before merging. The deploy checklist below is not optional. +### Confidence Testing (multi-node, when warranted) + +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 --port 9337 --console 3131`, grab its invite token from the JSON log, and start the second node with `mesh-llm serve --gguf --port 9447 --console 3145 --join `. 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. + ### Cargo Concurrency Run `cargo` commands serially. Do not run multiple `cargo` commands in parallel (including parallel test runs), because this repo frequently hits Cargo lock conflicts (`package cache` / `artifact directory`) under concurrent invocation.