Files
multica/packages/core/onboarding/step-order.ts
Jiayuan Zhang a61a8ecfed feat(onboarding): merge About-you step, collect source after agents deliver value (#5786)
Flow drops from five steps to three: role + use_case merge into a
single About-you screen (one Skip covers both; Continue stamps skip
markers on whichever group was left unanswered), and the source
question leaves onboarding entirely.

Source is now collected only by the workspace source-backfill prompt,
which additionally waits until agents/squads have completed at least
SOURCE_BACKFILL_MIN_AGENT_DONE_ISSUES (3) issues in the workspace —
attribution is asked after Multica has visibly delivered value, not
before. The count rides a limit:1 issues query keyed under
issueKeys.all so realtime invalidations keep it fresh, enabled only
for users who still owe an answer.

Server: questionnaire complete() narrows to role + use_case so the
funnel step doesn't stall on the now-deferred source; a new
metrics-only onboarding_source_submitted event (+ Prometheus counter)
tracks the backfill prompt's answer/decline transition once per user.

Co-authored-by: Lambda <lambda@multica.ai>
Co-authored-by: multica-agent <github@multica.ai>
2026-07-23 01:57:44 +08:00

38 lines
1.6 KiB
TypeScript

import type { OnboardingStep } from "./types";
/**
* Canonical order of the persisted onboarding steps.
*
* Single source of truth for "what step comes after what" — consumed
* by the UI progress indicator to compute `index of current_step` and
* `total step count`. Inserting, reordering, or removing a step only
* requires changing this array; every call site that reads it updates
* automatically.
*
* Intentionally excludes "welcome": welcome is a first-entry product
* intro, not a persisted step. It doesn't show a progress indicator
* for the same reason — users shouldn't think of reading the intro
* as progress toward completing setup.
*
* Two questions are intentionally NOT steps anymore:
*
* - "source" (How did you hear about Multica?) is pure attribution
* data with zero user-facing payoff, so it no longer taxes the
* critical path. It is collected post-onboarding by the workspace
* source-backfill prompt, and only after agents have completed
* work for the user — see `needs-backfill.ts`.
* - "role" / "use_case" merged into the single "about_you" step:
* they share the same consumer (the Helper "About me" context
* block) and one screen keeps the flow at three steps.
*
* Note: "teammate" (the old "Create your first agent" step) is no longer
* part of the in-flow sequence. Helper agent creation now happens after
* onboarding exits, in the workspace shell — see
* `packages/views/workspace/welcome-after-onboarding.tsx`.
*/
export const ONBOARDING_STEP_ORDER: readonly OnboardingStep[] = [
"about_you",
"workspace",
"runtime",
] as const;