sbh ยท diff
git:20260716.2ff3bc2 to git:20260728.c88a451
5 added, 2 removed. Audit A to A.
---
name: sbh
user-invocable: false
skill_api_version: 1
hexagonal_role: supporting
consumes: []
produces: []
context_rel: []
metadata:
dependencies: []
capabilities: [sbh]
- effects: []
+ 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.
+ 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>