The pacman module's config file moves before its package in the same group (mesh-catalog Z0, A-26), so the stop does not keep a node from restoring its package manager. Unit test count 1751 → 1750 (A-22). Quick or thorough: thorough — the stop holds for every module, as §1 says.
Reviewed-by: mesh-code-reviewer of fix-1977@ace at 96a8690639
Issue 1979, design 42 milestone zfs-owns-zfs (§1-§5; lead answers A-15, A-21, A-22, A-24, A-26). Delivery group feature/1979-zfs-owns-zfs with mesh-sdk, mesh-tools, mesh-delivery and mesh-catalog.
- H1 fb492da7: a failed resource of a module gates the rest of that module; the report names each left (§1).
- H2 039415cd: a resource under `if-config` is declared only while its value holds (§2).
- H2b 86048f0e: a unit's found state passes to the record still declaring it (A-21).
- H3/H3b 61c42f9f: `${config-lines:key:prefix[:mib-bytes]}` and `${config-json}` (§3, A-15).
- H4 61806a7a: the node-engine states the three new reads (§4).
- H5 225f2abb: the one integration test extended (§5; 9 stay 9).
- 7868c9f3, 96a86906: config-json writes only declared keys; mib-bytes whole numbers (review round 1).
The pacman module's config file moves before its package in the same group (mesh-catalog Z0, A-26), so the stop does not keep a node from restoring its package manager. Unit test count 1751 → 1750 (A-22). Quick or thorough: thorough — the stop holds for every module, as §1 says.
Reviewed-by: mesh-code-reviewer of fix-1977@ace at 96a8690639774575de3c61c211d79ad06d77c5b4
A failed resource of a module gates the rest of that module, which is reported
skipped with the failed resource named; the module's result names each one left.
A resource of no module, and other modules, go on as before. One table test
replaces two in apply_test.go; two fixtures adapted to the rule.
Builds: design 42 zfs-owns-zfs §1 (ADR 0679 §16 (a)), A-22
The composer leaves out each resource whose `if-config` holds none of its
conditions against the module's config values (with defaults), and drops the key
from the rest, as the node-engine parses strictly. A resource that leaves is
removed by the existing orphan removal. One table test replaces the two tests of
setting_into_test.go.
Builds: design 42 zfs-owns-zfs §2, A-21 (declaration side), A-22
When one record of a unit goes while another still declares it, what the going
record found of the unit is kept for the staying one when that has no finding of
its own, so the module's leave gives back the state found before the mesh. The
preview test and the new case are one test (A-22).
Builds: design 42 zfs-owns-zfs §2, answers A-21, A-22
`${config-lines:<key>:<prefix>[:mib-bytes]}` in a file's content writes one line
per entry (nothing for an unset value or empty list; a newline in an entry
refuses the composition); `${config-json}` writes the module's set config values
as one JSON object. Both join the sweep's table of fillers. Their rows join the
config table test (A-22).
Builds: design 42 zfs-owns-zfs §3, §9; answers A-15, A-24, A-22
The node record's reads come from mesh-sdk's ManifestReads, so building with S1
and S2 states word:resources.if-config, form:config-lines and form:config-json;
the record test now asserts them.
Builds: design 42 zfs-owns-zfs §4, answer A-13
The existing node-engine integration test's module gains a file under if-config,
a template with config-lines from a list, and two files that fail and are left
under a value; the test asserts the file appears and goes with its value, the
lines follow the list, and the failing resource fails the module with the later
resource left. No integration test is added.
Builds: design 42 zfs-owns-zfs §5 (and §1 to §3), A-22
A key a layer holds that the manifest does not declare (scrub-pool during a rename) is not a config value of the module.
Builds: design 42 zfs-owns-zfs §9, A-15, A-24, A-25
mesh/check being carried to 96a869063977 on f8acfaeed79d | from 0193949efe9f, mesh-catalog 117f933dacf0, mesh-delivery 7221a1e5cd7f, mesh-sdk e42b9491…
Deliverynovox/mesh-host@96a869063977 — merged since 2026-11-13T08:00:45Z
Source — source.main moved to novox/mesh-host@f8acfaeed7. 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 (13bf070ecb87)
Transitions
2026-11-13 01:07 (new) → proposed (announced): novox/mesh-host#227's head announced
2026-11-13 01:07 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-13 08:00 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-host@96a869063977` — **merged** since 2026-11-13T08:00:45Z
**Source** — source.main moved to novox/mesh-host@f8acfaeed79d. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Group** `feature/1979-zfs-owns-zfs`: novox/mesh-catalog@0041b69d1736, novox/mesh-delivery@ad7e58091801, novox/mesh-host@96a869063977, novox/mesh-sdk@2895a21e69cd, novox/mesh-tools@df2162e381f5
- composed together: pass — the checker's verdict at the members' heads (13bf070ecb87)
**Transitions**
- 2026-11-13 01:07 (new) → proposed (announced): novox/mesh-host#227's head announced
- 2026-11-13 01:07 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-13 08:00 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: 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.
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 1979, design 42 milestone zfs-owns-zfs (§1-§5; lead answers A-15, A-21, A-22, A-24, A-26). Delivery group feature/1979-zfs-owns-zfs with mesh-sdk, mesh-tools, mesh-delivery and mesh-catalog.
fb492da7: a failed resource of a module gates the rest of that module; the report names each left (§1).039415cd: a resource underif-configis declared only while its value holds (§2).86048f0e: a unit's found state passes to the record still declaring it (A-21).61c42f9f:${config-lines:key:prefix[:mib-bytes]}and${config-json}(§3, A-15).61806a7a: the node-engine states the three new reads (§4).225f2abb: the one integration test extended (§5; 9 stay 9).7868c9f3,96a86906: config-json writes only declared keys; mib-bytes whole numbers (review round 1).The pacman module's config file moves before its package in the same group (mesh-catalog Z0, A-26), so the stop does not keep a node from restoring its package manager. Unit test count 1751 → 1750 (A-22). Quick or thorough: thorough — the stop holds for every module, as §1 says.
Reviewed-by: mesh-code-reviewer of fix-1977@ace at
96a8690639`${config-lines:<key>:<prefix>[:mib-bytes]}` in a file's content writes one line per entry (nothing for an unset value or empty list; a newline in an entry refuses the composition); `${config-json}` writes the module's set config values as one JSON object. Both join the sweep's table of fillers. Their rows join the config table test (A-22). Builds: design 42 zfs-owns-zfs §3, §9; answers A-15, A-24, A-22Delivery
novox/mesh-host@96a869063977— merged since 2026-11-13T08:00:45ZSource — source.main moved to novox/mesh-host@f8acfaeed7. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
feature/1979-zfs-owns-zfs: novox/mesh-catalog@0041b69d17, novox/mesh-delivery@ad7e580918, novox/mesh-host@96a8690639, novox/mesh-sdk@2895a21e69, novox/mesh-tools@df2162e381Transitions
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: 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.