arthai-marketplace

/extensions waive

Waive a specific extension rule with a written rationale.

Synopsis

/extensions waive <domain>/<name>/<RULE-ID> "reason"

When to use it

Prerequisite: the pack must already be enabled — run /extensions enable <pack_id> first if it isn’t.

Quickstart

/extensions waive compliance/hipaa/HIPAA-312b "No PHI is stored in this service"

What you’ll see:

Waived compliance/hipaa/HIPAA-312b — "No PHI is stored in this service."
This rule will appear as 'waived' in the next evidence report.
To revoke: edit .claude/extensions/.enabled.json and remove the entry from .waivers[].

The rule shows as waived (with your rationale) in the next evidence report instead of being enforced as blocking.

Examples

/extensions waive compliance/hipaa/HIPAA-312b "No PHI is stored in this service"   # waive one rule with a rationale
/extensions waive security/baseline/SEC-04 "Covered by org-level WAF policy"       # format: <domain>/<name>/<RULE-ID>

What it does

  1. Parses the target — the first two path segments are the pack ID, the remainder is the rule ID. A quoted reason is required.
  2. Validates that the pack is currently enabled and that the rule ID actually exists in the pack’s rule file.
  3. Checks for duplicates — waiving an already-waived rule exits cleanly, showing the existing reason (idempotent).
  4. Appends the waiver to .claude/extensions/.enabled.json with the rule, reason, timestamp, and your git email.
  5. Confirms — the rule renders as waived with your rationale in the next evidence report, and the code reviewer no longer treats it as blocking for this project.

To revoke a waiver, edit .claude/extensions/.enabled.json and remove the entry from .waivers[].

Output & artifacts

Troubleshooting

Problem Fix
Cannot waive a rule in a pack that isn't enabled Run /extensions enable for the pack first
Rule {rule_id} not found in {pack_id} Check the rule ID against the pack’s rules file — the error message shows its path
Bad format Use <domain>/<name>/<RULE-ID> plus a quoted reason as the second argument
Waiver ... already exists Idempotent — the existing waiver and its reason are shown; revoke it by editing .enabled.json if you want to change it
jq required Install jq — this command manipulates JSON state