Parent
Part of #1049. This is the fourth and final independently reviewable slice of the Destructive Command Guard work.
Dependency
Depends on the persisted DCG setting and service slices.
Problem
When command auto-approval and DCG are enabled, safe complex/generated commands should run without the legacy allowlist interrupting them, while DCG-blocked commands must retain an explicit approval boundary and clear denial feedback.
Scope
- Evaluate commands with DCG before asking for command approval.
- Allow DCG-approved commands to bypass the legacy allowlist only when command auto-approval and DCG are both enabled.
- Mark DCG-blocked commands as protected so they always require explicit user approval.
- Preserve existing allowlist/denylist behavior when DCG is disabled.
- Record auto-deny decisions in command messages and render a dedicated denied state in chat.
- Show localized DCG reason/rule details when available and hide allow/deny pattern controls where they do not apply.
- Add focused extension and webview regression tests for policy precedence, command execution, message persistence, and denied rendering.
Acceptance criteria
Stack
Base: the persisted-setting PR. This final PR completes #1049.
Parent
Part of #1049. This is the fourth and final independently reviewable slice of the Destructive Command Guard work.
Dependency
Depends on the persisted DCG setting and service slices.
Problem
When command auto-approval and DCG are enabled, safe complex/generated commands should run without the legacy allowlist interrupting them, while DCG-blocked commands must retain an explicit approval boundary and clear denial feedback.
Scope
Acceptance criteria
Stack
Base: the persisted-setting PR. This final PR completes #1049.