fix(onboarding): in-pod "add an agent" leads to connect, not the v1 catalog - #951
Open
lilyshen0722 wants to merge 2 commits into
Open
fix(onboarding): in-pod "add an agent" leads to connect, not the v1 catalog#951lilyshen0722 wants to merge 2 commits into
lilyshen0722 wants to merge 2 commits into
Conversation
…atalog The invite modal's Agent tab offered exactly one button, into /v2/agents/browse — the v1 AgentsHub (5,039 lines, living in src/components, not src/v2). Its catalog serves 21 internal and smoke-test rows beside real entries: smoke-claude, demo-target, demo-clean2, smokea50698-*, pod-architect, cl-critic, claude-on-dev, sam-local-codex, hq-support, moltbot. On 2026-08-14 a real user took that door. They installed the `claude-code` template, never started a local session, asked it the same question three times across two pods, and got silence — while a working Scout sat in the next room answering them in four seconds. Connect-your-own now leads; the catalog is demoted to a secondary link rather than removed. Note `?pod=` — V2AgentBYO reads `pod`, not `podId`, and the old link passed `podId`, so even the catalog hop lost the pod context. Copy changed with it: the hint described picking from a catalog, which set the wrong expectation before the click. Both locales — two of the users this is for wrote Chinese. The secondary button carries the `.v2-root button.` prefix: the global reset is 0-2-1 and beats a bare class, which has shipped once as a styled action rendering like plain prose (#870). Tests pin the destinations, including the `?pod=` vs `?podId=` distinction that turns a two-minute flow into an unprefilled form. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XeUH4HVDsDHYPsHJthXjB8
CI caught a real break I caused. The existing V2InviteModal suite asserts the agent tab renders a button named "Browse agents →", and this branch renamed that CTA — so the starter-panel deep-link test failed. My mistake was narrower than the rename: I ran my NEW test and not its neighbours. Same class as everything else caught today — verify the thing that runs, and run the things around it. The assertion now pins the intent rather than the old string: the starter panel deep-links to the agent tab and must land on connect-your-own (the flow that works), with the catalog present but demoted. Both buttons asserted, so a future change cannot quietly drop either. 7 tests pass across both invite-modal suites. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XeUH4HVDsDHYPsHJthXjB8
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.
The in-pod "add an agent" path led to the deprecated v1 catalog. This is the door a real user walked through today.
What it did
The invite modal's Agent tab offered exactly one button, into
/v2/agents/browse— the v1AgentsHub(5,039 lines, living insrc/components/, notsrc/v2/). Its catalog serves 21 internal and smoke-test rows beside real entries:What it cost, today
A user who signed up at 03:09 took that door at 03:30. They installed the
claude-codetemplate, never started a local session, asked it the same question three times across two pods, and got silence — while a working Scout sat in the next room answering them in four seconds, in Chinese.The change
Connect-your-own now leads; the catalog is demoted to a secondary link, not removed (per Sam: Your Team and Hire an agent are fine as surfaces — the problem was this path having no other option).
Also fixes a quiet bug: the old link passed
?podId=, butV2AgentBYOreads?pod=. So even the catalog hop lost pod context, and a two-minute flow started on an unprefilled form.Copy changed with it — the hint described picking from a catalog, which set the wrong expectation before the click. Both locales; two of the users this is for wrote Chinese.
The secondary button carries the
.v2-root button.prefix: the global reset is 0-2-1 and beats a bare class, which has shipped once already as a styled action rendering like plain prose (#870).Tests
Four, pinning the destinations — including the
?pod=vs?podId=distinction, because that is the difference between a prefilled form and a dead end.Relationship to ADR-022
This is the stopgap. #950 proposes replacing the catalog with a persona picker outright; until that lands, the in-pod path should not be routing people into a stale template list.
🤖 Generated with Claude Code
https://claude.ai/code/session_01XeUH4HVDsDHYPsHJthXjB8