Merge branch 'worktree-tenant-email-senders' into main
36 files changed,
+17732
−210
README.md+33 −0cmd/console/main.go+22 −1docs/superpowers/plans/2026-09-15-tenant-email-2-senders.md+3379 −0docs/superpowers/plans/2026-09-15-tenant-email-3-external-identities.md+4262 −0docs/superpowers/plans/2026-09-15-tenant-email-4-instance-config.md+2742 −0docs/superpowers/plans/2026-09-15-tenant-email-5-instance-senders.md+3363 −0docs/superpowers/plans/2026-09-15-tenant-email-ses-spike.md+117 −0docs/superpowers/specs/2026-09-15-tenant-email-senders-design.md+797 −0internal/console/apimail.go+108 −18internal/console/apimail_test.go+221 −0internal/console/appsettings.go+3 −2internal/console/mailcounts.go+94 −59internal/console/mailcounts_test.go+393 −22internal/console/mailevents.go+27 −3internal/console/mailevents_test.go+151 −10internal/console/ownership.go+7 −6internal/console/sesevents.go+93 −21internal/console/sesevents_test.go+51 −2internal/console/store.go+68 −0internal/mail/aws.go+50 −12internal/mail/aws_test.go+8 −0internal/mail/domain.go+17 −4internal/mail/mail.go+174 −16internal/mail/mail_test.go+195 −1internal/mail/memprovisioner.go+43 −6internal/mail/memprovisioner_test.go+28 −0internal/mail/provisioner.go+12 −0internal/mail/sender.go+412 −0internal/mail/sender_test.go+294 −0internal/mail/sweep.go+84 −0internal/mail/sweep_test.go+63 −0internal/mail/walk.go+138 −27internal/mail/walk_domain_test.go+53 −0internal/mail/walk_lifecycle_test.go+147 −0mail_cli.go+42 −0mail_cli_test.go+41 −0
CI passed — run details
README.mdLoading diff…
cmd/console/main.goLoading diff…
docs/superpowers/plans/2026-09-15-tenant-email-2-senders.mdLoading diff…
docs/superpowers/plans/2026-09-15-tenant-email-3-external-identities.mdLoading diff…
docs/superpowers/plans/2026-09-15-tenant-email-4-instance-config.mdLoading diff…
docs/superpowers/plans/2026-09-15-tenant-email-5-instance-senders.mdLoading diff…
docs/superpowers/plans/2026-09-15-tenant-email-ses-spike.mdLoading diff…
docs/superpowers/specs/2026-09-15-tenant-email-senders-design.mdLoading diff…
internal/console/apimail.goLoading diff…
internal/console/apimail_test.goLoading diff…
internal/console/appsettings.goLoading diff…
internal/console/mailcounts.goLoading diff…
internal/console/mailcounts_test.goLoading diff…
internal/console/mailevents.goLoading diff…
internal/console/mailevents_test.goLoading diff…
internal/console/ownership.goLoading diff…
internal/console/sesevents.goLoading diff…
internal/console/sesevents_test.goLoading diff…
internal/console/store.goLoading diff…
internal/mail/aws.goLoading diff…
internal/mail/aws_test.goLoading diff…
internal/mail/domain.goLoading diff…
internal/mail/mail.goLoading diff…
internal/mail/mail_test.goLoading diff…
internal/mail/memprovisioner.goLoading diff…
internal/mail/memprovisioner_test.goLoading diff…
internal/mail/provisioner.goLoading diff…
internal/mail/sender.goLoading diff…
internal/mail/sender_test.goLoading diff…
internal/mail/sweep.goLoading diff…
internal/mail/sweep_test.goLoading diff…
internal/mail/walk.goLoading diff…
internal/mail/walk_domain_test.goLoading diff…
internal/mail/walk_lifecycle_test.goLoading diff…
mail_cli.goLoading diff…
mail_cli_test.goLoading diff…