Repository navigation
Conversation
1 of 4 tasks
Silthus
force-pushed
the
feat/workflows-first-run-quick-start
branch
from
October 7, 2026 11:59
fd500d9 to
deff67c
Compare
Silthus
force-pushed
the
feat/workflows-first-run-quick-start
branch
from
October 7, 2026 12:07
deff67c to
ff09a4a
Compare
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
Feature flags.
workflows-first-rungates the first-run experience. Shared template/schema fixes remain unconditional; sandbox and reach integrations are separate follow-ups.Quick start tasks need to follow the first-run creation, test-send and own-domain journey.
Depends on #112053. GitHub shows the cumulative diff against master. Incremental range:
de4145d200d7..ff09a4a43a54.Warning
Merge risk: medium. The shared quick-start registry serves every product. Flag-off coverage preserves the existing Workflows task list.
Fork handoff for source #112068. Modernized head
ff09a4a43a54d19779b5f2d35762bfdc1fd4b14e. This draft prepares review and recreation in the upstream repository.Changes
Historical screenshot from the original head. It does not verify the modernized head.
How did you test this code?
Final freshness proof: the nine core layers descend from
b75567aca6cce9f0499e882463fc7e71d65a064c. The template API suite passed 31 cases; frontend first-run, sender, welcome, setup-task and test-send suites passed 110 cases across 16 suites. Full frontend TypeScript and all nine strict increment gates passed with no new Semgrep findings. API types were regenerated from the current backend source in the owning layers; the final full OpenAPI run produced zero drift. The default-offworkflows-first-rungate remains, and sandbox/reach follow-ups are excluded. Historical screenshots and reviews retain their recorded scope. Fresh upstream CI, a new browser render and a fresh Claude review remain unchecked.The independent cumulative frontend run passed 106 tests across 15 existing suites. Backend metadata/API suites passed 31 tests. OpenAPI regeneration completed successfully. Final frontend typecheck and strict cumulative preflight passed with zero failures. Storybook has not produced a usable rendered screenshot on the new head. Historical images and proof remain preserved below.
Test rationale: Existing quick-start, sender and verification tests cover task lists and completion. The flag-off verification case catches an unintended onboarding-task write.
Historical proof on 0bf72df, before modernization on 2026-10-07
Test seams:
productSetupLogic(the task list),firstRunMakeItYoursLogic(test send and create),emailSetupModalLogic(verification),ownSenderQuickStartLogic(an already verified sender). The API is mocked at the HTTP layer, and completion is asserted on theonboarding_tasksPATCH the frontend sends.Test rationale:
productSetupLogic.test.ts: oneit.eachwith the flag on and off. It catches the quick start showing the old DNS-first list under the flag, or a locked "Turn on your first workflow".firstRunMakeItYoursLogic.test.ts: extends the existing send, skip and create cases. It catches a test send or an enabled create that leaves its task open, and a skipped send or a draft that completes one.emailSetupModalLogic.test.ts: oneit.eachoversuccessandpending. It catches a verified own sender that leaves "Send from your own domain" open.ownSenderQuickStartLogic.test.ts: oneit.eachover a verified, an unverified and a sandbox sender, and the flag off. It catches a pre-verified own sender that never completes the task, or a sandbox sender that does.Red on the tree before the change, green after
Red (new tests, ids generated, behavior not yet built):
The review fix went red first too: all four
ownSenderQuickStartLogicrows failed, because the stub logic loaded no senders.Green on the final tree: the four suites above plus
WorkflowsFirstRunTab.test.tsxandfirstRunSenderLogic.test.ts, 38 passed, none skipped.Local gate on the final tree:
hogli teston the touched suites,pnpm --filter=@posthog/frontend typescript:check,pnpm --filter=@posthog/frontend lint,oxfmt --checkon the touched files,ruff checkandruff format --checkonsetup_tasks.py,hogli build:openapi, and the pre-pushhogli ci:preflight --strict.Not checked: the running app. The screenshots come from a scratch Storybook story of
ProductSetupPopover, kept out of the commit. Fork CI runs need approval.Historical references: link 1, link 2, link 3, link 4, link 5.
Release status
Fork handoff only. This task does not activate rollout flags. Upstream CI and the unavailable Opus review remain handoff gaps.
The first-run journey uses the existing default-off
workflows-first-runflag. Core uses verified own-domain senders and the baseline single-step test-send endpoint. Core has no sandbox, testing-v2 or email-reach dependency. No flag rollout is part of this modernization.Docs update
None.
🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Agent: Claude Code, Claude Opus 5.5 (claude-opus-5-5); Codex, GPT-6.1 Sol for the 2026-10-07 modernization.
Skills: modernize-pr, pr, writing-pr-descriptions, writing-voice, unslop, merge-risk, running-ci-preflight, and tdd for behavior adaptations.
This freshness replay preserves each published snapshot increment on pinned upstream
b75567aca6cce9f0499e882463fc7e71d65a064c. Historical reviews remain scoped to their original heads. The parent-coordinated Claude Opus 5.5 review attempt hit an API rate limit; the modernization review remains incomplete. No real SES delivery, DNS changes or flag rollout occurred.Final freshness replay: T3 Code, Codex, GPT-6.1 Sol (
gpt-6.1-sol). Skills: pr, writing-pr-descriptions, writing-voice, unslop, stacking-prs, running-ci-preflight. Fork drafts remain unready; no preview label or rollout flag was activated.