The 5-minute reconcile loaded the kept declaration before waiting for the apply lock; a declaration the link was applying is kept only after its apply ends, so the reconcile re-applied the older one over it.
Seen twice on 2026-10-05: novox (issue 257: report named an unrecorded digest, plan stalled) and g14 (hosts module assigned and applied at 21:28:14, given back at 21:28:43 by the reconcile due at 21:28:26; back at the next tick).
Fix: reapplyKept takes the lock, then loads. New test reproduces the interleaving; it fails with load-before-lock and passes now. Full suite + vet pass.
The 5-minute reconcile loaded the kept declaration before waiting for the apply lock; a declaration the link was applying is kept only after its apply ends, so the reconcile re-applied the older one over it.
Seen twice on 2026-10-05: novox (issue 257: report named an unrecorded digest, plan stalled) and g14 (hosts module assigned and applied at 21:28:14, given back at 21:28:43 by the reconcile due at 21:28:26; back at the next tick).
Fix: `reapplyKept` takes the lock, then loads. New test reproduces the interleaving; it fails with load-before-lock and passes now. Full suite + vet pass.
The five-minute reconcile read the kept declaration and then waited for the link's apply; the
link keeps a declaration only once its apply ends, so the reconcile applied the older one over
it. A module assigned a moment earlier was given back, and the report named a declaration the
mesh no longer recorded as sent, which held a plan at its first machine.
Deliverynovox/mesh-host@89a7796afe7d — held since 2026-10-06T23:05:28Z
Held for a person: merged without a passing check: only a person decides that it goes on — mesh-delivery.release with why lets it go on.
Delivery plan — builds mesh-host → ace, g14, novox, shanks; no bus step
tier 0: mesh-host
ace: receives mesh-host
g14: receives mesh-host
novox: receives mesh-host
shanks: receives mesh-host
Transitions
2026-10-06 23:05 (new) → proposed (announced): novox/mesh-host#24 merged; its head was not heard by this owner, so it is made from the forge's word
2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-host@89a7796afe7d` — **held** since 2026-10-06T23:05:28Z
Held for a person: merged without a passing check: only a person decides that it goes on — `mesh-delivery.release` with why lets it go on.
**Delivery plan** — builds mesh-host → ace, g14, novox, shanks; no bus step
- tier 0: mesh-host
- ace: receives mesh-host
- g14: receives mesh-host
- novox: receives mesh-host
- shanks: receives mesh-host
**Transitions**
- 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-host#24 merged; its head was not heard by this owner, so it is made from the forge's word
- 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
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.
The 5-minute reconcile loaded the kept declaration before waiting for the apply lock; a declaration the link was applying is kept only after its apply ends, so the reconcile re-applied the older one over it.
Seen twice on 2026-10-05: novox (issue 257: report named an unrecorded digest, plan stalled) and g14 (hosts module assigned and applied at 21:28:14, given back at 21:28:43 by the reconcile due at 21:28:26; back at the next tick).
Fix:
reapplyKepttakes the lock, then loads. New test reproduces the interleaving; it fails with load-before-lock and passes now. Full suite + vet pass.Delivery
novox/mesh-host@89a7796afe7d— held since 2026-10-06T23:05:28ZHeld for a person: merged without a passing check: only a person decides that it goes on —
mesh-delivery.releasewith why lets it go on.Delivery plan — builds mesh-host → ace, g14, novox, shanks; no bus step
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.