Repository navigation
Conversation
The sandbox sender has no delivery route in the worker yet. A send through it now skips with a reason in the logs instead of passing the provider switch as a success. This lands before any API can create a sandbox sender row. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 27, 2026
Owner
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
provider: sandbox. Today such a send falls through the provider switch and reports success, though nothing went out.Impact
Pays into Workflows activation (first billed action after a team creates its first workflow), through the sandbox funnel step. This PR alone moves nothing a user sees. It makes a send through the sandbox sender fail safe.
Merge Danger
Caution
🔴 Merge risk: high · two-way door (merge-risk rubric)
provider: sandbox, which no sender row has until feat(workflows): provision a managed sandbox email sender #601 lands behind theworkflows-sandbox-senderflag. The rest of the email service suite runs unchanged on base and head.Changes
skippedwith that reason, and the step pushessuccess: false, so the workflow does not treat it as delivered.sandboxprovider case replaces this skip.Production lines (tests excluded): 12, from
git diff --numstat.How did you test this code?
email.service.test.tson this head: 142 passed. The two sandbox cases failed on base, where the send reported success.pnpm typescript:checkreports no errors on the stack head.mix-lanescheck on the fork compares each layer with master, so it flags the upper layers until the lower ones land.Test rationale:
email.service.test.ts"sandbox sender": a workflow send and a test send through the sandbox row skip with the reason and never call SES. Both failed on base, where the send reported success. The nearest test, the suspension block, covers a different gate.Proof (
fleet proof, on a preview of the stack head, which carries this worker change unchanged):Release status
Docs update
None here. #601 updates
docs/internal/workflows-email-sending-tiers.mdwith the skip.🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Agent: Claude Code, Claude Opus 5.5; review by GPT-6.1 Sol
tdd,writing-tests,writing-pr-descriptions,pr-description,merge-risk.Decisions
success: false, instead of falling through the provider switch as a successInvolvement: no grilling rounds; one design pass and two review rounds on the combined change, then one review round on this PR (GPT-6.1 Sol); proof captured.
🤖 Generated with Claude Code