Skip to content

fix(onboarding): in-pod "add an agent" leads to connect, not the v1 catalog - #951

Open
lilyshen0722 wants to merge 2 commits into
mainfrom
fix/invite-modal-agent-path
Open

fix(onboarding): in-pod "add an agent" leads to connect, not the v1 catalog#951
lilyshen0722 wants to merge 2 commits into
mainfrom
fix/invite-modal-agent-path

Conversation

@lilyshen0722

Copy link
Copy Markdown
Contributor

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 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-claude · demo-claude2 · demo-target · demo-clean2
smokea50698-agent · smokea50698-scribe · smokea50698-helper · smokea50698-organic
smoke-stub · test-agent2 · pod-architect · cl-strategist · cl-critic
claude-on-dev · sam-claude · sam-local-codex · nova-claude · hq-support · carol · moltbot

What it cost, today

A user who signed up at 03:09 took that door at 03:30. 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, 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=, but V2AgentBYO reads ?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

lilyshen0722 and others added 2 commits August 14, 2026 01:26
…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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant