One delivery group, branch feat/l3-final in mesh-sdk, mesh-delivery, mesh-catalog, mesh-tools and mesh-host: the final release of design 47's step L3 (issue 774, with 1367 and 1585). Records: ADR 0614 (accepted), ADR 0603, ADR 0601, ADR 0604.
This member:
catalogue.ManifestReads, ManifestNeeds, BaselineManifestReads, StatedManifestReads, MissingManifestReads (ADR 0614 §4). The baseline is generated from f02f142, which the running node-engines are built with; a node-engine that states nothing reads it.
NodeRecord.ManifestReads (manifest-reads) and Module.Needs (needs), additive at Version 1; checkRule accepts 1-10, and nothing writes 9 or 10.
kept_until_delivered.go stays (rule bent, said to the operator): the check builds the running node-engine 798d73e against this SDK, and it still uses three of its names. It goes in the next release that changes mesh-sdk.
Not in this release: ADR 0614 §4's check refusal of a node-engine manifest (D8). Nothing tells the node-engine's manifest apart without its name (issue 774 note 105). The assigner's hold covers it meanwhile.
quick vs thorough: thorough (the edge kinds in the module graph, per ADR 0614), chosen because the kind was met three times (issue 1585 notes 41-42).
Tests: net zero test functions (634). Prepare: hq .work/l3-final-prepare.md.
Reviewed-by: mesh-code-reviewer@shanks at 85ba0a9a70
Pushed-by: lead-47@shanks
One delivery group, branch feat/l3-final in mesh-sdk, mesh-delivery, mesh-catalog, mesh-tools and mesh-host: the final release of design 47's step L3 (issue 774, with 1367 and 1585). Records: ADR 0614 (accepted), ADR 0603, ADR 0601, ADR 0604.
This member:
- `catalogue.ManifestReads`, `ManifestNeeds`, `BaselineManifestReads`, `StatedManifestReads`, `MissingManifestReads` (ADR 0614 §4). The baseline is generated from f02f142, which the running node-engines are built with; a node-engine that states nothing reads it.
- `NodeRecord.ManifestReads` (`manifest-reads`) and `Module.Needs` (`needs`), additive at Version 1; `checkRule` accepts 1-10, and nothing writes 9 or 10.
- kept_until_delivered.go stays (rule bent, said to the operator): the check builds the running node-engine 798d73e against this SDK, and it still uses three of its names. It goes in the next release that changes mesh-sdk.
- Not in this release: ADR 0614 §4's check refusal of a node-engine manifest (D8). Nothing tells the node-engine's manifest apart without its name (issue 774 note 105). The assigner's hold covers it meanwhile.
quick vs thorough: thorough (the edge kinds in the module graph, per ADR 0614), chosen because the kind was met three times (issue 1585 notes 41-42).
Tests: net zero test functions (634). Prepare: hq .work/l3-final-prepare.md.
Reviewed-by: mesh-code-reviewer@shanks at 85ba0a9a70d80651a87c3d868dc1ba06b2ece16e
Pushed-by: lead-47@shanks
https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
A reader capability is a manifest word by its path of keys, a form (the config form, each reference form) or a seat
name of the contract's table. ManifestReads walks the decoder's fields; ManifestNeeds walks a manifest's raw JSON as
the lenient decoder does, naming only what the contract knows. The baseline is ManifestReads generated once from
mesh-sdk f02f142, the contract every running node-engine is built with: it lacks only tool-runner, core-credentials
and the bus-state words, as rows check.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
NodeRecord.ManifestReads (`manifest-reads`) and Module.Needs (`needs`) are additive at Version 1, read leniently by
every running part. checkRule takes 1 to 10 so a later release may number the verb wait and the capability hold;
nothing writes 9 or 10 in this one. kept_until_delivered.go stays: this release still builds beside mesh-host 798d73e,
and its head comment names the next mesh-sdk release as the one that removes it.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
Deliverynovox/mesh-sdk@85ba0a9a70d8 — merged since 2026-11-04T00:23:41Z
Source — source.main moved to novox/mesh-sdk@5a38a12216. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
composed together: pass — the checker's verdict at the members' heads (d6a3e805db4a)
Transitions
2026-11-03 22:50 (new) → proposed (announced): novox/mesh-sdk#166's head announced
2026-11-03 22:50 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-04 00:23 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-sdk@85ba0a9a70d8` — **merged** since 2026-11-04T00:23:41Z
**Source** — source.main moved to novox/mesh-sdk@5a38a1221659. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Group** `feat/l3-final`: novox/mesh-catalog@6c09be4a703e, novox/mesh-delivery@70ade15c36eb, novox/mesh-host@30b86ea602a8, novox/mesh-sdk@85ba0a9a70d8, novox/mesh-tools@7fd9d893c0a5
- composed together: pass — the checker's verdict at the members' heads (d6a3e805db4a)
**Transitions**
- 2026-11-03 22:50 (new) → proposed (announced): novox/mesh-sdk#166's head announced
- 2026-11-03 22:50 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-04 00:23 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: not merged. The merge of this pull request into main at 85ba0a9a70 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 85ba0a9a70d80651a87c3d868dc1ba06b2ece16e was declined: the operator, via telegram (user id verified), chose Decline. A new head asks the operator again.
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.
One delivery group, branch feat/l3-final in mesh-sdk, mesh-delivery, mesh-catalog, mesh-tools and mesh-host: the final release of design 47's step L3 (issue 774, with 1367 and 1585). Records: ADR 0614 (accepted), ADR 0603, ADR 0601, ADR 0604.
This member:
catalogue.ManifestReads,ManifestNeeds,BaselineManifestReads,StatedManifestReads,MissingManifestReads(ADR 0614 §4). The baseline is generated fromf02f142, which the running node-engines are built with; a node-engine that states nothing reads it.NodeRecord.ManifestReads(manifest-reads) andModule.Needs(needs), additive at Version 1;checkRuleaccepts 1-10, and nothing writes 9 or 10.quick vs thorough: thorough (the edge kinds in the module graph, per ADR 0614), chosen because the kind was met three times (issue 1585 notes 41-42).
Tests: net zero test functions (634). Prepare: hq .work/l3-final-prepare.md.
Reviewed-by: mesh-code-reviewer@shanks at
85ba0a9a70Pushed-by: lead-47@shanks
https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
Delivery
novox/mesh-sdk@85ba0a9a70d8— merged since 2026-11-04T00:23:41ZSource — source.main moved to novox/mesh-sdk@5a38a12216. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
feat/l3-final: novox/mesh-catalog@6c09be4a70, novox/mesh-delivery@70ade15c36, novox/mesh-host@30b86ea602, novox/mesh-sdk@85ba0a9a70, novox/mesh-tools@7fd9d893c0Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.mesh-delivery: not merged. The merge of this pull request into main at
85ba0a9a70was declined: the operator, via telegram (user id verified), chose Decline. A new head asks the operator again.