Parent
Source: handoff-inbox item 20260723-021058-disk-hygiene-0-6-4-consumer-audit (findings F1, F5 — priority call-out: "one structural decision resolves lockout scope, kill-switch delivery, and data-root authority simultaneously").
Decision to resolve
Maintainer decision (interview round with the user — not agent-resolvable): where does destructive_guard.py register?
- Option A — move to plugin-level
hooks.json exec-form: delivers --disk-hygiene-enabled ${user_config.disk_hygiene_enabled} (guard-enforced audit-only mode) and --authorized-data-root ${CLAUDE_PLUGIN_DATA} directly; observed firing is session-long anyway (per F1), so real scope cost is low. Fixes the misleading GuardTests situation (suite currently proves toggle-denial only via channels the shipped skill hook never receives).
- Option B — keep skill-scoped registration; document observed session-long persistence + release path; accept kill-switch non-delivery as a known limitation.
Decision inputs come from the verification issue (blocker). NOTE: Option A changes when/where a hook fires — likely re-triggers the plugin-acceptance security review (MIGRATION-PLAYBOOK); run and record the review delta as part of the decision record.
Acceptance criteria
Blocked by
- Verification issue (F1/F5 harness-behavior verification)
Parent
Source: handoff-inbox item
20260723-021058-disk-hygiene-0-6-4-consumer-audit(findings F1, F5 — priority call-out: "one structural decision resolves lockout scope, kill-switch delivery, and data-root authority simultaneously").Decision to resolve
Maintainer decision (interview round with the user — not agent-resolvable): where does
destructive_guard.pyregister?hooks.jsonexec-form: delivers--disk-hygiene-enabled ${user_config.disk_hygiene_enabled}(guard-enforced audit-only mode) and--authorized-data-root ${CLAUDE_PLUGIN_DATA}directly; observed firing is session-long anyway (per F1), so real scope cost is low. Fixes the misleading GuardTests situation (suite currently proves toggle-denial only via channels the shipped skill hook never receives).Decision inputs come from the verification issue (blocker). NOTE: Option A changes when/where a hook fires — likely re-triggers the plugin-acceptance security review (MIGRATION-PLAYBOOK); run and record the review delta as part of the decision record.
Acceptance criteria
Blocked by