The clipboard keeps its history running and keeps it to itself (hq issues 743, 750) #320

Merged
mesh-tools merged 2 commits from fix/743-750-the-clipboard-keeps-history-and-keeps-it-to-itself into main 2026-10-15 21:02:05 +00:00
Member

Fixes hq issues 743 and 750 together (playbook 08, related issues in one fix: switching the history on before the history tool stops handing out content would make 750 worse).

743, the history daemon and the copy.

  • modules/clipmenu declares clipmenud.service as a user unit of the operator's account, enabled and running, so $mod+. shows history again; the xinitrc start is removed.
  • A drop-in starts it through a launcher that waits quietly until the display exists, reading DISPLAY and XAUTHORITY from the user manager (systemctl --user show-environment) on every pass, with the text-only xsel first on PATH; StartLimitIntervalSec=0 and RestartSec=2s, so it never gives up before X is up.
  • copy reads the clipboard back and fails with the reason (xsel's message, the transient unit's journal) instead of reporting success; it never echoes the copied text.

750, nothing hands out what was copied.

  • history returns only times, sizes, the count and whether the daemon collects; clipmenu_paste returns only the byte count; clipmenu_delete takes only place together with the entry's at and refuses when they no longer match.

README: a re-login is needed after delivery (the running session's own clipmenud holds the lock until then).

Tests: history has no content; copy fails on a read-back mismatch or a missing display; the manifest declares the unit, drop-in and launcher; the real launcher uses DISPLAY at once and waits with no or several sockets until the display arrives; delete refuses a stale place. go vet, go test (-race), MESH_CHECK_MODULES=clipmenu merge-check.sh pass.

Reviewed independently before push, three rounds: APPROVE at 2353350d79. Its two small follow-ups are issue 857.

Fixes hq issues 743 and 750 together (playbook 08, related issues in one fix: switching the history on before the history tool stops handing out content would make 750 worse). **743, the history daemon and the copy.** - modules/clipmenu declares `clipmenud.service` as a user unit of the operator's account, enabled and running, so `$mod+.` shows history again; the xinitrc start is removed. - A drop-in starts it through a launcher that waits quietly until the display exists, reading DISPLAY and XAUTHORITY from the user manager (`systemctl --user show-environment`) on every pass, with the text-only xsel first on PATH; StartLimitIntervalSec=0 and RestartSec=2s, so it never gives up before X is up. - `copy` reads the clipboard back and fails with the reason (xsel's message, the transient unit's journal) instead of reporting success; it never echoes the copied text. **750, nothing hands out what was copied.** - `history` returns only times, sizes, the count and whether the daemon collects; `clipmenu_paste` returns only the byte count; `clipmenu_delete` takes only `place` together with the entry's `at` and refuses when they no longer match. README: a re-login is needed after delivery (the running session's own clipmenud holds the lock until then). Tests: history has no content; copy fails on a read-back mismatch or a missing display; the manifest declares the unit, drop-in and launcher; the real launcher uses DISPLAY at once and waits with no or several sockets until the display arrives; delete refuses a stale place. go vet, go test (-race), MESH_CHECK_MODULES=clipmenu merge-check.sh pass. Reviewed independently before push, three rounds: APPROVE at 2353350d79f14cd51e993ea2f1eec0fdd8c4f0bf. Its two small follow-ups are issue 857.
mesh-tools added 1 commit 2026-10-15 20:44:59 +00:00
The clipboard keeps its history running and keeps it to itself (hq issues 743, 750)
mesh/merge-gate out of date: judged against trunk aee97bf8ad42, the trunk is now 7443938fef69; judged again on a recheck or when it is merged
mesh/repo-check out of date: judged against trunk aee97bf8ad42, the trunk is now 7443938fef69; judged again on a recheck or when it is merged
mesh/delivery superseded: a newer head of the same pull request
2353350d79
clipmenud is declared as the operator's user unit, enabled and running, with a launcher that finds the display. Copy reads the clipboard back and fails with the reason. History and paste answer counts, times and lengths, never content.
Author
Member

Delivery novox/mesh-catalog@c070bea782aa — delivered since 2026-10-15T21:04:01Z

Delivery plan — builds clipmenu → g14, shanks; no bus step

  • tier 0: clipmenu
  • g14: receives clipmenu
  • shanks: receives clipmenu
  • grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before clipmenu is judged on its first machine

Machines

  • clipmenu on every machine running it: sent

Transitions

  • 2026-10-15 20:59 (new) → proposed (announced): novox/mesh-catalog#320's head announced
  • 2026-10-15 21:01 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-15 21:01 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-15 21:02 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-15 21:02 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
  • 2026-10-15 21:04 delivering → delivered (done): its walk is done, carrying its own commit: every machine of its deploy plan passed, or was left as its policy says

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-catalog@c070bea782aa` — **delivered** since 2026-10-15T21:04:01Z **Delivery plan** — builds clipmenu → g14, shanks; no bus step - tier 0: clipmenu - g14: receives clipmenu - shanks: receives clipmenu - grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before clipmenu is judged on its first machine **Machines** - clipmenu on every machine running it: sent **Transitions** - 2026-10-15 20:59 (new) → proposed (announced): novox/mesh-catalog#320's head announced - 2026-10-15 21:01 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-15 21:01 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-15 21:02 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-15 21:02 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit - 2026-10-15 21:04 delivering → delivered (done): its walk is done, carrying its own commit: every machine of its deploy plan passed, or was left as its policy says The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
mesh-tools added the mesh/ready label 2026-10-15 20:45:51 +00:00
Author
Member

ready at 2353350d79 (the operator's word, 2026-10-15; independent review APPROVE at this sha, round 3).

ready at 2353350d79f14cd51e993ea2f1eec0fdd8c4f0bf (the operator's word, 2026-10-15; independent review APPROVE at this sha, round 3).
Author
Member

Merge check at 2353350d
Judged: head 2353350d79f1 merged into trunk de6657c846b9; read beside it: mesh-controller 7543f64911c5, mesh-controller-main 7543f64911c5, mesh-host 198fd34ec497, mesh-tools 6b3e15042fee

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: clipmenu)
  • mesh/repo-check: FAIL — its merge-check.sh failed: the long-running resources without health rose from 62 to 63: declare how each new one is ready (ADR 0240 rule 8)

Delivery plan — builds clipmenu → g14, shanks; no bus step

  • tier 0: clipmenu
  • g14: receives clipmenu
  • shanks: receives clipmenu
  • grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before clipmenu is judged on its first machine

Run by the build seat on novox as build-1792097101717698111 (builds --log build-1792097101717698111).

--- the gate: clipmenu
clipmenu: ok, 3 tool(s); WARNING: daemon stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8)
long-running resources without health: 1
files asking for a setting without saying whether it is trusted: 0
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-15T20:37:28Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-15T20:37:28Z

modules the change moves:
  - clipmenu (changed)

machines:
  - a machine (f35): composes; the change adds 5 resource(s) and removes 0 (+directory:clipmenu.daemon-dropins, +directory:clipmenu.user-units-dir, +file:clipmenu.daemon-dropin, +file:clipmenu.launcher, +service:clipmenu.daemon)
  - holds mesh-dns-resolver (idt): composes
  - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes; the change adds 5 resource(s) and removes 0 (+directory:clipmenu.daemon-dropins, +directory:clipmenu.user-units-dir, +file:clipmenu.daemon-dropin, +file:clipmenu.launcher, +service:clipmenu.daemon)

a merge would rebuild 1 module(s) in 1 tier(s): clipmenu
--- its merge-check.sh (go toolchain)
ok  	git.novox.be/novox/mesh-catalog/checks/words	0.003s
words: 12 retired words and 70 daemons' lines, none in the 48745 strings of 746 files
ok  	git.novox.be/novox/mesh-catalog/checks/agenthome	0.015s
agent-home: no archive and no file written into under the agent's home
ok  	git.novox.be/novox/mesh-catalog/checks/mailstore	0.013s
mail-store: claimed only by mesh-mail
ok  	git.novox.be/novox/mesh-catalog/checks/secrets	0.020s
secrets: no setting can replace a vault secret in a mergeable file (1 known, nested)
ok  	git.novox.be/novox/mesh-catalog/checks/paths	0.006s
paths: no module names another's state on its machine (3 known, listed to go)
the long-running resources without health rose from 62 to 63: declare how each new one is ready (ADR 0240 rule 8)

Out of date when it landed: out of date: judged against trunk de6657c846, the trunk is now aee97bf8ad42; judged again on a recheck or when it is merged

**Merge check** at `2353350d` Judged: head `2353350d79f1` merged into trunk `de6657c846b9`; read beside it: mesh-controller `7543f64911c5`, mesh-controller-main `7543f64911c5`, mesh-host `198fd34ec497`, mesh-tools `6b3e15042fee` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: clipmenu) - `mesh/repo-check`: **FAIL** — its merge-check.sh failed: the long-running resources without health rose from 62 to 63: declare how each new one is ready (ADR 0240 rule 8) **Delivery plan** — builds clipmenu → g14, shanks; no bus step - tier 0: clipmenu - g14: receives clipmenu - shanks: receives clipmenu - grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before clipmenu is judged on its first machine Run by the build seat on novox as `build-1792097101717698111` (`builds --log build-1792097101717698111`). ``` --- the gate: clipmenu clipmenu: ok, 3 tool(s); WARNING: daemon stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8) long-running resources without health: 1 files asking for a setting without saying whether it is trusted: 0 1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-15T20:37:28Z says they run composing every machine as the mesh is the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued composing every machine with the change the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose) judged by controller development build against the facts of 2026-10-15T20:37:28Z modules the change moves: - clipmenu (changed) machines: - a machine (f35): composes; the change adds 5 resource(s) and removes 0 (+directory:clipmenu.daemon-dropins, +directory:clipmenu.user-units-dir, +file:clipmenu.daemon-dropin, +file:clipmenu.launcher, +service:clipmenu.daemon) - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes; the change adds 5 resource(s) and removes 0 (+directory:clipmenu.daemon-dropins, +directory:clipmenu.user-units-dir, +file:clipmenu.daemon-dropin, +file:clipmenu.launcher, +service:clipmenu.daemon) a merge would rebuild 1 module(s) in 1 tier(s): clipmenu --- its merge-check.sh (go toolchain) ok git.novox.be/novox/mesh-catalog/checks/words 0.003s words: 12 retired words and 70 daemons' lines, none in the 48745 strings of 746 files ok git.novox.be/novox/mesh-catalog/checks/agenthome 0.015s agent-home: no archive and no file written into under the agent's home ok git.novox.be/novox/mesh-catalog/checks/mailstore 0.013s mail-store: claimed only by mesh-mail ok git.novox.be/novox/mesh-catalog/checks/secrets 0.020s secrets: no setting can replace a vault secret in a mergeable file (1 known, nested) ok git.novox.be/novox/mesh-catalog/checks/paths 0.006s paths: no module names another's state on its machine (3 known, listed to go) the long-running resources without health rose from 62 to 63: declare how each new one is ready (ADR 0240 rule 8) ``` **Out of date when it landed**: out of date: judged against trunk de6657c846b9, the trunk is now aee97bf8ad42; judged again on a recheck or when it is merged
Author
Member

Merge check at 2353350d
Judged: head 2353350d79f1 merged into trunk aee97bf8ad42; read beside it: mesh-controller 7543f64911c5, mesh-controller-main 7543f64911c5, mesh-host 198fd34ec497, mesh-tools 6b3e15042fee

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: clipmenu)
  • mesh/repo-check: FAIL — its merge-check.sh failed: the long-running resources without health rose from 62 to 63: declare how each new one is ready (ADR 0240 rule 8)

Delivery plan — builds clipmenu → g14, shanks; no bus step

  • tier 0: clipmenu
  • g14: receives clipmenu
  • shanks: receives clipmenu
  • grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before clipmenu is judged on its first machine

Run by the build seat on ace as build-1792097282341360968 (builds --log build-1792097282341360968).

--- the gate: clipmenu
clipmenu: ok, 3 tool(s); WARNING: daemon stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8)
long-running resources without health: 1
files asking for a setting without saying whether it is trusted: 0
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-15T20:47:28Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-15T20:47:28Z

modules the change moves:
  - clipmenu (changed)

machines:
  - a machine (f35): composes; the change adds 5 resource(s) and removes 0 (+directory:clipmenu.daemon-dropins, +directory:clipmenu.user-units-dir, +file:clipmenu.daemon-dropin, +file:clipmenu.launcher, +service:clipmenu.daemon)
  - holds mesh-dns-resolver (idt): composes
  - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes; the change adds 5 resource(s) and removes 0 (+directory:clipmenu.daemon-dropins, +directory:clipmenu.user-units-dir, +file:clipmenu.daemon-dropin, +file:clipmenu.launcher, +service:clipmenu.daemon)

a merge would rebuild 1 module(s) in 1 tier(s): clipmenu
--- its merge-check.sh (go toolchain)
ok  	git.novox.be/novox/mesh-catalog/checks/words	0.005s
words: 12 retired words and 70 daemons' lines, none in the 48745 strings of 746 files
ok  	git.novox.be/novox/mesh-catalog/checks/agenthome	0.012s
agent-home: no archive and no file written into under the agent's home
ok  	git.novox.be/novox/mesh-catalog/checks/mailstore	0.008s
mail-store: claimed only by mesh-mail
ok  	git.novox.be/novox/mesh-catalog/checks/secrets	0.011s
secrets: no setting can replace a vault secret in a mergeable file (1 known, nested)
ok  	git.novox.be/novox/mesh-catalog/checks/paths	0.005s
paths: no module names another's state on its machine (3 known, listed to go)
the long-running resources without health rose from 62 to 63: declare how each new one is ready (ADR 0240 rule 8)
**Merge check** at `2353350d` Judged: head `2353350d79f1` merged into trunk `aee97bf8ad42`; read beside it: mesh-controller `7543f64911c5`, mesh-controller-main `7543f64911c5`, mesh-host `198fd34ec497`, mesh-tools `6b3e15042fee` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: clipmenu) - `mesh/repo-check`: **FAIL** — its merge-check.sh failed: the long-running resources without health rose from 62 to 63: declare how each new one is ready (ADR 0240 rule 8) **Delivery plan** — builds clipmenu → g14, shanks; no bus step - tier 0: clipmenu - g14: receives clipmenu - shanks: receives clipmenu - grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before clipmenu is judged on its first machine Run by the build seat on ace as `build-1792097282341360968` (`builds --log build-1792097282341360968`). ``` --- the gate: clipmenu clipmenu: ok, 3 tool(s); WARNING: daemon stay(s) up and say(s) not how it is ready — judged by liveness alone, refused from 2026-11-18 (ADR 0240 rule 8) long-running resources without health: 1 files asking for a setting without saying whether it is trusted: 0 1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-15T20:47:28Z says they run composing every machine as the mesh is the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued composing every machine with the change the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose) judged by controller development build against the facts of 2026-10-15T20:47:28Z modules the change moves: - clipmenu (changed) machines: - a machine (f35): composes; the change adds 5 resource(s) and removes 0 (+directory:clipmenu.daemon-dropins, +directory:clipmenu.user-units-dir, +file:clipmenu.daemon-dropin, +file:clipmenu.launcher, +service:clipmenu.daemon) - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes; the change adds 5 resource(s) and removes 0 (+directory:clipmenu.daemon-dropins, +directory:clipmenu.user-units-dir, +file:clipmenu.daemon-dropin, +file:clipmenu.launcher, +service:clipmenu.daemon) a merge would rebuild 1 module(s) in 1 tier(s): clipmenu --- its merge-check.sh (go toolchain) ok git.novox.be/novox/mesh-catalog/checks/words 0.005s words: 12 retired words and 70 daemons' lines, none in the 48745 strings of 746 files ok git.novox.be/novox/mesh-catalog/checks/agenthome 0.012s agent-home: no archive and no file written into under the agent's home ok git.novox.be/novox/mesh-catalog/checks/mailstore 0.008s mail-store: claimed only by mesh-mail ok git.novox.be/novox/mesh-catalog/checks/secrets 0.011s secrets: no setting can replace a vault secret in a mergeable file (1 known, nested) ok git.novox.be/novox/mesh-catalog/checks/paths 0.005s paths: no module names another's state on its machine (3 known, listed to go) the long-running resources without health rose from 62 to 63: declare how each new one is ready (ADR 0240 rule 8) ```
Author
Member

mesh-delivery: not merged. This pull request is marked ready at 2353350d79, and its check failed: every machine composes with the change as it did without (4 of 4 compose) (head 2353350d79 merged into trunk aee97bf8ad). A new head, marked ready once reviewed, or a recheck that passes, merges it.

mesh-delivery: **not merged.** This pull request is marked ready at 2353350d79f14cd51e993ea2f1eec0fdd8c4f0bf, and its check failed: every machine composes with the change as it did without (4 of 4 compose) (head 2353350d79f1 merged into trunk aee97bf8ad42). A new head, marked ready once reviewed, or a recheck that passes, merges it.
jschoubben added 1 commit 2026-10-15 20:59:31 +00:00
Declare how the clipboard daemon is ready, so the count of resources without health stays at 62 (ADR 0240 rule 8, issues 743, 750)
mesh/merge-gate head c070bea782aa merged into trunk 7443938fef69 — pass: builds clipmenu → g14, shanks; no bus step; every machine composes with the change…
mesh/repo-check head c070bea782aa merged into trunk 7443938fef69 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-…
mesh/delivery delivered
c070bea782
mesh-tools removed the mesh/ready label 2026-10-15 21:00:25 +00:00
Author
Member

mesh-delivery: the ready mark at is cleared: the head is now c070bea782, pushed after it. Mark the new head ready once it is reviewed.

mesh-delivery: the ready mark at is cleared: the head is now c070bea782aa725be4b25963d144d57122dfb5b5, pushed after it. Mark the new head ready once it is reviewed.
Author
Member

Merge check at c070bea7
Judged: head c070bea782aa merged into trunk 7443938fef69; read beside it: mesh-controller 7543f64911c5, mesh-controller-main 7543f64911c5, mesh-host 198fd34ec497, mesh-tools 6b3e15042fee

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: clipmenu)
  • mesh/repo-check: PASS — its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)

Delivery plan — builds clipmenu → g14, shanks; no bus step

  • tier 0: clipmenu
  • g14: receives clipmenu
  • shanks: receives clipmenu
  • grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before clipmenu is judged on its first machine

Run by the build seat on ace as build-1792097973961248379 (builds --log build-1792097973961248379).

--- the gate: clipmenu
clipmenu: ok, 3 tool(s), ready: daemon by unit every 30s
long-running resources without health: 0
files asking for a setting without saying whether it is trusted: 0
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-15T20:57:28Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-15T20:57:28Z

modules the change moves:
  - clipmenu (changed)

machines:
  - a machine (f35): composes; the change adds 5 resource(s) and removes 0 (+directory:clipmenu.daemon-dropins, +directory:clipmenu.user-units-dir, +file:clipmenu.daemon-dropin, +file:clipmenu.launcher, +service:clipmenu.daemon)
  - holds mesh-dns-resolver (idt): composes
  - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes; the change adds 5 resource(s) and removes 0 (+directory:clipmenu.daemon-dropins, +directory:clipmenu.user-units-dir, +file:clipmenu.daemon-dropin, +file:clipmenu.launcher, +service:clipmenu.daemon)

