Skip to content

Harden gentle nudge delivery - #4

Merged
Withphildev merged 1 commit into
mainfrom
agent/harden-gentle-nudges
Aug 8, 2026
Merged

Harden gentle nudge delivery#4
Withphildev merged 1 commit into
mainfrom
agent/harden-gentle-nudges

Conversation

@Withphildev

Copy link
Copy Markdown
Owner

What changed

  • extracted the gentle-nudge planner, delivery engine, receipts, and retry guard from server/src/index.ts into a dedicated service
  • made KANBAN_NUDGE_TIMEZONE the default for API and background polling
  • added migration 10 to persist the complete first-attempt nudge payload
  • made retries reuse the exact stored JSON payload and idempotency key even when cards change between attempts
  • documented HTTPS requirements for hook bearer tokens

Why

The previous API routes defaulted to America/Los_Angeles even when a different automatic nudge timezone was configured. Retry receipts also froze only card IDs and the message while regenerating card details, so the delivered payload could drift from the durable receipt after an edit.

Impact

Existing successful receipts are unchanged. New nudge attempts store a durable payload snapshot. Existing failed receipts remain retryable and are snapshotted on their next attempt. The UI is unchanged.

Validation

  • npm test — 41 tests passed
  • npm run build — server and web production builds passed

@Withphildev
Withphildev marked this pull request as ready for review August 8, 2026 17:39
@Withphildev
Withphildev merged commit a6124b2 into main Aug 8, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant