L3a: the indexer waits on a manifest field its judge does not know; the grants part keeps a held module's users and others' grants (ADR 0601 clause 3) #145

Closed
mesh-tools wants to merge 3 commits from feat/l3a-waits into main
Member

Design 47 milestone L3, first release (L3a), issue 774, ADR 0601 clause 3. Group feat/l3a-waits with mesh-sdk (pinned at 42bd7b80); no manifest of any module changes, so nothing is refused at its merge.

  • Indexer: a manifest with a field its judge does not know waits (no refusal, no manifest-refused); it is refused only once the indexer's running build, asked of the node-engine seat's composition verb, is the trunk's fingerprint for it; judged again at every start pass; tools indexer_verdicts and indexer_judge (which asks the running build again first); one judge pass at a time.
  • Grants part: a held (refused or waiting) module keeps its bus users from the list in force (warning mesh-grants.module-held); its seats, the streams others hear from it, its reads, object reads and the node-engine's manifest are composed from the manifest its running build was judged on, so no other principal loses a grant; one held manifest no longer holds the whole list, except a placed module with no running manifest, which is a failed gap and keeps the list in force.
  • Watchman: a wait is its own finding; checker: hands the sandbox a wait as a refusal.

Tests: rows in existing tests in the indexer, the grants part and the watchman; each fails without its change; no new test function.

Reviewed-by: mesh-code-reviewer@shanks at 83f7a7612d

Design 47 milestone L3, first release (L3a), issue 774, ADR 0601 clause 3. Group feat/l3a-waits with mesh-sdk (pinned at 42bd7b80); no manifest of any module changes, so nothing is refused at its merge. - Indexer: a manifest with a field its judge does not know waits (no refusal, no manifest-refused); it is refused only once the indexer's running build, asked of the node-engine seat's composition verb, is the trunk's fingerprint for it; judged again at every start pass; tools indexer_verdicts and indexer_judge (which asks the running build again first); one judge pass at a time. - Grants part: a held (refused or waiting) module keeps its bus users from the list in force (warning mesh-grants.module-held); its seats, the streams others hear from it, its reads, object reads and the node-engine's manifest are composed from the manifest its running build was judged on, so no other principal loses a grant; one held manifest no longer holds the whole list, except a placed module with no running manifest, which is a failed gap and keeps the list in force. - Watchman: a wait is its own finding; checker: hands the sandbox a wait as a refusal. Tests: rows in existing tests in the indexer, the grants part and the watchman; each fails without its change; no new test function. Reviewed-by: mesh-code-reviewer@shanks at 83f7a7612d1955dbb962d80e009689d1e6eefac8
mesh-tools added 3 commits 2026-11-03 12:08:44 +00:00
Author
Member

Delivery novox/mesh-delivery@83f7a7612d19 — closed since 2026-11-03T17:00:15Z

Transitions

  • 2026-11-03 12:08 (new) → proposed (announced): novox/mesh-delivery#145's head announced
  • 2026-11-03 12:08 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-03 17:00 ready → closed (closed): the pull request closed unmerged

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@83f7a7612d19` — **closed** since 2026-11-03T17:00:15Z **Transitions** - 2026-11-03 12:08 (new) → proposed (announced): novox/mesh-delivery#145's head announced - 2026-11-03 12:08 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-03 17:00 ready → closed (closed): the pull request closed unmerged 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: not merged. The merge of this pull request into main at 83f7a7612d was declined: the operator, via telegram (user id verified), chose Decline. A new head asks the operator again.

mesh-delivery: **not merged.** The merge of this pull request into main at 83f7a7612d1955dbb962d80e009689d1e6eefac8 was declined: the operator, via telegram (user id verified), chose Decline. A new head asks the operator again.
mesh-tools closed this pull request 2026-11-03 17:00:13 +00:00

Pull request closed

Please reopen this pull request to perform a merge.
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#145