a merge would rebuild 1 module(s) in 1 tier(s): clipmenu
--- its merge-check.sh (go toolchain)
ok  	git.novox.be/novox/mesh-catalog/checks/words	0.003s
words: 12 retired words and 70 daemons' lines, none in the 48782 strings of 747 files
ok  	git.novox.be/novox/mesh-catalog/checks/agenthome	0.012s
agent-home: no archive and no file written into under the agent's home
ok  	git.novox.be/novox/mesh-catalog/checks/mailstore	0.009s
mail-store: claimed only by mesh-mail
ok  	git.novox.be/novox/mesh-catalog/checks/secrets	0.011s
secrets: no setting can replace a vault secret in a mergeable file (1 known, nested)
ok  	git.novox.be/novox/mesh-catalog/checks/paths	0.007s
paths: no module names another's state on its machine (3 known, listed to go)
long-running resources without health: 62, as kept
ok  	git.novox.be/novox/mesh-catalog/checks/deps	0.211s
testing modules/clipmenu
ok  	clipmenu/cmd/clipmenu-tools	9.282s
--- its merge-check-typescript.sh (typescript toolchain)
**Merge check** at `c070bea7` Judged: head `c070bea782aa` merged into trunk `7443938fef69`; read beside it: mesh-controller `7543f64911c5`, mesh-controller-main `7543f64911c5`, mesh-host `198fd34ec497`, mesh-tools `6b3e15042fee` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: clipmenu) - `mesh/repo-check`: **PASS** — its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript) **Delivery plan** — builds clipmenu → g14, shanks; no bus step - tier 0: clipmenu - g14: receives clipmenu - shanks: receives clipmenu - grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before clipmenu is judged on its first machine Run by the build seat on ace as `build-1792097973961248379` (`builds --log build-1792097973961248379`). ``` --- the gate: clipmenu clipmenu: ok, 3 tool(s), ready: daemon by unit every 30s long-running resources without health: 0 files asking for a setting without saying whether it is trusted: 0 1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-15T20:57:28Z says they run composing every machine as the mesh is the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued composing every machine with the change the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose) judged by controller development build against the facts of 2026-10-15T20:57:28Z modules the change moves: - clipmenu (changed) machines: - a machine (f35): composes; the change adds 5 resource(s) and removes 0 (+directory:clipmenu.daemon-dropins, +directory:clipmenu.user-units-dir, +file:clipmenu.daemon-dropin, +file:clipmenu.launcher, +service:clipmenu.daemon) - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes; the change adds 5 resource(s) and removes 0 (+directory:clipmenu.daemon-dropins, +directory:clipmenu.user-units-dir, +file:clipmenu.daemon-dropin, +file:clipmenu.launcher, +service:clipmenu.daemon) a merge would rebuild 1 module(s) in 1 tier(s): clipmenu --- its merge-check.sh (go toolchain) ok git.novox.be/novox/mesh-catalog/checks/words 0.003s words: 12 retired words and 70 daemons' lines, none in the 48782 strings of 747 files ok git.novox.be/novox/mesh-catalog/checks/agenthome 0.012s agent-home: no archive and no file written into under the agent's home ok git.novox.be/novox/mesh-catalog/checks/mailstore 0.009s mail-store: claimed only by mesh-mail ok git.novox.be/novox/mesh-catalog/checks/secrets 0.011s secrets: no setting can replace a vault secret in a mergeable file (1 known, nested) ok git.novox.be/novox/mesh-catalog/checks/paths 0.007s paths: no module names another's state on its machine (3 known, listed to go) long-running resources without health: 62, as kept ok git.novox.be/novox/mesh-catalog/checks/deps 0.211s testing modules/clipmenu ok clipmenu/cmd/clipmenu-tools 9.282s --- its merge-check-typescript.sh (typescript toolchain) ```
mesh-tools merged commit c9848f4fb8 into main 2026-10-15 21:02:05 +00:00
mesh-tools deleted branch fix/743-750-the-clipboard-keeps-history-and-keeps-it-to-itself 2026-10-15 21:02:05 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#320