The node-engine owns the composition it alone runs (H1, H2)

ADR 0593 §1 and §7: compose, its bus reader and runtime reader, takein,
validate, the overlay generator, the composer's run and mesh-compose, and
the judgement of a move leave mesh-sdk for the node-engine's internal
packages, so no other module composes and a change to them rebuilds only
the node-engine. The shapes others read (the composer's request and
verdict, the overlay's names, compositions and answers) stay in mesh-sdk.
The node's grant is now a golden file of what the grants part composes,
since the composer of the bus's user list leaves mesh-sdk too.

Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
This commit is contained in:
2026-11-02 18:24:05 +01:00
parent 98fbc490a4
commit 9a12f2851f
218 changed files with 33022 additions and 54 deletions
@@ -0,0 +1,124 @@
{
"module": "rofi",
"version": "1",
"moved": true,
"capabilities": [
"package-manager"
],
"requires": [
"x11-display"
],
"claims": [
{
"name": "node-launcher",
"scope": "node",
"serves": [
"menu",
"secret"
]
}
],
"tools": [
"rofi_applications",
"rofi_themes",
"rofi_run"
],
"resources": [
{
"id": "package",
"type": "package",
"package": "rofi"
},
{
"id": "configuration-dir",
"type": "directory",
"path": "${machine:account-home}/.config/rofi",
"owner": "${machine:account}",
"mode": "0755",
"unknown": "move-out"
},
{
"id": "themes-dir",
"type": "directory",
"path": "${machine:account-home}/.config/rofi/themes",
"owner": "${machine:account}",
"mode": "0755",
"unknown": "move-out"
},
{
"id": "configuration",
"type": "file",
"path": "${machine:account-home}/.config/rofi/config.rasi",
"owner": "${machine:account}",
"mode": "0644",
"template": "files/config.rasi"
},
{
"id": "theme",
"type": "file",
"path": "${machine:account-home}/.config/rofi/themes/mesh.rasi",
"owner": "${machine:account}",
"mode": "0644",
"template": "files/themes/mesh.rasi"
},
{
"id": "theme-powermenu",
"type": "file",
"path": "${machine:account-home}/.config/rofi/themes/mesh-powermenu.rasi",
"owner": "${machine:account}",
"mode": "0644",
"template": "files/themes/mesh-powermenu.rasi"
},
{
"id": "dmenu",
"type": "file",
"path": "${machine:account-home}/.local/bin/dmenu",
"owner": "${machine:account}",
"mode": "0755",
"template": "files/bin/dmenu"
},
{
"id": "launch",
"type": "file",
"path": "${machine:account-home}/.local/bin/rofi-launch",
"owner": "${machine:account}",
"mode": "0755",
"template": "files/bin/rofi-launch"
},
{
"id": "powermenu",
"type": "file",
"path": "${machine:account-home}/.local/bin/rofi-powermenu",
"owner": "${machine:account}",
"mode": "0755",
"template": "files/bin/rofi-powermenu"
}
],
"build": {
"artifacts": [
{
"name": "tools",
"kind": "bundle",
"language": "go",
"system": "arch",
"from": "cmd/rofi-tools",
"binary": "rofi-tools",
"loads": [
"rofi-tools"
]
},
{
"name": "files",
"kind": "archive",
"from": "files"
}
]
},
"items": [
{
"collection": "contribution:node-display-session:config",
"name": "display-session",
"template": "files/i3/50-rofi.conf"
}
]
}