Issue 774 (L3). The vault's own answer read the machine's placement once per consumer credential (143 bus reads for ace, each bounded by 30 s against the node-engine's 15 s deadline); ace's asks timed out at 00:43-00:51 while bus reloads paused reads. Now one placement read per answer (planReader.placedOn); each answer logs its duration and each refusal says why (the vault could not say whether ace's asks arrived). Quick vs thorough: quick = this vault change; thorough = the assigner puts only changes (mesh-delivery fix/assigner-puts-only-changes) and the node-engine composes only on a changed want (next). Assertions in TestOwnReadsEachAssignmentOnceAndSyncsItsRecordOnce fail on main. gofmt, vet (both tags), go test pass.
Issue 774 (L3). The vault's own answer read the machine's placement once per consumer credential (143 bus reads for ace, each bounded by 30 s against the node-engine's 15 s deadline); ace's asks timed out at 00:43-00:51 while bus reloads paused reads. Now one placement read per answer (planReader.placedOn); each answer logs its duration and each refusal says why (the vault could not say whether ace's asks arrived). Quick vs thorough: quick = this vault change; thorough = the assigner puts only changes (mesh-delivery fix/assigner-puts-only-changes) and the node-engine composes only on a changed want (next). Assertions in TestOwnReadsEachAssignmentOnceAndSyncsItsRecordOnce fail on main. gofmt, vet (both tags), go test pass.
Reviewed-by: rev-held@shanks at b60138990b341f5d125e46b03280bc54a72986c4
Quick fix: the plan reader keeps the machine's one placement key for the answer, as it keeps each module's assignment (issue 1126, 2026-10-28); the second time one answer's reads per credential held own past the node-engine's 15 s.
Thorough fix (not here): the node-engine asks own only when a secret or a credential it composes from changed, and the assigner writes no want that is unchanged.
Deliverynovox/mesh-catalog@b60138990b34 — merged since 2026-10-31T00:40:43Z
Source — source.main moved to novox/mesh-catalog@dcf3950f7b. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-10-31 00:12 (new) → proposed (announced): novox/mesh-catalog#576's head announced
2026-10-31 00:12 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-10-31 00:40 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-catalog@b60138990b34` — **merged** since 2026-10-31T00:40:43Z
**Source** — source.main moved to novox/mesh-catalog@dcf3950f7b07. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-10-31 00:12 (new) → proposed (announced): novox/mesh-catalog#576's head announced
- 2026-10-31 00:12 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-10-31 00:40 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 774 (L3). The vault's own answer read the machine's placement once per consumer credential (143 bus reads for ace, each bounded by 30 s against the node-engine's 15 s deadline); ace's asks timed out at 00:43-00:51 while bus reloads paused reads. Now one placement read per answer (planReader.placedOn); each answer logs its duration and each refusal says why (the vault could not say whether ace's asks arrived). Quick vs thorough: quick = this vault change; thorough = the assigner puts only changes (mesh-delivery fix/assigner-puts-only-changes) and the node-engine composes only on a changed want (next). Assertions in TestOwnReadsEachAssignmentOnceAndSyncsItsRecordOnce fail on main. gofmt, vet (both tags), go test pass.
Reviewed-by: rev-held@shanks at
b60138990bDelivery
novox/mesh-catalog@b60138990b34— merged since 2026-10-31T00:40:43ZSource — source.main moved to novox/mesh-catalog@dcf3950f7b. 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.