Skip to content

watch has no poll floor and no duration cap, while our own etiquette doc states both as rules #2

Description

@lfnothias

hs_watch passes the caller-supplied interval straight to sleep inside while :, with no validation, no minimum, and no maximum duration (lib/slurm.sh:92).

docs/cluster-etiquette.md and docs/guardrails.md state the opposite as rules: poll politely, don't hold the link, don't sit in a blocking watch for a long job. SKILL.md is read by an agent, so anything it states as a rule is something the agent will assume is enforced. Nothing enforces it.

hpc-session watch 12345 0 is a busy-wait against the SLURM controller with an authenticated master held open, from a tool whose documentation says not to do that.

Suggested fix: clamp the interval to a documented floor (30s reads consistent with the rest of the docs), and cap total watch duration — after it, print how to come back with queue rather than continuing to poll. If a caller explicitly asks for something tighter, say what it was clamped to rather than silently obeying or silently ignoring.

Worth doing carefully rather than quickly: an unenforced guardrail written as a rule in an agent-facing skill is exactly the failure mode the benchmarking-hpc-skills work is measuring, and this tool is one of the skills that project composes.

From an adversarially-verified audit, 2026-07-30. Survived refutation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions