diff --git a/.claude/skills/glaeda-runner-change/SKILL.md b/.claude/skills/glaeda-runner-change/SKILL.md index 2b9625438..4be83b518 100644 --- a/.claude/skills/glaeda-runner-change/SKILL.md +++ b/.claude/skills/glaeda-runner-change/SKILL.md @@ -53,10 +53,13 @@ skip Verify; say so in the PR. ```bash scripts/glaeda-cmux-runner-fleet # plan: eligible members and runner counts -scripts/glaeda-cmux-runner-fleet --apply --hosts ONE # canary one member first -scripts/glaeda-cmux-runner-fleet --apply # then the rest +scripts/glaeda-cmux-runner-fleet --apply --org manaflow-ai --group glaeda-minis --hosts ONE # canary first +scripts/glaeda-cmux-runner-fleet --apply --org manaflow-ai --group glaeda-minis # then the rest ``` +The runners are org-scoped. An apply without `--org` refuses every instance ("already has a runner install") +and changes nothing. Run it from a worktree at `origin/main`, not the shared base checkout. + job-started.sh runs the hook file fresh for every job, so a staged hook takes effect for the next job without a restart. After the canary, run a job there and check the new behavior on the host (for telemetry: `ssh MEMBER 'tail -n 1 ~/Library/Logs/glaeda-cmux-jobs.jsonl'`), then `scripts/glaeda-fleet-status --host MEMBER`. diff --git a/docs/CMUX_MINI_RUNNER.md b/docs/CMUX_MINI_RUNNER.md index b631b114c..e3cd518da 100644 --- a/docs/CMUX_MINI_RUNNER.md +++ b/docs/CMUX_MINI_RUNNER.md @@ -306,8 +306,13 @@ one command brings the whole fleet to the manifest, every member and every insta at once: scripts/glaeda-cmux-runner-fleet # plan: the gate on every member, read-only - scripts/glaeda-cmux-runner-fleet --apply # stage scripts + trimmed manifest, apply every instance - scripts/glaeda-cmux-runner-fleet --apply --hosts cmux12s-mac-mini + scripts/glaeda-cmux-runner-fleet --apply --org manaflow-ai --group glaeda-minis --hosts cmux12s-mac-mini + scripts/glaeda-cmux-runner-fleet --apply --org manaflow-ai --group glaeda-minis # every instance + +The fleet is registered at org scope (section 2e2), so an apply names that scope. Without +`--org`, the apply asks for the repository scope, finds each runner's org-scope receipt, and refuses +every instance ("this Mac already has a runner install ... on manaflow-ai") before changing +anything. It runs each member's job-started gate read-only first and skips members that are not eligible yet, so a mini joins the pools on the first run after it is onboarded.