The machine has reported its host version since ADR 0141, whose own comment says why it must: without it nothing can say a machine is behind. The controller's copy of the report did not have the field, so it unmarshalled into nothing and was thrown away on arrival. Two structs describe one message and only the sending side had it. node show names it per machine, "not reported" where the mesh has not been told. status names every machine running an older host than another does, and which is newest. Disagreement rather than staleness, deliberately: nothing delivers a host version yet, so the mesh holds no canonical current one and "behind" has no fixed point. What it can say is that the oldest host in the mesh is what the mesh may send. Two refusals to guess: a machine that reported nothing is not called behind, and versions compare as strings — right for the timestamps this mesh uses, wrong for a scheme where 10 sorts before 9, said at the place that would have to learn. 107 gains the note that this is what makes its new field safe to consider, and that one machine of four is behind today, so it is not free yet.
04-ISSUES
The front door for "something is wrong" at the level of the mesh's design or governance. Diagnosis happens here, where the whole mesh is in view; the fix lands in the owning code repository.
What belongs here
| Belongs here | Belongs in the knowledge base |
|---|---|
| The design permits a failure to be silent | How to fix one occurrence of it |
| A documented rule is enforced by nothing | A command that works around it |
| A stated invariant is false in practice | A node-specific quirk |
| The owner is unknown and finding it needs the whole mesh in view | Symptom → fix, once the answer is known |
The knowledge base already holds the operational record and is indexed on symptoms. This folder is not a second copy of it. An issue here is a question HQ must answer; an entry there is an incident someone must clear. An issue whose answer is a general lesson belongs in both.
Structure
NNN-short-name/
00-report.md the symptom as observed, with the evidence; status in frontmatter
01-diagnosis.md the investigation trail, dated, including what was ruled out
Frontmatter, on 00-report.md
---
status: open | diagnosing | located | resolved | wontfix
opened: YYYY-MM-DD
located-in: [] # owning repo(s) or module(s), filled by diagnosis
fixed-by: # pull request or commit reference, filled at resolution
amended-design: # design doc path, when the root cause was a design gap
---
Rules
- Anyone may open an issue. No localisation is required to report one.
- The full flow is playbook
00-META/process/03-issues.md. - Closed issues are never deleted — they are the mesh's symptom-to-component memory.
wontfixis legitimate and requires a sentence saying why.