Summary
On Linux/macOS the disk-hygiene guard leaves the model with no shell lane for the evidence
gathering the skill itself requires, and on macOS the documented manual deletion handoff has no
lane to execute through.
E1 — Bash lane denies ALL non-engine commands; POSIX has no read-only support lane
destructive_guard.py:302,324-329 denies any Bash command that is not an exact scan/preview/apply
shape.
SKILL.md step 2 requires establishing ownership/liveness ("Is the owner active?") and provenance
— which on POSIX means ps, lsof, git log, stat, etc.
- The "read-only support" escape (
SKILL.md:222-225) is the PowerShell lane, which only exists
where a PowerShell tool is present (effectively Windows).
Net: on Linux/macOS the only support tools are Read/Grep/Glob; the model cannot run process/liveness
or VCS-provenance checks, so its tier classification is materially weaker on the platform where the
engine actually deletes.
This session hit the Windows-analog symptom: once the skill's hook was active, every non-engine
Bash command in the session was denied — routine ls/find for inspection included — forcing a
switch to PowerShell. On a host without PowerShell there is no fallback at all.
Fix: add a read-only allowlist lane for POSIX support commands (ps, lsof, stat, git,
file, …), mirroring the PowerShell read-only lane's intent.
B3 — macOS manual handoff is documented but impossible to perform
SKILL.md:177-195 describes a Windows/macOS post-approval manual handoff (Recycle Bin / Trash).
- On macOS there is no PowerShell tool, and the Bash guard denies every non-engine command
(rm, trash, osascript, mv) via _bash_denial_guidance (destructive_guard.py:302,324-329).
So after a human approves an exact list on macOS, there is literally no lane to delete through — the
documented handoff is dead. (Windows has the PowerShell lane; Linux has the engine.)
Fix: provide a macOS deletion lane (a scoped allowlist for the approved handoff), or scope the
manual-handoff doc to Windows only.
Severity
MEDIUM. Together these make the skill much weaker on POSIX than its docs imply.
Summary
On Linux/macOS the disk-hygiene guard leaves the model with no shell lane for the evidence
gathering the skill itself requires, and on macOS the documented manual deletion handoff has no
lane to execute through.
E1 — Bash lane denies ALL non-engine commands; POSIX has no read-only support lane
destructive_guard.py:302,324-329denies any Bash command that is not an exact scan/preview/applyshape.
SKILL.mdstep 2 requires establishing ownership/liveness ("Is the owner active?") and provenance— which on POSIX means
ps,lsof,git log,stat, etc.SKILL.md:222-225) is the PowerShell lane, which only existswhere a PowerShell tool is present (effectively Windows).
Net: on Linux/macOS the only support tools are Read/Grep/Glob; the model cannot run process/liveness
or VCS-provenance checks, so its tier classification is materially weaker on the platform where the
engine actually deletes.
This session hit the Windows-analog symptom: once the skill's hook was active, every non-engine
Bash command in the session was denied — routine
ls/findfor inspection included — forcing aswitch to PowerShell. On a host without PowerShell there is no fallback at all.
Fix: add a read-only allowlist lane for POSIX support commands (
ps,lsof,stat,git,file, …), mirroring the PowerShell read-only lane's intent.B3 — macOS manual handoff is documented but impossible to perform
SKILL.md:177-195describes a Windows/macOS post-approval manual handoff (Recycle Bin / Trash).(
rm,trash,osascript,mv) via_bash_denial_guidance(destructive_guard.py:302,324-329).So after a human approves an exact list on macOS, there is literally no lane to delete through — the
documented handoff is dead. (Windows has the PowerShell lane; Linux has the engine.)
Fix: provide a macOS deletion lane (a scoped allowlist for the approved handoff), or scope the
manual-handoff doc to Windows only.
Severity
MEDIUM. Together these make the skill much weaker on POSIX than its docs imply.