rdev/internal/domain
jordan ddcfe52b5c
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
feat: implement shared notify host model for platform email delivery
Replace per-project notify host provisioning (7-9 API calls + DNS + async
Resend verification) with a shared platform host for all *.threesix.ai projects.

Under the new model:
- CreateProjectNotify: 3 calls only (account + send key + host grant)
- No per-project Resend domain, DNS records, or async verification
- All *.threesix.ai projects share `threesix.ai` as the platform host
- Custom domains still get a dedicated host via ReprovisionNotifyHost

Changes:
- domain/notify.go: slim NotifyCredentials (no Host/From/ResendDomainID);
  add NotifyHostCredentials for reprovision return path
- port/notify_provisioner.go: update interface signatures and docs
- adapter/notify/provisioner.go: rewrite CreateProjectNotify (3 steps);
  rewrite DeleteProjectNotify (account-only vs full cleanup)
- adapter/notify/provisioner_reprovision.go: return *NotifyHostCredentials
- adapter/notify/provisioner_test.go: update tests for new model
- service/project_infra_crud.go: store only NOTIFY_API_KEY on provision
- domain/credential.go: add CredKeyNotifySharedHost/CredKeyNotifySharedFrom
- cmd/rdev-api/config.go: add NotifySharedHost/NotifySharedFrom to InfraConfig
- service/component.go: add notifySharedHost/notifySharedFrom + WithNotifyDefaults
- service/component_deploy.go: inject shared host defaults when no custom host stored
- handlers/notify.go: handle shared-host projects in Reprovision guard;
  add WithSharedNotifyHost builder
- cmd/rdev-api/main.go: wire SharedHost to provisioner, component service,
  and notify handler

Bootstrap: NOTIFY_SHARED_HOST=threesix.ai and NOTIFY_SHARED_FROM=noreply@threesix.ai
stored in credential store (host id=1 already provisioned with Resend provider).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 17:04:11 -07:00
..
apikey.go feat: label-based undeploy, GC reconciliation, checkout/sessions, pool status 2026-02-09 19:11:28 -07:00
audit.go feat: Implement hexagonal architecture with services, webhooks, queue, and telemetry 2026-01-25 19:57:46 -07:00
blueprint.go feat(foundary): implement complete backend for conversational project design 2026-02-09 00:50:46 -07:00
build_events.go chore: prepare for composable monorepo template implementation 2026-01-31 11:39:28 -07:00
build_test.go feat: Add CI pipeline proxy, DNS alias management, and worker executor system 2026-01-27 21:05:28 -07:00
build.go refactor: add timeout constants for agent execution tiers 2026-02-11 10:48:24 -07:00
cache.go chore: prepare for composable monorepo template implementation 2026-01-31 11:39:28 -07:00
checkout.go feat: label-based undeploy, GC reconciliation, checkout/sessions, pool status 2026-02-09 19:11:28 -07:00
ci.go release: v0.10.27 - fix: woodpecker step YAML multi-line command syntax 2026-02-01 12:42:18 -07:00
code_agent_test.go feat: Add multi-provider code agent interface with Claude Code and OpenCode adapters 2026-01-27 09:25:51 -07:00
code_agent.go feat: Add multi-provider code agent interface with Claude Code and OpenCode adapters 2026-01-27 09:25:51 -07:00
command.go feat: add claude_id tracking and session improvements for interactive dev 2026-02-24 00:20:32 -07:00
component_test.go fix(templates): upgrade Go to 1.25 and fix Woodpecker syntax 2026-02-08 23:57:38 -07:00
component.go fix: worker deployments and JWT_SECRET auto-provisioning 2026-02-23 03:42:53 -07:00
conversation.go feat(foundary): implement complete backend for conversational project design 2026-02-09 00:50:46 -07:00
credential.go feat: implement shared notify host model for platform email delivery 2026-02-25 17:04:11 -07:00
database.go chore: prepare for composable monorepo template implementation 2026-01-31 11:39:28 -07:00
deployment.go feat: add GCS-based persistent media storage, AI generation pipeline, and composable skeleton packages 2026-02-19 21:29:09 -07:00
diagnostics.go feat: add diagnostics endpoint and external health monitoring 2026-02-03 19:10:56 -07:00
dns.go fix: correct Resend DNS record type, name, and MX priority 2026-02-23 19:52:11 -07:00
domain_test.go feat: Add CI pipeline proxy, DNS alias management, and worker executor system 2026-01-27 21:05:28 -07:00
domain_types_test.go feat: Add CI pipeline proxy, DNS alias management, and worker executor system 2026-01-27 21:05:28 -07:00
errors.go feat: label-based undeploy, GC reconciliation, checkout/sessions, pool status 2026-02-09 19:11:28 -07:00
external_health.go feat: add diagnostics endpoint and external health monitoring 2026-02-03 19:10:56 -07:00
git.go feat: Add infrastructure adapters for threesix.ai 2026-01-25 22:49:58 -07:00
notify.go feat: implement shared notify host model for platform email delivery 2026-02-25 17:04:11 -07:00
operation.go feat: fix composable monorepo CI builds + health endpoint improvements 2026-02-03 18:46:51 -07:00
project_domain_test.go feat: Add multi-domain support with auto-generated slugs for landing page cookbook 2026-01-28 12:55:59 -07:00
project_domain.go feat: Add multi-domain support with auto-generated slugs for landing page cookbook 2026-01-28 12:55:59 -07:00
project.go feat: Add CI pipeline proxy, DNS alias management, and worker executor system 2026-01-27 21:05:28 -07:00
question.go feat(foundary): implement complete backend for conversational project design 2026-02-09 00:50:46 -07:00
queue.go feat: Implement hexagonal architecture with services, webhooks, queue, and telemetry 2026-01-25 19:57:46 -07:00
rate_limit.go feat: Implement hexagonal architecture with services, webhooks, queue, and telemetry 2026-01-25 19:57:46 -07:00
registry.go feat: fix composable monorepo CI builds + health endpoint improvements 2026-02-03 18:46:51 -07:00
saga.go feat(saga): implement enterprise-grade resilience architecture 2026-02-08 01:58:02 -07:00
sdlc_callback.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
session.go feat: add claude_id tracking and session improvements for interactive dev 2026-02-24 00:20:32 -07:00
storage.go fix(templates): upgrade Go to 1.25 and fix Woodpecker syntax 2026-02-08 23:57:38 -07:00
verify_test.go feat: add WorkerService.FailTask for audit updates + visual verification scaffolding 2026-02-03 00:09:16 -07:00
verify.go feat: add WorkerService.FailTask for audit updates + visual verification scaffolding 2026-02-03 00:09:16 -07:00
webhook.go feat(saga): implement enterprise-grade resilience architecture 2026-02-08 01:58:02 -07:00
work_test.go feat: add work task error classification and user-facing error codes 2026-02-03 00:07:34 -07:00
work.go feat: add structured logging infrastructure and SDLC extensions 2026-02-04 22:56:04 -07:00
worker_test.go feat: Add CI pipeline proxy, DNS alias management, and worker executor system 2026-01-27 21:05:28 -07:00
worker.go feat: Add CI pipeline proxy, DNS alias management, and worker executor system 2026-01-27 21:05:28 -07:00