MeridiansMeridians

3. Surface map

Source path: knowledge-base/knowledge/product/journey/03-3-surface-map.md

# 3. Surface map

### 3.1 Curiosity and commitment

| Boundary | URL and surface | Current implementation | Success and recovery |
|---|---|---|---|
| Discover | `/gateway` | `src/features/gateway/landing/PortalLandingView.tsx`, `ProgramLoop.tsx`, `PhoneStories.tsx`, `MacPosition.tsx`, `PricingCards.tsx` | A visitor selects **See how the world works** and follows the approved reveal: planetary framing story → training world on Earth → pocket-dimension extension → world forms → worked Domain → Program → Will and Scenario → pentad and voyage graph → explicit delivery boundary → plans. The far journey makes the need visible; the first honest product remains a replayable narrative for a reader here. |
| Register / sign in | `/access` | `src/features/gateway/auth/SignInView.tsx`, `src/features/gateway/landing/PortalHero.tsx`, `src/features/gateway/useGatewaySession.ts` | Registration preserves the selected Hosted intent. Existing users return to the same expert. Errors retain entered details and name the repair. |
| Choose and pay | `/plans`, `/account` | `src/features/gateway/landing/PricingCards.tsx`, `src/features/gateway/console/AccountView.tsx`, `src/features/gateway/admin/PlansView.tsx`, `src/features/gateway/admin/BillingDashboard.tsx`; `/api/billing/{checkout,overview,portal,webhook}` | Hosted checkout returns to a durable provisioning state. Abandoned checkout returns to the plan, not the landing page. Billing failure never threatens read/export access. |
| Provision | `/host` | `src/features/gateway/console/HostView.tsx`, `InstanceCard.tsx`, `DomainPicker.tsx`; `/api/account/{instance,domain}` | The account shows queued, provisioning, ready, or repair—never an indefinite spinner. Ready has one **Open Meridians** action. |

The landing page is a top-of-funnel campaign surface, not the owner of product identity. It leads with the
arduous distance humans and AI may cross between planets as a framing story, then grounds the promise in
the training world being built on Earth: simulations, visual novels, and stories where caring about people
precedes a consequential choice. These worlds supplement a traveller's narrowing physical experience;
pocket dimensions extend the form into novelty, practice, encounter, and remembered history carried
within the journey. The four world forms, consequential life setup, Program,
Will, pentad, and voyage graph earn how that answer works. The mobile datacenter is a fictional worked
archetype, not present infrastructure; wellbeing and transfer remain hypotheses requiring external
evidence. Metadata and descriptive surfaces retain the full practice-ground identity.

The primary hero action is not a dead-end lead form. It carries explicit Hosted intent through the
funnel:

```text
See how the world works
  → world forms and worked Domain
  → Build a Domain
  → /access?mode=register&plan=managed
  → Director account
  → /account?plan=managed
  → Hosted checkout and provisioning
  → Open Meridians
  → runtime readiness
  → /onboarding
  → Graph → Reading → first Position
```

The hero action scrolls to the world forms rather than competing with the purchase path. **Build a
Domain** begins the Hosted path only after the worked Domain and graph have made the present utility
legible. **Read the white paper** appears after the orbital direction and boundary have been explained.
Navigation remains quiet: Plans, Sign in, and the white paper are available without diluting **See how
the world works**.

### 3.2 Activation

