44fee9eb0e65529a0e80e1b7d2f74dca7fa0ac96
ADR 0589 clause 6: a placed but unconfirmed node is always taken out again, on the warrant of its ask. The address key now names the ask and the issue's time (delivery.EnrolmentAddress, mesh-sdk c7130e3), written just before the ask is raised and with no expiry of its own, so it outlives the enrolment key; the holder deletes it at every end. An expiry, seen or not, ends the enrolment in this order, each step safe to repeat: remove-node on the ask's warrant (only when placement holds the node), enrolment-expired naming the rebuilt issued event (delivery.EnrolmentIssuedID), the vault's drop of the token, and the address key last. Reconcile finds every address key that names an ask and whose enrolment key is gone (expired while the holder was down, before its watch caught up, or an end that stopped) and ends it; it runs once the watch has caught up, on every expiry, and again with a growing wait while a step fails. An address reserved by an issue under way (no ask yet) is left alone. Tests: rows in the end table (expired unseen; the holder down with a drop that fails once; a reservation under way) and the integration test's expiry case (the address key goes; a holder that was down unplaces on its pass); 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%