chore: prepare the 0.1.0 release - #23
Open
lfnothias wants to merge 3 commits into
Open
Conversation
Nothing here was ever tagged, so anyone who cloned since 2026-07-29 holds a copy with defects that are mostly silent — a watch that reports running jobs as finished, a precedence rule that discards every documented override, a submit that fails on any current OpenSSH. The changelog leads with what CHANGED rather than what was added, because that is the part that can surprise someone upgrading: sbatch arguments are quoted now, a remote script path is literal, and watch has a third exit status. The examples directory had only the hardest case, a cluster behind a full-tunnel VPN that also enforces TOTP. Most people start with neither, and README solicits worked profiles from contributors — so the simple shape should be there to copy.
A first tag makes version a question with an answer, and CHANGELOG.md opens with behaviour changes — so a caller has to be able to tell which side of them it is on. Nothing in the tool could say. `version` is dispatched before the profile loads, like `init`: a setup that does not load is exactly when someone needs to report which copy they are running. `doctor` opens with the same line, since that output is what gets pasted into an issue. A test holds the string equal to the newest heading in CHANGELOG.md, so a tag cannot drift from what the tool reports. Verified by mutation: drifting the string fails three assertions, dropping the doctor line fails one, and moving the dispatch after the loader fails the two that cover a broken profile. Also corrects two claims in the changelog itself — the repository's public date, which was off by a timezone, and the assertion count. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The "Known limitations" section said no part of this release had been exercised against a live SLURM controller. That is no longer true: one end-to-end run — open, render, submit, queue, watch to completion, fetch, cancel, close — was made against a TOTP-gated cluster behind a VPN, and behaved as documented. Stated as one site and one SLURM version, which is what it is, rather than as a compatibility claim. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two audits' worth of work is on
mainwith no tag against it, so a clone from before themand a clone from after them are indistinguishable. This branch closes that.
CHANGELOG.md— 0.1.0, opening with Changed — read before upgrading rather than withadditions, because several entries alter behaviour a caller may depend on:
submitnowquotes its extra arguments instead of letting the remote shell re-parse them,
watchclampsits interval and stops at an hour, and
queueprints untruncated job ids. It records whatis not covered as plainly as what is: nothing here has run against a live SLURM controller.
examples/keyonly-direct.conf— the ordinary profile shape. The existing example carriesa VPN and a second factor, which is the harder case, not the common one.
hpc-session version— a release whose tool cannot say which release it is leaves acaller, and an agent most of all, no way to know which side of a behaviour change it is on.
It is dispatched before the profile loads, so a setup that does not load can still report
itself;
doctoropens with the same line. A test holds the string equal to the newestheading in
CHANGELOG.md, so the tag, the notes and the tool cannot drift apart.The suite is at 194 assertions. The six new ones were checked against the specific defects
they guard: drifting the version string fails three, removing the
doctorline fails one,and moving the dispatch after the loader fails the two covering a broken profile.
Closes nothing; #13 remains open and out of scope for 0.1.0, and is listed under Known
limitations.
Written with Claude Code.