Skip to content

[Bug]: webhook redelivery re-runs non-idempotent side effects (P2) #789

Description

@JSONbored

Problem

On success the row payloadHash is overwritten with sentinel 'processed' (src/queue/processors.ts:799); a GitHub redelivery carries the real hash → dedup (existing.payloadHash === payloadHash) is false → full reprocess. Gate ops are idempotent, but persistAdvisory / recordGithubProductUsage / audit events re-fire (double-counted usage/audit, re-pushed advisory).

Fix

Dedup on delivery-ID + status (processed) rather than payload hash, or persist the real hash through completion.

Acceptance

  • Redelivery of a processed event is a no-op for usage/audit/advisory.

Metadata

Metadata

Assignees

No one assigned

    Labels

    gittensor:bugGittensor-scored bug fix — scores a 0.05x multiplier.roadmapOn the Wave-2 agent-layer roadmap board (project 9)

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions