resume-run — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited resume-run (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Convenience wrapper. Show progress, then advance the pipeline.
/ultra-analyzer:resume-run [run-name]
Invoke the progress skill to print current state. User sees where they paused.
EXIT traps in claim.sh / state.sh inc / state.sh dec / state.sh set / requeue.sh do NOT fire on kill -9 or power loss. The mkdir-based lock dirs persist as orphans and every subsequent state.sh inc/set/dec then spins for 30s before failing. /resume-run MUST detect and clear orphan locks BEFORE handing off to /run.
For each candidate lockdir:
<RUN_PATH>/topics/.claim.lock.d<RUN_PATH>/state.json.lock.dApply the heuristic:
heal_orphan_lock() {
local lockdir="$1"
[[ -d "$lockdir" ]] || return 0 # not held; nothing to do
# If the lockdir owner wrote a PID file, prefer that.
local pidfile="$lockdir/holder.pid"
if [[ -f "$pidfile" ]]; then
local pid
pid=$(cat "$pidfile" 2>/dev/null)
if [[ -n "$pid" ]] && kill -0 "$pid" 2>/dev/null; then
echo "[resume-run] lock $lockdir held by live PID $pid — leaving alone" >&2
return 0
fi
fi
# Otherwise fall back on stat-mtime: lockdir older than 30s with no live
# holder is presumed orphaned (kill -9 / power loss).
local age_s
if stat -f '%m' "$lockdir" >/dev/null 2>&1; then
# macOS / BSD stat
local mtime; mtime=$(stat -f '%m' "$lockdir")
age_s=$(( $(date +%s) - mtime ))
else
# GNU stat (Linux)
local mtime; mtime=$(stat -c '%Y' "$lockdir")
age_s=$(( $(date +%s) - mtime ))
fi
if [[ "$age_s" -gt 30 ]]; then
echo "[resume-run] orphan lock detected at $lockdir (age=${age_s}s, no live holder) — removing" >&2
rmdir "$lockdir" 2>/dev/null || rm -rf "$lockdir"
return 0
fi
echo "[resume-run] lock $lockdir is fresh (${age_s}s) — likely a live worker; leaving alone" >&2
return 0
}Run this on every candidate lockdir before Step 2. The loop is idempotent — a fresh lock from a live worker is preserved, an old orphan is cleared. This is what makes kill -9 <claim-holder> && /ultra-analyzer:resume-run clear the stall instead of hanging forever on the next state.sh inc.
For deeper diagnostics (orphaned in-progress topics, counter drift), the user should still run /ultra-analyzer:health [--fix] explicitly. Resume's auto-heal is intentionally narrow: it only repairs the mkdir-locks because those are the ONE failure mode that blocks the very next state.sh call.
If .counters.topics_in_progress > 0 AND current_step == "analyze":
mv <RUN_PATH>/topics/in-progress/*.md <RUN_PATH>/topics/pending/Do NOT auto-move. Ask user.
Hand off to the run controller. It will pick up from state.current_step.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.