Skip to content

feat(notifications): recap queue job type + processor case (idempotent, throttle-claimed) #2249

Description

@JSONbored

Wire the recap job through the maintenance queue: add the job to the MaintenanceJob union at src/types.ts:165 and a processor case at src/queue/processors.ts:830 (next to the ops-alerts case) that calls runMaintainerRecap when isRecapEnabled. Idempotent per period via the notification_deliveries throttle-claim idiom the alerter already uses (src/review/alerts.ts:232) so a retried cron tick never double-sends a digest.

Deliverables

  • Extend the MaintenanceJob union in src/types.ts with the recap job type (mirror ops-alerts at src/types.ts:165)
  • Add the processor case in src/queue/processors.ts (mirror the ops-alerts case at src/queue/processors.ts:830, gated on isRecapEnabled)
  • Per-period idempotency via the ON CONFLICT DO NOTHING claim pattern at src/review/alerts.ts:232; test the claim-taken vs already-claimed branches
  • Unit test: enabled runs the orchestrator once, disabled short-circuits, duplicate tick is a no-op

References

  • src/types.ts:165
  • src/queue/processors.ts:830
  • src/review/alerts.ts:232

Part of #1963.


size: S · held for later release (gittensor:feature once activated)

Metadata

Metadata

Assignees

No one assigned

    Labels

    gittensor:featureGittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.gittensor:priorityMaintainer-selected Gittensor priority — scores a 1.5x multiplier.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions