sbh · git:20260728.c88a451 · 2026-07-28 · sha256 fa7d7d8b14e5be57

sbh git:20260728.c88a451A

Immutable. This exact content is served forever at /api/v1/blob/fa7d7d8b14e5be57.

---
name: sbh
user-invocable: false
skill_api_version: 1
hexagonal_role: supporting
consumes: []
produces: []
context_rel: []
metadata:
  dependencies: []
  capabilities: [sbh]
  effects: [delete_reclaimable_files, release_disk_ballast, modify_host_storage_config]
  canonical_status: canonical
  disposition: keep_specialist
  tier: execution
description: 'Inspect disk pressure with SBH and run one explicitly authorized recovery action. Triggers: "check disk pressure", "run SBH".'
practices:
- pragmatic-programmer
output_contract: disk pressure observations and authorized action result
---
# SBH — storage pressure specialist

SBH exposes disk-pressure status, ballast, scanning, and recovery commands. This
skill gathers evidence and performs at most the explicit action authorized by the
caller. Its authorized actions can delete files and change host storage
configuration, so no mutation runs without explicit caller authority. The command
surface below is anchored to `sbh` 0.4.27; re-verify against `sbh --version` on
another host before relying on an exact flag.

Evidence-first recovery works because disk pressure has cheap reversible
remedies and expensive irreversible ones; a factual baseline is what tells them
apart before anything is deleted. Order remediation by irreversibility:
status and dry runs first, ballast release next, cleanup of unprotected files
after that, and emergency deletion last — never skip forward while a more
reversible step remains untried.

Named failure mode — **wrong-mount relief**: reclaiming gigabytes on a
filesystem that is not the constrained mount and declaring the pressure
resolved.

Anti-pattern: escalating straight to `emergency --yes` because pressure is
critical. Corrective: urgency raises the stakes of an irreversible mistake; it
never lowers the authorization bar or the ordering above.

## Constraints

- Begin with `sbh --json status`, `sbh check`, or a dry run on the exact mount
  because recovery decisions need a factual baseline.
- Never run `clean --yes`, `emergency --yes`, ballast release, `tune --apply`,
  `unprotect`, or service/configuration changes without explicit authority
  because those operations mutate host state.
- Preserve `.git/`, open-file, young-file, non-writable-parent, and
  `.sbh-protect` vetoes because they prevent unsafe or ineffective cleanup.
- Confirm that ballast or reclaimed bytes affect the constrained mount because
  free space on another filesystem does not resolve the pressure.
- Run one action once, capture before/after evidence, and stop because the
  caller owns any further mutation. A negative result
  is returned to the caller; this skill does not retry or escalate it.

## Output

Return mount, free bytes, pressure state, dry-run candidates, authorization used,
exact command and exit code, bytes reclaimed, protection vetoes, and checked/not
checked surfaces.

Full command documentation: <https://github.com/Dicklesworthstone/storage_ballast_helper>