Skip to content

Bring the agent sender-verification tools to PostHog/posthog #466

Closed

Description

@Silthus

Question

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.

Activity

  1. self-assigned this
    on Oct 14, 2026
  2. Silthus commented on Oct 14, 2026

    @Silthus
    OwnerAuthor

    Decisions (Michael, 2026-10-14):

  3. Silthus commented on Oct 14, 2026

    @Silthus
    OwnerAuthor

    Runtime: Claude Code background Agent
    Worker: task-466-sender-tools-upstream
    Cast: Opus 5.5, high. Wall-time cap: 150 minutes.

  4. Silthus commented on Oct 14, 2026

    @Silthus
    OwnerAuthor

    Claimed by conductor dispatch. Runtime: Claude Code background Agent, worker task-466-sender-tools-upstream, Opus 5.5 high.

  5. Silthus commented on Oct 14, 2026

    @Silthus
    OwnerAuthor

    Resolution

    The sender verification tools are open as reviewed draft PRs on PostHog/posthog, rebased on master eebb24a87c0.

    Upstream PR Reviewed head Replaces Depends on
    #116863 five MCP sender tools, scopes, schemas, skill, evals e057075a5f9 Silthus#343 + Silthus#352 master
    #116864 one MAIL FROM label per domain 4dbd4d533bd Silthus#345 PostHog#116863
    #116865 readiness tools, config.verified in integrations-list 9d7065d09c5 Silthus#351 master

    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.

    Calls made

    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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions