Skip to content

feat(email): track deliverability - #301

Merged
dargmuesli merged 5 commits into
mainfrom
feat/email/deliverability
Aug 5, 2026
Merged

feat(email): track deliverability#301
dargmuesli merged 5 commits into
mainfrom
feat/email/deliverability

Conversation

@dargmuesli

Copy link
Copy Markdown
Member

This pull request introduces a new table to track email addresses with deliverability issues (such as bounces, complaints, and unsubscribes) in the vibetype_private schema. The implementation includes a new enum type for email address status, associated constraints, metadata triggers, and relevant schema updates for migration and verification. The changes also include the necessary revert and verification scripts, as well as updates to the test schema fixtures.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new deliverability-tracking data model in the vibetype_private schema to persist email addresses that should be treated as bounced/complained/unsubscribed, including migration + revert + verification wiring via Sqitch and updated test schema fixtures.

Changes:

  • Introduces vibetype_private.email_address_status enum and vibetype_private.email_address table with constraints, FK to vibetype.account, index, and metadata update trigger.
  • Adds Sqitch deploy/revert/verify scripts for the new table and updates sqitch.plan.
  • Updates the SQL test fixture schema to include the new type/table/index/trigger definitions.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
test/fixture/schema_vibetype.definition.sql Updates test fixture schema to include the new enum, table, constraints, index, and trigger.
src/deploy/table_email_address.sql Deploys the new enum + table + index + metadata trigger in vibetype_private.
src/revert/table_email_address.sql Reverts the new enum/table/trigger (migration rollback).
src/verify/table_email_address.sql Adds verification script for the new table.
src/sqitch.plan Registers the new change in the Sqitch plan with dependencies.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/deploy/table_email_address.sql Outdated
Comment thread test/fixture/schema_vibetype.definition.sql Outdated
Comment thread src/verify/table_email_address.sql Outdated
@github-actions

github-actions Bot commented Apr 20, 2026

Copy link
Copy Markdown

Database Query Performance

✅ No significant regressions detected

Query Role Base (ms) PR (ms) Delta
account_block_ids account 0.027 0.027 (0%)
account_block_ids anonymous 0.022 0.022 (0%)
account_search account 1.847 1.849 (+0.1%)
attendance_claim_array account 0.025 0.025 (0%)
attendance_claim_array anonymous 0.025 0.024 (-4%)
event_guest_count_maximum account 0.022 0.023 (+4.5%)
event_guest_count_maximum anonymous 0.039 0.039 (0%)
event_search account 44.219 43.884 (-0.8%)
event_search anonymous 44.627 43.694 (-2.1%)
events_invited account 14.141 14.181 (+0.3%)
events_invited anonymous 14.541 14.075 (-3.2%)
guest_claim_array account 0.027 0.027 (0%)
guest_claim_array anonymous 0.027 0.027 (0%)
guest_count account 0.021 0.021 (0%)
guest_count anonymous 0.021 0.021 (0%)
select_accounts account 0.226 0.224 (-0.9%)
select_accounts anonymous 0.159 0.158 (-0.6%)
select_attendance account 4.518 4.654 (+3%)
select_attendance anonymous 3.963 3.875 (-2.2%)
select_contacts account 23.158 22.937 (-1%)
select_contacts anonymous 21.046 21.229 (+0.9%)
select_events account 44.227 43.663 (-1.3%)
select_events anonymous 43.640 43.076 (-1.3%)
select_guests account 18.348 18.217 (-0.7%)
select_guests anonymous 16.144 15.965 (-1.1%)
Details
  • Threshold for regression warnings: >15% and ≥1ms absolute change
  • Deltas in parentheses indicate that the absolute change is below the minimum threshold
  • Each measurement discards the first (cold-cache) execution, then reports the median of all subsequent runs within a 5-second time budget
  • Timings use clock_timestamp() with JIT compilation and synchronized sequential scans disabled
  • Data: 1000 accounts, 100 events, 1000 contacts, ~1000 guests, 200 attendances
  • Runner: GitHub Actions (timings may vary ±10% between runs)
  • Workflow run

@dargmuesli
dargmuesli force-pushed the feat/email/deliverability branch from c162481 to 13f99ad Compare April 20, 2026 09:24
@dargmuesli
dargmuesli marked this pull request as ready for review April 20, 2026 09:24
@dargmuesli
dargmuesli requested a review from Copilot April 20, 2026 09:24

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/deploy/table_email_address.sql Outdated
Comment thread src/deploy/table_email_address.sql Outdated
Comment thread src/verify/table_email.sql
Comment thread src/revert/table_email_address.sql Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/deploy/table_email_address.sql Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/deploy/table_email_address.sql Outdated
Comment thread src/revert/table_email_address.sql Outdated
Comment thread src/verify/table_email_address.sql Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/revert/table_email_address.sql Outdated
@dargmuesli
dargmuesli force-pushed the feat/email/deliverability branch from 9eb66ce to 25c8926 Compare July 31, 2026 23:44
@dargmuesli
dargmuesli force-pushed the feat/email/deliverability branch from ab1403c to cf04cee Compare August 4, 2026 23:54
@dargmuesli
dargmuesli force-pushed the feat/email/deliverability branch from f65a116 to 5cac192 Compare August 5, 2026 00:14
@dargmuesli
dargmuesli enabled auto-merge August 5, 2026 00:15
@dargmuesli
dargmuesli disabled auto-merge August 5, 2026 00:16
@dargmuesli
dargmuesli merged commit 15903b6 into main Aug 5, 2026
9 checks passed
@dargmuesli
dargmuesli deleted the feat/email/deliverability branch August 5, 2026 00:21
@maevsi-bot

Copy link
Copy Markdown

🎉 This PR is included in version 12.1.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants