Blocking fault on ace (issue 774 notes 111-115). Since 01:27:49 local, every module with filled files on ace is held by the forge-account ssh_alias refusal (mesh-build-go, -image, -node, ssh-client). internal/compose/node.go named the node's provisioner account only beside filled files, so ace's own composition named none, and the node-engine refused every provisioner-client write (filling.go:236). #204's held-client fix covers a different case and stays.
The fix (8e325830): the envelope and Declared name the account whenever the declaration has one, filled files or not. Every reader accepts provisioner_account without filled_files (mesh-sdk 85ba0a9a checkProvisioner, read by the review). The node's own composition is judged "neither", so it applies without a yes. The refused writes were marked owed.noAccount, and the knock after the apply refills them.
One row in TestTheProvisionedMeshHandsAPlanWithItsProvision (filledHeld): a node whose every filled-file module is held still names its account. It fails without the change. Net zero test functions.
quick vs thorough: thorough here. The quick recovery, fixing the forge-account binding, is fix-1965@shanks's fix/handed-one-rule (issue 1966), which also ends the plan loop for postgres, restic and power.
Expect: one apply of the node's own composition on ace at the delivery, then the provisioner client refills.
Reviewed-by: mesh-code-reviewer@shanks at 8e32583089
Pushed-by: lead-47@shanks
Blocking fault on ace (issue 774 notes 111-115). Since 01:27:49 local, every module with filled files on ace is held by the forge-account ssh_alias refusal (mesh-build-go, -image, -node, ssh-client). internal/compose/node.go named the node's provisioner account only beside filled files, so ace's own composition named none, and the node-engine refused every provisioner-client write (filling.go:236). #204's held-client fix covers a different case and stays.
The fix (8e325830): the envelope and Declared name the account whenever the declaration has one, filled files or not. Every reader accepts provisioner_account without filled_files (mesh-sdk 85ba0a9a checkProvisioner, read by the review). The node's own composition is judged "neither", so it applies without a yes. The refused writes were marked owed.noAccount, and the knock after the apply refills them.
One row in TestTheProvisionedMeshHandsAPlanWithItsProvision (filledHeld): a node whose every filled-file module is held still names its account. It fails without the change. Net zero test functions.
quick vs thorough: thorough here. The quick recovery, fixing the forge-account binding, is fix-1965@shanks's fix/handed-one-rule (issue 1966), which also ends the plan loop for postgres, restic and power.
Expect: one apply of the node's own composition on ace at the delivery, then the provisioner client refills.
Reviewed-by: mesh-code-reviewer@shanks at 8e325830891c54b63e5fc0002c2d0d89220f3b43
Pushed-by: lead-47@shanks
https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
The declaration named the account only beside its filled files (node.go), so a node whose every filled-file module
was held this pass named none: on ace from 2026-11-04 01:29 its build modules and ssh-client were held for their
forge binding, and the node-engine refused every write of the files they keep, and of every other module's. The
account is the node's, named whenever the rendering has one. A row holds restic, the provisioned mesh's one
filled-file module, with the client placed: the node's own still names the account; it named none before.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
Deliverynovox/mesh-host@8e325830891c — ready since 2026-11-04T01:19:39Z
Transitions
2026-11-04 01:19 (new) → proposed (announced): novox/mesh-host#205's head announced
2026-11-04 01:19 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)
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@8e325830891c` — **ready** since 2026-11-04T01:19:39Z
**Transitions**
- 2026-11-04 01:19 (new) → proposed (announced): novox/mesh-host#205's head announced
- 2026-11-04 01:19 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)
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.
Blocking fault on ace (issue 774 notes 111-115). Since 01:27:49 local, every module with filled files on ace is held by the forge-account ssh_alias refusal (mesh-build-go, -image, -node, ssh-client). internal/compose/node.go named the node's provisioner account only beside filled files, so ace's own composition named none, and the node-engine refused every provisioner-client write (filling.go:236). #204's held-client fix covers a different case and stays.
The fix (
8e325830): the envelope and Declared name the account whenever the declaration has one, filled files or not. Every reader accepts provisioner_account without filled_files (mesh-sdk 85ba0a9a checkProvisioner, read by the review). The node's own composition is judged "neither", so it applies without a yes. The refused writes were marked owed.noAccount, and the knock after the apply refills them.One row in TestTheProvisionedMeshHandsAPlanWithItsProvision (filledHeld): a node whose every filled-file module is held still names its account. It fails without the change. Net zero test functions.
quick vs thorough: thorough here. The quick recovery, fixing the forge-account binding, is fix-1965@shanks's fix/handed-one-rule (issue 1966), which also ends the plan loop for postgres, restic and power.
Expect: one apply of the node's own composition on ace at the delivery, then the provisioner client refills.
Reviewed-by: mesh-code-reviewer@shanks at
8e32583089Pushed-by: lead-47@shanks
https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
Delivery
novox/mesh-host@8e325830891c— ready since 2026-11-04T01:19:39ZTransitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.