| Boundary | Surface | Current and target contract | Success and recovery |
|---|---|---|---|
| Instance hand-off | Hosted address → `/` | Access currently lives in `src/lib/client/store/contexts/access-context.tsx`, `src/features/access/onboarding/DirectorCentralOnboarding.tsx`, and the typed locale copy seam `src/lib/core/i18n/copy.ts`. Target: the Gateway session hands the Director into the provisioned instance without a second registration ritual. | The Director sees one setup continuation. Expired hand-offs return to Gateway sign-in and then resume. |
| Provider readiness | Home / provider modal | Current: `src/shell/topbar/modals/ApiKeys.tsx` (the `ApiKeyModal` default export), `src/shell/GatewayShell.tsx`. Target: the runtime checks the capability immediately before each paid Onboarding action; optional providers do not become a generic entrance exam. | Missing, invalid, unsupported, quota, and budget failures each name one repair before work starts. |
| Onboarding entry and resume | `/` → `/onboarding` | Current Home opens `CreationWizard` or `ConstellationEditor` modals. Target: **Build your first constellation**, new-Director continuation, and active `OnboardingCard`s route into the durable Onboarding page. | Several Onboarding documents may be active. Home lists them independently and highlights the one decision that most needs attention. |
| Topic selection and synthesis | `/onboarding/[id]` | A broad fixed catalog of emoji topic/subtopic cards feeds one editable AI title and description. Minimal search filters the catalog; optional unnamed nuance is supplied during synthesis and never creates a custom card. | One signal or many remain visually compact. No Goals, Needs, Private/Public card classification, or preset step blocks progress. |
| Constellation Graph | Onboarding Graph checkpoint | Cards, nuance, title, and description directly produce an editable Dagre SVG of proposed Domain boundaries and labelled cross-connections. Private/Public is inferred from each complete Domain boundary. | Every Domain participates in the Graph; accepted preparation locks unsafe replacement. No Constellation, Firecrawl job, or Domain exists yet. |
| Research preparation | Onboarding interview/research lanes | Private Domains use a generated, paced, one-message-at-a-time interview. Public Domains use an editable seeded scenario and three current-web Firecrawl passes. Both produce a reviewed expert paradigm corpus. | The user sees ordered tasks, provenance, source boundary, provider spend, progress, and evidence gaps. |
| Identity and extraction | Onboarding confirmation → task view | The existing title, description, and Graph create the Constellation. Accepted corpora are then independently extracted into canonical Domains and attached. | Reloads do not duplicate work; one failed extraction does not roll back siblings or the Constellation. |
| Maintenance | Onboarding maintenance | Every Public Domain receives a reviewed Research cycle; every Private Domain receives a scheduled Reminder that creates a Note and Story. | Onboarding cannot complete while either maintenance path is silently off. |
| First read | Graph → Reading → Position | Existing Graph and `src/shell/stage/views/mind/ReadingsView.tsx`; Position UI in `src/shell/stage/views/program/PositionsView.tsx`. | If grounding is sufficient, the user reviews a priced Reading — a cohort of possible futures with probabilities — grounded in a Reasoning Graph, with one proposed monitor to keep it live. If not, Meridians names the evidence gap instead of fabricating a read. |

Activation is complete only when the user has experienced the promise, not when setup fields are saved:

> **one meaningful question → one grounded Position → one live read the user understands**

### 3.3 Steered and experienced use

| Moment | Surface | Product behaviour |
|---|---|---|
| Material change | Stories: `src/features/program/primitives/StoriesRingCTA.tsx`, `reader/StoryReader.tsx`, `ProgramStoryCard.tsx` | Lead with bearing on the user’s live question. Activity without consequence stays quiet. |
| Voice input | Contextual composers using shared `DictationButton` and `useDictation` | One trailing mic beside Send / Continue / Commit. Dictation fills the same field, uses colour plus a waveform overlay while active, and never auto-submits. No separate Voice mode. |
| Signal | Stories → Position | Show the fresh evidence, the re-priced Reading, what moved the odds, and rationale. The read updates; the machine never claims a truth was resolved. |
| Deep inspection | Desktop Studio | Open source → opinion movement → Graph → Reading → Position references. A correction targets the layer that is actually wrong. |
| Cross-domain direction | `/pilot`, `src/shell/home/PilotView.tsx` | Experienced Directors can coordinate across experts through the same typed operations. Pilot is not the first-run chat box and not an alternate writer. |
| Members | Settings → Members in a desktop domain; compact Members action in a mobile domain; Constellation Members badge and tab | People hold identity once. Constellation roles inherit into every attached domain; a domain role is an explicit exception. Viewer is also the member-audience role, so there is no separate subscriber workflow. |
| Completion | Home and Stories | A real caught-up state names the next scheduled run and makes leaving feel safe. Home chooses one continuation from pending judgment, unfinished activation, an active Position, or recent movement. |
| Compounding | Tutor and later runs | Show the correction echo: what was taught, where it was incorporated, and which later output inherited it. This closes the value loop. |
Open on GitHub

Raw Markdown source