Skip to content

skills: canonical cluster names - #169

Merged
DJRHails merged 1 commit into
mainfrom
feat/cluster-names
Sep 13, 2026
Merged

DJRHails merged 1 commit into
mainfrom
feat/cluster-names

Conversation

@DJRHails

Copy link
Copy Markdown
Owner

Normalises the two Fellows-compute clusters onto their canonical names across the
skill and tooling that people and agents read going forward. Presentational and
additive — nothing changes which machine anything reaches.

What changed

  • Cluster skill — the two-cluster table now leads with the canonical name and
    carries the clusterkit back-compat aliases and the ssh host in their own columns.
    The clusterkit-side rename ships in clusterkit 0.8.0, so a venv pinned below
    that still needs an alias; that's called out where the serve-venv pin is
    discussed, since a mismatch there surfaces as a KeyError on the cluster name.
    The decorator/--target examples move to the canonical names.
  • SSH instructions + config template — lead with the canonical host and keep
    the previous alias on the same Host line, so existing scripts keep resolving.
    The template gains a block for the second cluster's login host, sharing the
    existing options block (user, keepalives, identity file) rather than inventing
    new auth wiring.
  • scancel-mine — help and error text name the new hosts. --via is a
    pass-through to ssh, so behaviour is name-agnostic and unchanged; its test's
    host string moved too (the suite's ssh stub drops the host).

Deliberately untouched

  • The Slurm QoS names. Cluster-side, and only look like the rename. The
    skill now says so explicitly, next to the ssh-alias note, so the next reader
    doing a sweep doesn't rewrite them.
  • The skill's own directory name — a stable identifier referenced by settings
    and a guard hook.
  • The per-host ssh config under the ssh module: its template ships no
    cluster entries at all, and the rendered config is gitignored and machine-local.

Checks

shellcheck clean; the scancel-mine, scancel-guard and prose-lint suites pass,
and the full 12-hook pre-commit run (incl. gitleaks/TruffleHog and the glassine
encryption checks) passes. Staged blobs for the encrypted tree verified as
ciphertext.

via claude @ taffy

Normalise the two Fellows-compute clusters onto their canonical names in the
skill and tooling that people and agents read going forward. The rename is
presentational and additive:

- The skill's cluster table now leads with the canonical name, and lists the
  clusterkit back-compat aliases and the ssh host alongside it. The canonical
  clusterkit names ship in clusterkit 0.8.0, so a venv pinned below that still
  needs an alias — called out where the serve-venv pin is discussed.
- SSH instructions and the config template lead with the canonical host, and
  keep the previous alias on the same `Host` line so existing scripts keep
  resolving. The template gains a block for the second cluster's login host,
  sharing the existing options block (user, keepalives, identity file).
- `scancel-mine` help and error text name the new hosts. `--via` is a pass
  through to `ssh`, so behaviour is name-agnostic and unchanged.

Deliberately untouched: the Slurm QoS names, which are cluster-side and only
look like the rename; and the skill's own directory name, which is a stable
identifier referenced by settings and hooks.

@DJRHails DJRHails left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review — findings posted inline. P1/P2 threads resolve as their fixes land.

via gantry

Comment thread modules/agents/skills/runpod-ant-cluster/SKILL.md
Comment thread modules/agents/skills/runpod-ant-cluster/SKILL.md
@DJRHails
DJRHails merged commit ff6501e into main Sep 13, 2026
1 check passed
@DJRHails
DJRHails deleted the feat/cluster-names branch September 13, 2026 19:57
@DJRHails

Copy link
Copy Markdown
Owner Author

Review Summary

This PR merged while the review was in flight, so the fixes landed as a follow-up: PR #170 (commit e5d5075, branch review-169-clusterkit-names off main). The deleted head branch was briefly recreated by the first push and has been deleted again.

# Severity Finding Resolution
F1 P1 clusterkit has no 0.8.0 and no bare bulbasaur/charmander cluster names: main (0.7.0) keys KNOWN_CLUSTERS by ant-bulbasaur/ant-charmander + ant/eur aliases, and no tag or branch carries a rename. The Cluster(...)/--target/backend= examples moved to the bare names KeyError on every shipped clusterkit. Fixed in #170: clusterkit column and examples back to the shipped names; bare names documented as ssh hosts only. ssh-host rename kept.
F2 P2 EUR QoS row says high→normal-eur; clusterkit's qos_map is high→high-eur, dev→dev-eur (with the preemption rationale), and the PR's own new QoS bullet lists all four names. Fixed in #170.

Also worth knowing (no thread): the PR description's "ships in clusterkit 0.8.0" is the same unshipped claim as F1. tests/block_unscoped_scancel_test.py still uses the old ssh aliases in its fixtures, which is fine since the hook drops ssh's host (verified: ssh bulbasaur/ssh charmander wrappers of the unscoped forms are blocked, a scoped id is not).

Verified: clusterkit facts read from DJRHails/clusterkit main via the GitHub API (pyproject.toml version, src/clusterkit/config.py KNOWN_CLUSTERS/CLUSTER_ALIASES/qos_map, tag list, all 25 branches). Locally: zsh -f tests/scancel-mine.test.zsh passes, shellcheck bin/scancel-mine clean, the scancel guard hook exercised against the new ssh aliases, and the full 12-hook prek run --all-files (gitleaks, TruffleHog, glassine rule + encryption checks, all behaviour suites) passes on the fix; the committed blob for the encrypted skill file confirmed as ciphertext. prose-lint.sh on SKILL.md reports only pre-existing patterns outside the changed lines. The repo has no CI.
Fix commit: e5d5075 (on #170; nothing further on this PR's branch)
Reviewed head: 49c41b9 (merged as ff6501e)

Verdict: comment

via gantry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant