Repository navigation
Conversation
Closed
1 of 4 tasks
Silthus
force-pushed
the
feat/workflows-first-run-banners
branch
from
October 7, 2026 11:59
6710258 to
14e6faf
Compare
Silthus
force-pushed
the
feat/workflows-first-run-banners
branch
from
October 7, 2026 12:08
14e6faf to
e4c0685
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.First-run drafts and sending workflows need guidance that reflects their current state.
Depends on #112299. GitHub shows the cumulative diff against master. Incremental range:
0760a420c27f..e4c0685e1290.Warning
Merge risk: medium. The default-off first-run flag and stored workflow id limit banners to the first-run workflow.
Fork handoff for source #112076. Modernized head
e4c0685e1290a6c393ccc1b317176b43e6873c9a. 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 banner logic tests cover draft and sending states, remembered dismissals, and flag-off behavior.
Historical proof on c90a96e, before modernization on 2026-10-07
Test seams: a kea logic test,
firstRunWorkflowBannerLogic.test.ts, mounts the realworkflowLogicwith the hog flow API mocked at the HTTP layer. Stories inFirstRunWorkflowBanner.stories.tsxcover both states at full width and at 520px.Test rationale: no existing test covers this banner. The logic test catches:
saveWorkflowPartial, as the header does);Evidence:
Red: the new test on a stub logic that never shows a banner
The dismissal test passed on the stub because it did not yet assert the draft banner first. It now does, and removing
persistfrom the dismissal reducer makes it fail.workflowSceneLogic.test.tspass (7 suites, 44 tests).typescript:checkclean,oxlint --quietandoxfmt --checkclean on the touched files, pre-pushci:preflight --strictclean.Historical references: link 1, link 2, link 3, link 4, link 5, link 6, link 7, link 8, link 9.
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. The first run is behind a flag and has no docs yet.
🤖 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.