Delivery records are true at the source: the indexer records what it took in, the view derives what reached the machines, a settle verb for held deliveries (issue 1280) #80

Merged
mesh-tools merged 11 commits from fix/delivery-records-true into main 2026-10-26 21:48:51 +00:00
Member

Issue 1280, ADR 0556: a delivery reads as delivered only when the wants it moved are settled on the machines, derived by the view, and the gate keeps no delivery state after the merge.

  • indexer: writes taken.<repository> (the newest merge it took in). taken is bound with AwaitBucket, as main binds placement (issue 1790's rule): while the bucket is not on the bus the merge's modules are still taken in and the key is skipped, said in the log, and the repository's next merge writes it.
  • view: view_reach and the reached head of each repository, capped at its taken merge, with the words why a merge is not yet on the machines.
  • teller: reads what the view derives.
  • Merged with main up to 4b36cc2 (#79, L2): 11 conflicts in the indexer and the view, each two additions at one spot, resolved keeping both sides (taken beside placement); reviewed file by file.

Member of the delivery group fix/delivery-records-true (mesh-sdk, mesh-delivery, mesh-catalog); pins mesh-sdk 68d65e6 exactly.

Follow-up written on issue 1280, not in this change: a skipped taken key is written only at the repository's next merge (fill taken at start, or write on the bucket's appearance).

Tests: unit suites and go vet -tags integration pass in all 9 modules; one table row added, no new test function.

Reviewed-by: review-delivered-b@shanks at c12b870104

Issue 1280, ADR 0556: a delivery reads as delivered only when the wants it moved are settled on the machines, derived by the view, and the gate keeps no delivery state after the merge. - indexer: writes `taken.<repository>` (the newest merge it took in). `taken` is bound with AwaitBucket, as main binds `placement` (issue 1790's rule): while the bucket is not on the bus the merge's modules are still taken in and the key is skipped, said in the log, and the repository's next merge writes it. - view: `view_reach` and the reached head of each repository, capped at its taken merge, with the words why a merge is not yet on the machines. - teller: reads what the view derives. - Merged with main up to 4b36cc2 (#79, L2): 11 conflicts in the indexer and the view, each two additions at one spot, resolved keeping both sides (taken beside placement); reviewed file by file. Member of the delivery group fix/delivery-records-true (mesh-sdk, mesh-delivery, mesh-catalog); pins mesh-sdk 68d65e6 exactly. Follow-up written on issue 1280, not in this change: a skipped taken key is written only at the repository's next merge (fill taken at start, or write on the bucket's appearance). Tests: unit suites and `go vet -tags integration` pass in all 9 modules; one table row added, no new test function. Reviewed-by: review-delivered-b@shanks at c12b870104e811f6debf478dd2b0841968dc99f6
mesh-tools added 11 commits 2026-10-26 21:30:10 +00:00
# Conflicts:
#	modules/mesh-delivery-view/go.mod
#	modules/mesh-delivery-view/go.sum
# Conflicts:
#	modules/mesh-delivery-indexer/cmd/mesh-delivery-indexer/main.go
#	modules/mesh-delivery-indexer/go.mod
#	modules/mesh-delivery-indexer/go.sum
#	modules/mesh-delivery-indexer/manifest_test.go
#	modules/mesh-delivery-indexer/module.json
#	modules/mesh-delivery-view/cmd/mesh-delivery-view-tools/main.go
#	modules/mesh-delivery-view/go.mod
#	modules/mesh-delivery-view/go.sum
#	modules/mesh-delivery-view/internal/view/read.go
#	modules/mesh-delivery-view/manifest_test.go
#	modules/mesh-delivery-view/module.json
The indexer binds its taken state when it appears, as issue 1790 asks of every state a delivery adds: an indexer started before the bus holds it still takes merges in and says the key it did not write (issue 1280, ADR 0556 clause 1)
mesh/check checking c12b870104e8 on bd107d20154c | novox/mesh-delivery#80 in group fix/delivery-records-true
mesh/delivery merged: source.main moved to novox/mesh-delivery@4af36c69a761
mesh/delivery-group group fix/delivery-records-true merged: every member is merged
c12b870104
Author
Member

Delivery novox/mesh-delivery@c12b870104e8 — merged since 2026-10-26T21:48:54Z

Source — source.main moved to novox/mesh-delivery@4af36c69a7. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Group fix/delivery-records-true: novox/mesh-catalog@c1cd8461bc, novox/mesh-delivery@c12b870104, novox/mesh-sdk@68d65e6bbf

Transitions

  • 2026-10-26 21:30 (new) → proposed (announced): novox/mesh-delivery#80's head announced
  • 2026-10-26 21:30 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-26 21:48 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@c12b870104e8` — **merged** since 2026-10-26T21:48:54Z **Source** — source.main moved to novox/mesh-delivery@4af36c69a761. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/delivery-records-true`: novox/mesh-catalog@c1cd8461bc6e, novox/mesh-delivery@c12b870104e8, novox/mesh-sdk@68d65e6bbf61 **Transitions** - 2026-10-26 21:30 (new) → proposed (announced): novox/mesh-delivery#80's head announced - 2026-10-26 21:30 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-26 21:48 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`.
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-tools merged commit 4af36c69a7 into main 2026-10-26 21:48:51 +00:00
mesh-tools deleted branch fix/delivery-records-true 2026-10-26 21:48:51 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-delivery#80