Skip to content

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

Part of safe-self-update — Every mesh node follows the published release by itself, versions meet safely, and a release's provenance can be checked.

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.

Searches the titles and descriptions of every page this site publishes.