Fixes novox/hq issue 087. A host refuses a declaration carrying a field it does not know, whole — so every new declaration field is a flag day, hosts first. The mesh had no record of which host any machine ran, so the order was kept by somebody remembering it.
The machine has reported it since ADR 0141; the controller's own copy of the report did not have the field, so it unmarshalled into nothing and was discarded on arrival. Two structs describe one message and only the sending side had it.
Now recorded (migration 0045), shown in node show, and status names every machine running an older host than another does.
Deliberately disagreement, not staleness: nothing delivers a host version yet (ADR 0141, accepted and not built), so the mesh holds no canonical current version and "behind" has no fixed point. What it can say truthfully 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 this mesh's timestamps, wrong where 10 sorts before 9, said at the place that would have to learn.
make check: only the pre-existing TestConvergingPreviewsThenChangesAndAdoptingKeepsWhatWasTaken failure.
Fixes novox/hq issue 087. A host refuses a declaration carrying a field it does not know, **whole** — so every new declaration field is a flag day, hosts first. The mesh had no record of which host any machine ran, so the order was kept by somebody remembering it.
**The machine has reported it since ADR 0141; the controller's own copy of the report did not have the field**, so it unmarshalled into nothing and was discarded on arrival. Two structs describe one message and only the sending side had it.
Now recorded (migration 0045), shown in `node show`, and `status` names every machine running an older host than another does.
Deliberately **disagreement, not staleness**: nothing delivers a host version yet (ADR 0141, accepted and not built), so the mesh holds no canonical current version and "behind" has no fixed point. What it can say truthfully 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 this mesh's timestamps, wrong where `10` sorts before `9`, said at the place that would have to learn.
`make check`: only the pre-existing `TestConvergingPreviewsThenChangesAndAdoptingKeepsWhatWasTaken` failure.
novox/hq 04-ISSUES/087. A host refuses a declaration carrying a field it
does not know, and refuses it WHOLE — deliberately, because that keeps a
half-understood declaration off a machine. It makes every new declaration
field a flag day: hosts first, then the controller. The mesh had no record
of which host any machine ran, so that order was kept by somebody
remembering it, and a machine that refused for this reason reported a
failure with nothing saying why.
The machine has reported its host version since ADR 0141. The
controller's own copy of the report did not have the field, so it was
unmarshalled into nothing and thrown away on arrival. It has it now,
records it, and shows it in `node show` — "not reported" rather than
blank, because a machine that has not said is not a machine running
nothing.
Status says which machines run an older host than another machine does,
and which is newest. Deliberately disagreement rather than staleness:
nothing delivers a host version yet (ADR 0141, accepted and not built), so
the mesh holds no canonical current version and cannot honestly say a
machine is behind THE host. What it can say is that the oldest host in the
mesh is what the mesh may send.
A machine that has reported nothing is left out rather than called
behind. Versions compare as strings, which suits the timestamps and
commits this mesh uses and is wrong for a scheme where "10" sorts before
"9" — said in the code, at the place that would have to learn.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fixes novox/hq issue 087. A host refuses a declaration carrying a field it does not know, whole — so every new declaration field is a flag day, hosts first. The mesh had no record of which host any machine ran, so the order was kept by somebody remembering it.
The machine has reported it since ADR 0141; the controller's own copy of the report did not have the field, so it unmarshalled into nothing and was discarded on arrival. Two structs describe one message and only the sending side had it.
Now recorded (migration 0045), shown in
node show, andstatusnames every machine running an older host than another does.Deliberately disagreement, not staleness: nothing delivers a host version yet (ADR 0141, accepted and not built), so the mesh holds no canonical current version and "behind" has no fixed point. What it can say truthfully 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 this mesh's timestamps, wrong where
10sorts before9, said at the place that would have to learn.make check: only the pre-existingTestConvergingPreviewsThenChangesAndAdoptingKeepsWhatWasTakenfailure.