795724f5ca6cfd8d9b3e2767733a71aa09796dad
ADR 0589 version 29, clause 6. At start and after a catch-up an address key is an expiry never heard only when its enrolment key is gone and the router records its ask answered yes; one declined or not answered yet is no expiry, and one not answered stays until its ask ends. A confirm, a decline and a refused add delete the address key before their other steps, so one stopped midway never leaves a key the catch-up would take for an expiry and unplace a node that joined. A refused add (mesh-placement's refusal of the proposal, not a call that did not reach it) now ends the enrolment as refused; a call that failed still waits for again. Tests: rows in the end table (after a confirm stopped before its enrolment key went, after a decline, after a refused add, a declined ask, an ask not answered: nothing unplaced) and the integration test's holder-was-down case reading the yes; no new function. (issue 774) Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
mesh-delivery
Novox Mesh — delivery: the parts that build, check and deliver a change by watching and writing keys on the bus (ADR 0429).
Made by the mesh from the gitea module's config value repositories (novox/hq ADR 0428). Main takes no push: a change reaches it by a pull request whose mesh/repo-check (this repository's merge-check.sh) and mesh/merge-gate passed.
Description
Novox Mesh — delivery: the parts that build, check and deliver a change by watching and writing keys on the bus (ADR 0429).
32 MiB
Languages
Go
100%