Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .claude/skills/glaeda-runner-change/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`.
Expand Down
9 changes: 7 additions & 2 deletions docs/CMUX_MINI_RUNNER.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down