Repository navigation
feat(storybook): plainer Explain cards with follow, block and topic boosts - #6937
Merged
Merged
Conversation
Explain mode now runs a copy of the For You challenger/5.0 policy over the real /history posts, so every reason, chip and score comes from the same math the feed uses, and adds a Personalization panel for full control. - Cards keep their exact layout: the explanation overlays the real grid or list card with the source and title at the card's own offsets, and the summary bar is gone. - Reason chips show what moved each post (topic match, follow, reader response, freshness, seen before, rotation, variety) and open a popover with the math and the policy knob behind it. - The Personalization panel shows the full inferred profile with every weight editable, sources and people, every ranking knob with its raw retriever_config key, what was left out and why, links to explicit settings, and resets, with a live preview of the next page. - A spec story maps each control to what daily-feed supports today.
Drop the reason chips from the card, the hover ring that pointed at other cards sharing a topic, and the signal counts behind both. Rows now say what a topic or source means to the reader (You follow it, You've read 3 posts on it, Not one of your topics, You don't follow it) and get more height and spacing. Reason and leave copy loses the policy terms (side topic, fill-ins). Story 3 now shows pressing less on a topic, since the chip popover it opened is gone, and the two card states only the chips explained are removed.
Each topic and source row now has an icon-only follow toggle (green when followed, label in the tooltip) and block, replacing less and more. Every topic row shows how much it counts in the profile; tapping the number opens the profile's 0 to 1.5 slider with a reset and a link to the profile. An exact value now puts a topic in the profile on its own, so a topic you neither follow nor read about can be raised from 0. Its reason reads "You set #tag to 0.81." Setting a card's main topic to 0 shows the leave notice with Undo. maxTopicWeight moves to profile.ts so the panel can share it. Story 3 opens the value popover, and the card states swap Showing more and Muted for an exact value and a topic set to 0.
The dock keeps to one line: the hint is now "Follow, block, or tune any topic.", longer change messages truncate with the full text in the tooltip, and All controls becomes Personalize to match the Personalization page. On phones Undo and Personalize are icons, Refresh feed is Refresh and the text drops to footnote size, which fits every card action's message. The fewer-like-this confirmation is shortened to fit, and the value popover links to All topics instead of Your profile.
Match the Personalization page: a topic's value reads as the boost it
gives a post (×1.36), or Off at 0, in the row tag and the popover. The
popover is titled "Boost for #tag", steps by 0.05 like the page, and
resets with "Back to automatic (×1.36)". Reasons and leave notices
follow ("You gave #nginx a ×1.81 boost.", "You turned #career off.").
formatBoost lives in describe.ts until the page's ParamFormat.Boost
lands on this branch.
…ards-44fd57 # Conflicts: # packages/storybook/stories/features/feed-explain/FeedExplain.stories.tsx # packages/storybook/stories/features/feed-explain/components/ChangesDock.tsx # packages/storybook/stories/features/feed-explain/components/ExplainPanel.tsx # packages/storybook/stories/features/feed-explain/components/FeedExplainPage.tsx # packages/storybook/stories/features/feed-explain/components/FeedScreenContext.ts # packages/storybook/stories/features/feed-explain/components/PersonalizationContext.tsx # packages/storybook/stories/features/feed-explain/components/PersonalizationPanel.tsx # packages/storybook/stories/features/feed-explain/components/controls.tsx # packages/storybook/stories/features/feed-explain/components/panel/InterestsSection.tsx # packages/storybook/stories/features/feed-explain/components/panel/Preview.tsx # packages/storybook/stories/features/feed-explain/components/panel/RankingSection.tsx # packages/storybook/stories/features/feed-explain/components/panel/Section.tsx # packages/storybook/stories/features/feed-explain/components/panel/SettingsSection.tsx # packages/storybook/stories/features/feed-explain/components/panel/SourcesSection.tsx # packages/storybook/stories/features/feed-explain/policy/describe.ts # packages/storybook/stories/features/feed-explain/policy/params.ts # packages/storybook/stories/features/feed-explain/policy/profile.ts # packages/storybook/stories/features/feed-explain/policy/rank.ts
idoshamun
enabled auto-merge (squash)
October 16, 2026 20:08
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
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.
Card content for Explain mode in the "Features/Feed Explain" Storybook exploration, on top of the personalization center from #6936.
Cards
×1.36, orOff). Tapping it opens the same slider as the Topics page, with "Back to automatic" and a link to All topics. Raising a topic that is not in your profile adds it: the profile now includes any topic with an exact boost, and the Topics page describes it as "You added this with a boost."Dock
Cleanup
FactorChips.tsx(no users left), the signal counts inFeedScreenContext, and the unusedhoverKeyinPersonalizationContext.formatBoostandmaxTopicWeightare shared by the cards and the Topics page.Stories
Checked
Preview domain
https://claude-feed-explain-cards-44fd57.preview.app.daily.dev