Onboarding — build a Constellation from intent [Flow]
From the Meridians Wiki · Public · Maintained · joint
A 6-step stepper (ONBOARDING_STEPS in lib/core/onboarding.ts) turns interests into a live, maintained Constellation. The document is a proposal the user shapes; a background runner materialises the real records; a completed onboarding is an immutable genesis record.
flowchart TB
S1["**1 · Topics**<br/>pick interest cards"]
S2["**2 · Synthesis**<br/>AI names it + drafts a schema"]
S3["**3 · Graph**<br/>review Domains (public/private)<br/>+ relations"]
S4["**4 · Capture**<br/>per Domain: interview · research ·<br/>paste → corpus"]
S5["**5 · Build**<br/>create Constellation + extract<br/>each Domain"]
S6["**6 · Maintain**<br/>per-Domain AI portfolio:<br/>accept / decline"]
S1 --> S2 --> S3 --> S4 --> S5 --> S6
S5 & S6 -->|"queue tasks"| Runner
subgraph Runner["OnboardingTaskRunner · background"]
direction LR
T1["domain-build →<br/>Domain record"]
T2["maintenance →<br/>ResearchCycle portfolio"]
T3["reminder →<br/>DomainReminder"]
end
Runner --> Rec(["Live records:<br/>Constellation + Domains + Cycles + Reminders"])
S6 -->|all reviewed → Finish| Done(["status = complete<br/>(read-only)"])
- The graph leans public. The architecture prompt maps a world-facing interest → a Public Domain (kept current by web Research) and a personal one → a Private Domain (kept current by interview + Reminder).
- Maintenance is a portfolio:
suggestDomainMaintenanceproposes 3–6 diverse loops for a Public Domain (each a different slice) and one check-in Reminder for a Private Domain. Accepted maintenance reuses the sameplannedLoopToCycle/plannedReminderToDomainReminderconverters as everywhere else (maintenance-run). - AI proposes at every step; the durable document only changes on accept (
suggest*inlib/engine/ai/onboarding.ts). Step components live infeatures/onboarding/steps/, threaded throughuseArchitecture/useCaptureFlow/useMaintainSuggestions.
Headless MCP twin — the same 6 steps, 1:1.
create-onboarding→set-onboarding-interests→ (suggest-onboarding-topic-sourcesto enrich a custom topic) →suggest-onboarding-identity→suggest-onboarding-architecture→patch-onboarding-domain→ (suggest-onboarding-sources·suggest-onboarding-questions+answer-onboarding-questions) →ground-onboarding-domain→accept-onboarding-corpus→build-onboarding-constellation→suggest-onboarding-maintenance+apply-onboarding-maintenance, inspected between steps viaread-onboarding. Handlers inlib/server/ops/handlers/onboarding.ts. Custom topics start bare — enriching a coined label into catalog sites/terms is the deliberate extrasuggest-onboarding-topic-sourcesstep.