MeridiansMeridians

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: suggestDomainMaintenance proposes 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 same plannedLoopToCycle / plannedReminderToDomainReminder converters as everywhere else (maintenance-run).
  • AI proposes at every step; the durable document only changes on accept (suggest* in lib/engine/ai/onboarding.ts). Step components live in features/onboarding/steps/, threaded through useArchitecture / useCaptureFlow / useMaintainSuggestions.

Headless MCP twin — the same 6 steps, 1:1. create-onboardingset-onboarding-interests → (suggest-onboarding-topic-sources to enrich a custom topic) → suggest-onboarding-identitysuggest-onboarding-architecturepatch-onboarding-domain → (suggest-onboarding-sources · suggest-onboarding-questions + answer-onboarding-questions) → ground-onboarding-domainaccept-onboarding-corpusbuild-onboarding-constellationsuggest-onboarding-maintenance + apply-onboarding-maintenance, inspected between steps via read-onboarding. Handlers in lib/server/ops/handlers/onboarding.ts. Custom topics start bare — enriching a coined label into catalog sites/terms is the deliberate extra suggest-onboarding-topic-sources step.