Skip to content

refactor: rename email cloud functions to purpose-driven names#42

Closed
pyramation wants to merge 3 commits into
mainfrom
feat/rename-email-sms-functions
Closed

refactor: rename email cloud functions to purpose-driven names#42
pyramation wants to merge 3 commits into
mainfrom
feat/rename-email-sms-functions

Conversation

@pyramation
Copy link
Copy Markdown
Contributor

Summary

Renames the email cloud function identifiers to purpose-driven names, establishing the scope:fn naming convention:

Old New Task Identifier
simple-email send-email email:send_email
send-email-link send-verification-link email:send_verification_link

Changes across 49 files:

  • Function dirs: functions/simple-email/functions/send-email/, functions/send-email-link/functions/send-verification-link/
  • handler.json: Updated name fields to match new directory names
  • handler.ts: Updated logger names and env var references (SIMPLE_EMAIL_DRY_RUNSEND_EMAIL_DRY_RUN, SEND_EMAIL_LINK_DRY_RUNSEND_VERIFICATION_LINK_DRY_RUN)
  • k8s manifests: Renamed base/overlay YAML files and updated all Service names, labels, JOBS_SUPPORTED lists, gateway maps
  • skaffold.yaml: Updated profile names, generated paths, port-forward resource names
  • Tests: Updated unit tests, integration tests (job-registry), e2e tests (renamed test files too)
  • Scripts: Updated dev.ts and docker-build.ts references
  • Docs: Updated README, AGENTS.md, CLAUDE.md, DEVELOPMENT.md, all docs/plan/ and docs/skills/ files
  • job/service/package.json: Updated dependency names (@constructive-io/simple-email-fn@constructive-io/send-email-fn, etc.)

Part of a coordinated rename across 4 repos — see constructive-planning#837.

Review & Testing Checklist for Human

  • Verify pnpm generate still produces correct workspace packages with the new function names (the generated/ dir is gitignored so needs local validation)
  • Verify pnpm build succeeds after generation
  • Deploy to a local k8s cluster with make skaffold-dev and confirm both functions start and process jobs
  • Coordinate deployment with the constructive repo PR #1124 (worker must accept new names) and constructive-db PR #1106 (SQL callers use new names)

Notes

  • skaffold.yaml is auto-generated by scripts/generate.ts — the renames here should be validated by running pnpm generate which will overwrite with freshly generated content matching the new handler.json names
  • The pnpm-lock.yaml will need regeneration after the package.json dependency renames (pnpm install --no-frozen-lockfile)
  • This PR should be deployed after the constructive repo PR #1124 (which adds backward-compatible routing in the worker for both old and new names)

Link to Devin session: https://app.devin.ai/sessions/0bebbaeb3b374fd28f5ed051354b3b94
Requested by: @pyramation

- simple-email → send-email (email:send_email)
- send-email-link → send-verification-link (email:send_verification_link)

Renames function directories, handler.json names, env vars, k8s manifests,
skaffold profiles, tests, scripts, and documentation.

Part of constructive-planning#837
@devin-ai-integration
Copy link
Copy Markdown

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

The renamed function packages (@constructive-io/send-email-fn,
@constructive-io/send-verification-link-fn) are workspace packages
generated from handler.json, not published to npm. Use workspace:^
protocol to resolve them correctly.
@pyramation pyramation closed this May 11, 2026
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