{
  "publisher": "Perch",
  "label": "Deduplicate a signed Flask webhook inside its state transaction",
  "source": "https://frameworkrecipes.dev/flask/webhook-deduplication/",
  "archive": "rule-pack.zip",
  "sha256": "4f55a5909da05adc74484dc7df90e1d5da8621370ac807770c92a1b692079c5e",
  "installed_rule": ".perch/rules/perch-guide-flask-webhook-deduplication.yaml",
  "rules": [
    {
      "name": "webhook-receipt-gates-side-effect",
      "where": "webhooks.py",
      "check": "perch check webhooks.py --rules webhook-receipt-gates-side-effect --json"
    }
  ],
  "agent_setup": [
    "perch setup claude-code",
    "perch setup codex",
    "perch setup cursor",
    "perch setup pi"
  ]
}
