I3177 — Two nodes one release apart keep linking, and what the older cannot answer is shown unavailable
Prove in the mesh lab that a node upgraded one release ahead keeps its node identity, takes a new instance id, still links to the older node through the negotiated protocol, and that a capability only the newer offers is listed unavailable on the older's surfaces rather than hidden.
BLOCKED wave 1 · p2 · verification profile · parallel safe
Blocked. This issue cannot start until I2723 is done. The status is derived from that, not declared.
Objective
Prove in the mesh lab that a node upgraded one release ahead keeps its node identity, takes a new instance id, still links to the older node through the negotiated protocol, and that a capability only the newer offers is listed unavailable on the older's surfaces rather than hidden.
Why
The 10-08 robustness pack asked for a mixed-version mesh test (scenarios M13/M15); the 10-12 resident design asked that compatibility be negotiated by protocol range and capability set, not SemVer. ADR 0161 rolls nodes forward one at a time, so mixed versions are the normal state of every rollout. Proposed in ADR 0205 (What a runtime can do is a set of separately evidenced facts, and detection never authorises) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c200#2, chatgpt-majordomus:c240#2.
Current state
Verified: I2163 (DONE) refuses a silent attach across versions on one host; I2723 (READY) publishes each node's version; test/mesh-lab/run builds every node from one executable.
Desired state
A lab scenario with two executables; a capability-set field in the hello or advertisement; unavailable rendered by mesh peers.
Scope
- test/mesh-lab/run
- test/mesh-lab/Dockerfile
- apps/majordomus-cli/src/mesh/protocol.rs
- scripts/ci/mesh-lab-evidence
- docs/MESH.md
Out of scope
- Cluster-wide automatic rollout
Dependencies
What waits on this
Acceptance criteria
- The lab's mixed_versions scenario passes and case 414 requires it
- Restart keeps node identity and changes instance identity
Validation
- majordomus plan validate
- bash test/run.sh 414_mesh_lab_evidence
Evidence required
- mesh_lab_mixed_versions
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/I3177.yaml. Read it back with majordomus plan show I3177.