Issue 1966 (notes 151, 152): the nats yes on novox was lost a second time with #195 delivered. The assigner's ask key stood under an id whose ask had ended at the operator channel without an answer; the teller will not ask an ended id again, and the assigner wrote again only an absent or stale key. So nothing asked: the nats move on novox and issue 784's mesh-knowledge delivery waited, and backup asks for searxng, nats and jackett were lost the same way.
T: the teller says its own module event ask-ended (manifest emits; body in its own package modules/mesh-delivery-teller/tellerevents, ADR 0634 §1) when the router records an expiry or a cancellation, and at its start for a key standing under an ended id. Not for a refusal, a replacement, an answer, or a hand end by teller_end_ask.
A: the assigner consumes mesh-delivery-teller.ask-ended and writes hold, restore, backup and rule-written record asks again by compare-and-set under a new asking (AskingSeconds). Not written again, by rule: the assignments ask (ADR 0567 §5/§11; the seat has its own verb again) and a record ask a put asked (ADR 0546: its expiry is the put's refusal).
C: tellerevents' own test folded into the rows; test counts as main (mesh-delivery 665 unit, 68 integration; both over budget before, unchanged).
Quick fix: none (no tool writes an ask key again). Thorough fix: this change, chosen because the yes was lost twice and the kind hid every ask kind. Once the teller is delivered, the standing nats yes and the three backup asks are asked again without a hand act.
Tests: rows in TestAnAssignerAskWaitsForRoomAndARefusalIsSaidAsADeliveryAsk and TestTheHoldAskIsValid/ended_at_the_channel; each fails without its change (checked by the reviewer). go vet, go vet -tags integration and go test pass in all 41 modules of the repository (reviewer, siblings placed with mesh-catalog main).
Manifest validator: the verdicts on the teller's and the assigner's manifests are unproved until this pull request's check runs. A local re-creation (53 of the live 60 seats; neither manifest names a missing one) accepted both in the change and trunk cases, with no verdict differing.
Found, not built (note 152): a hand tool to ask an ended ask again; the gate's merge asks have the same fault; meshdeliveryclient.Answer belongs in tellerevents.
Prepare and rulings: hq .work/1966-ask-ended/prepare.md.
Reviewed-by: mesh-code-reviewer@shanks at 77f5ec7d4f
Pushed-by: lead-47@shanks
Issue 1966 (notes 151, 152): the nats yes on novox was lost a second time with #195 delivered. The assigner's ask key stood under an id whose ask had ended at the operator channel without an answer; the teller will not ask an ended id again, and the assigner wrote again only an absent or stale key. So nothing asked: the nats move on novox and issue 784's mesh-knowledge delivery waited, and backup asks for searxng, nats and jackett were lost the same way.
- T: the teller says its own module event ask-ended (manifest `emits`; body in its own package modules/mesh-delivery-teller/tellerevents, ADR 0634 §1) when the router records an expiry or a cancellation, and at its start for a key standing under an ended id. Not for a refusal, a replacement, an answer, or a hand end by teller_end_ask.
- A: the assigner consumes mesh-delivery-teller.ask-ended and writes hold, restore, backup and rule-written record asks again by compare-and-set under a new asking (AskingSeconds). Not written again, by rule: the assignments ask (ADR 0567 §5/§11; the seat has its own verb `again`) and a record ask a put asked (ADR 0546: its expiry is the put's refusal).
- C: tellerevents' own test folded into the rows; test counts as main (mesh-delivery 665 unit, 68 integration; both over budget before, unchanged).
Quick fix: none (no tool writes an ask key again). Thorough fix: this change, chosen because the yes was lost twice and the kind hid every ask kind. Once the teller is delivered, the standing nats yes and the three backup asks are asked again without a hand act.
Tests: rows in TestAnAssignerAskWaitsForRoomAndARefusalIsSaidAsADeliveryAsk and TestTheHoldAskIsValid/ended_at_the_channel; each fails without its change (checked by the reviewer). go vet, go vet -tags integration and go test pass in all 41 modules of the repository (reviewer, siblings placed with mesh-catalog main).
Manifest validator: the verdicts on the teller's and the assigner's manifests are unproved until this pull request's check runs. A local re-creation (53 of the live 60 seats; neither manifest names a missing one) accepted both in the change and trunk cases, with no verdict differing.
Found, not built (note 152): a hand tool to ask an ended ask again; the gate's merge asks have the same fault; meshdeliveryclient.Answer belongs in tellerevents.
Prepare and rulings: hq .work/1966-ask-ended/prepare.md.
Reviewed-by: mesh-code-reviewer@shanks at 77f5ec7d4f0a5fd44525afcb80e66f09f585bd5b
Pushed-by: lead-47@shanks
https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
An assigner ask that lapsed or was cancelled at the operator channel while its key still stands
was never asked again: the router drops a second ask under an id it keeps, and the assigner
only writes a new asking when the key is absent (note 151: the nats yes on novox and three
backup asks). The teller now says ask-ended (its module event, emits; body in its own package
tellerevents, ADR 0634 §1) when the router records such an end, and when a watch hands it a key
standing under an asking that ended so, which covers its start and the asks standing now. A
refusal, a replacement, an answer and an end by hand (teller_end_ask, kept in its own record)
are not said.
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
An ask that ended at the operator channel without an answer while its key stood was never
written again, so nothing asked it (note 151: the nats yes on novox, three backup asks). The
assigner now consumes mesh-delivery-teller.ask-ended on its durable consumer and writes the key
again by compare-and-set under AskingSeconds (above the old asking), an id of its own and a new
expiry (AskLasts), one row per kind: hold, restore, backup and a record ask of the rules are
written again; the authorising ask of a proposal is not (ADR 0567 §5, §11: its lapse ends the
proposal, again asks it again), nor a record ask a put asked (ADR 0546: its lapse refuses the
put), nor an asking the key no longer holds.
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Deliverynovox/mesh-delivery@77f5ec7d4f0a — merged since 2026-11-10T00:44:45Z
Source — source.main moved to novox/mesh-delivery@1fad9c8855. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-11-10 00:39 (new) → proposed (announced): novox/mesh-delivery#198's head announced
2026-11-10 00:39 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
2026-11-10 00:44 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-delivery@77f5ec7d4f0a` — **merged** since 2026-11-10T00:44:45Z
**Source** — source.main moved to novox/mesh-delivery@1fad9c8855a8. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-11-10 00:39 (new) → proposed (announced): novox/mesh-delivery#198's head announced
- 2026-11-10 00:39 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
- 2026-11-10 00:44 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `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.
Issue 1966 (notes 151, 152): the nats yes on novox was lost a second time with #195 delivered. The assigner's ask key stood under an id whose ask had ended at the operator channel without an answer; the teller will not ask an ended id again, and the assigner wrote again only an absent or stale key. So nothing asked: the nats move on novox and issue 784's mesh-knowledge delivery waited, and backup asks for searxng, nats and jackett were lost the same way.
emits; body in its own package modules/mesh-delivery-teller/tellerevents, ADR 0634 §1) when the router records an expiry or a cancellation, and at its start for a key standing under an ended id. Not for a refusal, a replacement, an answer, or a hand end by teller_end_ask.again) and a record ask a put asked (ADR 0546: its expiry is the put's refusal).Quick fix: none (no tool writes an ask key again). Thorough fix: this change, chosen because the yes was lost twice and the kind hid every ask kind. Once the teller is delivered, the standing nats yes and the three backup asks are asked again without a hand act.
Tests: rows in TestAnAssignerAskWaitsForRoomAndARefusalIsSaidAsADeliveryAsk and TestTheHoldAskIsValid/ended_at_the_channel; each fails without its change (checked by the reviewer). go vet, go vet -tags integration and go test pass in all 41 modules of the repository (reviewer, siblings placed with mesh-catalog main).
Manifest validator: the verdicts on the teller's and the assigner's manifests are unproved until this pull request's check runs. A local re-creation (53 of the live 60 seats; neither manifest names a missing one) accepted both in the change and trunk cases, with no verdict differing.
Found, not built (note 152): a hand tool to ask an ended ask again; the gate's merge asks have the same fault; meshdeliveryclient.Answer belongs in tellerevents.
Prepare and rulings: hq .work/1966-ask-ended/prepare.md.
Reviewed-by: mesh-code-reviewer@shanks at
77f5ec7d4fPushed-by: lead-47@shanks
https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Delivery
novox/mesh-delivery@77f5ec7d4f0a— merged since 2026-11-10T00:44:45ZSource — source.main moved to novox/mesh-delivery@1fad9c8855. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.