I2723 — The mesh shows each node's version and how far a release has rolled out
Make every runtime publish its version and follow setting to the mesh, mesh peers print them, and mesh doctor name a node more than one release behind the stable pointer; a release is rolled out when every enrolled following node reports it.
READY wave 0 · p1 · implementation profile · parallel safe
Ready. Every dependency is done, so majordomus plan start I2723 will be accepted.
Objective
Make every runtime publish its version and follow setting to the mesh, mesh peers print them, and mesh doctor name a node more than one release behind the stable pointer; a release is rolled out when every enrolled following node reports it.
Why
ADR 0161. On 2026-10-14 the primary checkout's server was a 0.21.0 debug build beside a 0.25.0 CLI, and nothing on the board said so.
Current state
serve status reports an outdated server for one checkout; the mesh carries no versions.
Desired state
Runtime info on the mesh carries version and follow; mesh peers and the Cockpit show them; mesh doctor and the dashboard show rollout progress per release.
Scope
- apps/majordomus-cli/src/mesh
- apps/majordomus-cli/src/ui
- docs/MESH.md
- test/cases
Dependencies
None. This issue is a root of the graph.
What waits on this
Acceptance criteria
- mesh peers prints each runtime's version and follow setting
- mesh doctor names a node more than one release behind the stable pointer
Validation
- bin/majordomus plan validate
- MJ_TEST_JOBS=4 bash test/run.sh <the case this issue adds>
Evidence required
- mesh_reports_versions_test
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I2723.yaml. Read it back with majordomus plan show I2723.