You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Bring the agent sender-verification tools to PostHog/posthog #466
Can the agent sender-verification tools reach PostHog/posthog master, so the slice-1 skill can tell an agent to verify a sender through the PostHog MCP?
Which MCP tools let an agent verify an email sender on its own? found that master has no MCP path for any verification step. The tools exist only as fork drafts: #343 (five MCP tools, route scopes, the setting-up-an-email-domain skill, behind workflows-email-domain-agent-setup), #345 and #351, with #352 moving with #343. #343 conflicts with master. Its upstream twin PostHog#109703 was closed in favor of migrating the fork stack upstream.
Done when those changes are rebased on master and open as reviewed draft PRs on PostHog/posthog, or when the migration is confirmed to happen elsewhere.
All three gate on workflows-email-domain-agent-setup (default off). Branches are new (upstream/* on the fork); the original fork branches and PRs are untouched.
Label rule stays per acting user (raised by both review models): a user-targeted rollout mixes old and new MAIL FROM behavior on one domain. Kept, because the MCP server shows the tools per user and the API gate uses the same check. The PR body says to roll the flag out by organization. Alternative: evaluate the label rule per project only.
Gate and tests
Isolated test DB (--nomigrations): posthog/api/test/test_integration.py, serializer, Domain Connect, email model, eval and products/workflows/backend tests green on each head.
MCP generator, filtering, apply-url, readiness and schema snapshot suites green.
hogli build:openapi + hogli build:schema-mcp clean, repo-wide mypy clean, hogli ci:preflight --strict passed (also in the pre-push hook).
Not run: the eval suite (needs LLM keys), a live MCP session, real SES, upstream CI beyond the draft subset (fork runs wait for maintainer approval). MCP typecheck fails in this checkout only on the unbuilt @posthog/quill package, in untouched files.
Review
Two rounds, GPT-6.1 Sol (Codex, high) and a fresh Claude Opus 5.5. merge-risk: PostHog#116863 medium, PostHog#116864 low, PostHog#116865 low (one-way door: tool names).
Fixed: stale tool-inputs.json without reply_to; reply_to missing from the OAuth guide and skill; duplicate test flag entry; mypy error in a new test; apply-url tool now hides redirect_uri; default-sender memo cleared before commit under the domain lock (now cleared again on commit, queued before the worker reload); five generic fork tests removed from feat(workflows): expose read-only email sending readiness over mcp PostHog/posthog#116865.
Rejected: a test for the second memo clear (the stale read needs a second connection); "defaults to feedback" help text (accurate with the flag off; the create tool tells agents to pass the domain's label).
CodeRabbit: skipped, retired on the repo.
Follow-ups
integrations-email-partial-update needs the sender's name, which no read tool returns. Making it optional changes the API contract.
Master's per-process workflows config memo can let a config PATCH on another worker write back a stale default sender. Predates these PRs.
Assignee could not be set on the upstream PRs (permission error); Michael is the DRI per the PR bodies.
Activity
Silthus commentedon Oct 14, 2026
Decisions (Michael, 2026-10-14):
Silthus commentedon Oct 14, 2026
Runtime: Claude Code background Agent
Worker: task-466-sender-tools-upstream
Cast: Opus 5.5, high. Wall-time cap: 150 minutes.
Silthus commentedon Oct 14, 2026
Claimed by conductor dispatch. Runtime: Claude Code background Agent, worker task-466-sender-tools-upstream, Opus 5.5 high.
Silthus commentedon Oct 14, 2026
Resolution
The sender verification tools are open as reviewed draft PRs on
PostHog/posthog, rebased on mastereebb24a87c0.e057075a5f94dbd4d533bdconfig.verifiedinintegrations-list9d7065d09c5All three gate on
workflows-email-domain-agent-setup(default off). Branches are new (upstream/*on the fork); the original fork branches and PRs are untouched.Calls made
reply_to(feat(workflows): add a default reply-to address to email senders PostHog/posthog#115898), so the update tool also edits the reply-to address; sender edits now reload workers on commit; the eval SES simulation answers master's new feedback-forwarding call; fix(workflows): keep one mail from label per email sending domain #345's duplicate flag constant and helper became one helper inposthog/models/integration/email.py.Gate and tests
--nomigrations):posthog/api/test/test_integration.py, serializer, Domain Connect, email model, eval andproducts/workflows/backendtests green on each head.hogli build:openapi+hogli build:schema-mcpclean, repo-wide mypy clean,hogli ci:preflight --strictpassed (also in the pre-push hook).@posthog/quillpackage, in untouched files.Review
Two rounds, GPT-6.1 Sol (Codex, high) and a fresh Claude Opus 5.5.
merge-risk: PostHog#116863 medium, PostHog#116864 low, PostHog#116865 low (one-way door: tool names).tool-inputs.jsonwithoutreply_to;reply_tomissing from the OAuth guide and skill; duplicate test flag entry; mypy error in a new test; apply-url tool now hidesredirect_uri; default-sender memo cleared before commit under the domain lock (now cleared again on commit, queued before the worker reload); five generic fork tests removed from feat(workflows): expose read-only email sending readiness over mcp PostHog/posthog#116865.Follow-ups
integrations-email-partial-updateneeds the sender'sname, which no read tool returns. Making it optional changes the API contract.