Connect signup and login verification to email notifications #39

Merged
tech merged 12 commits from auth-38 into main 2026-09-12 17:46:16 +00:00
Showing only changes of commit 36277b6c45 - Show all commits
+22
View File
@@ -22,6 +22,28 @@ skill to perform this completion workflow.
For example, prefer a concise path such as `payment.Details.ID` over For example, prefer a concise path such as `payment.Details.ID` over
`payment.Payment.PaymentID`. `payment.Payment.PaymentID`.
## Reuse shared database and messaging infrastructure
- All database integrations must use the existing shared database wrappers in
`backend/shared/database`. Do not bypass them with direct database clients or
create feature-local replacements.
- All NATS connections must use shared messaging drivers owned by the
`backend/shared` library module. Keep reusable NATS drivers in
`backend/shared/messaging`; executable modules must consume that package.
Do not open direct NATS connections or implement separate connection
management in a feature or service.
- If the shared messaging package is missing, consolidate the existing driver
into `backend/shared/messaging` and reuse it. Do not create another
feature-local driver or import a sibling executable module's infrastructure.
- Search for the existing wrappers, drivers, and their usage before implementing
an integration. Reuse their connection lifecycle, configuration, retries, and
other infrastructure behavior instead of copying or rewriting it.
- If an integration needs a capability the shared infrastructure does not yet
expose, extend the canonical wrapper or driver. Keep reusable infrastructure
there and domain-specific behavior in the owning module.
- During review, check that database and NATS integrations use these shared
paths and remove any duplicated infrastructure introduced by the task.
## Use the project error model ## Use the project error model
- Do not introduce `fmt.Errorf` or `errors.New`. Use the constructors and - Do not introduce `fmt.Errorf` or `errors.New`. Use the constructors and