Oshun Platform · Reference & analysis

Lilith — V1 Brand & Naming Record

The V1 consumer product, previously presented as OSHUN, is named Lilith.

5sections5 minread2tables

On this page

Status: Official naming record (user decision 2026-08-04)
Audience: Product, design, engineering, and every agent touching V1 copy
Companions: features.md · ARCHITECTURE.md · OMNIPRESENT_ASSISTANT_DESIGN_2026-08-03.md

The decision#

The V1 consumer product, previously presented as OSHUN, is named Lilith. Lilith is simultaneously:

  1. The app. The web app and installable PWA the member opens.
  2. The in-app assistant. The consumer-facing shell assistant speaks as Lilith — first person, host of the house.
  3. The main persona. Lilith fronts the whole experience: she helps you, checks in on you, and brings in her rooms as her supporting cast.

The customer domains — Tara (breath), Arete (habits), Veritas (what is true), Nyx (the sky tonight), Nisaba (the reading desk), Metis (the schoolroom) — are presented as Lilith's rooms. Copy should read as Lilith orchestrating: "I'll take you to Tara for a short sit", "It's late — shall I ask Nyx what's overhead?"

V1.0 opens four of them: Tara, Nyx, Arete, and Nisaba. Veritas and Metis are deferred to V1.2 (see V1 release scope below), so V1.0 copy says four rooms, never six, and never names Veritas or Metis — not in marketing, not in the manifest, not in an assistant line.

Company#

  • Legal entity: Oshun Synthetics LTD — the operator of Lilith, the owner of the Service, and the named data controller/processor in the legal pages.
  • Company website: oshunsynthetics.com — built at apps/oshun/corporate-web (static-export Next app; serve its dist/)
  • Product app: lilith.oshunsynthetics.com (canonical metadataBase, sitemap, JSON-LD, and deep-link association hosts all point here)
  • Support/legal mailboxes: support@, privacy@, legal@, dpo@, accessibility@ — all at oshunsynthetics.com
  • Status page label: status.oshunsynthetics.com

Who is called what (do not mix these up)#

Name What it names Where it appears
Lilith The V1 consumer app, the consumer-facing assistant persona, and the design language (design-system/lilith) Every customer-facing surface: web, PWA, Telegram/Slack channels, email
Eve The builder-side omnipresent assistant — intent-plane assistant actor, builder workbench, codex coding-agent harness Builder/operator planes only; never shown to members
Oshun Synthetics The company Legal pages, footer colophon, JSON-LD Organization, corporate site
OSHUN The internal platform (monorepo, @oshun/* scopes, env vars, operator/studio tooling) Code identifiers, staff-facing operator cockpit and studio surfaces
Tara … Metis Lilith's rooms — her supporting cast. V1.0 ships four (Tara, Nyx, Arete, Nisaba); Veritas and Metis open in V1.2 In-app rooms, marketing "What's inside", manifest shortcuts
lilith (domain) libs/lilith/* — the shared infra spine behind the consumer platform (predates the rebrand; name now aligns) Code only

Rules of thumb:

  • Member-visible copy says Lilith (app) and Oshun Synthetics LTD (company). It never says OSHUN, Eve, or Iris/Psyche/other substrate names.
  • Identifiers stay: @oshun/* packages, OSHUN_* env vars and constants, oshun-navigator persona id, OshunProviders, database names. A rename of code identifiers is explicitly not part of this rebrand.
  • Operator cockpit and studio surfaces are staff/creator tools of the platform and keep OSHUN platform branding.
  • Platform-shared delivery defaults (e.g. libs/oshun/messaging-channels push title fallbacks) stay platform-branded; the V1 deployment overrides them via config (OSHUN_MESSAGING_PUSH_TITLE=Lilith).

The persona in practice#

  • System prompt identity (libs/oshun/shell-assistant/src/system-prompt.ts): "You are Lilith — the voice, host, and main persona of the Lilith app… You orchestrate; the rooms support."
  • Default persona label: Lilith (was "OSHUN Navigator"; stored persona id oshun-navigator is unchanged).
  • Check-ins: the proactive help chip is framed as Lilith noticing ("Lilith noticed", "I noticed you bouncing between…", "Ask Lilith").
  • Greetings/farewells: Lilith speaks in first person and names the rooms ("Good evening — Lilith here. Shall I have Tara wind you down…").
  • Honesty: disclosure copy stays explicit — "Responses come from Lilith, an AI assistant — not a human operator." Lilith never claims to be human.

V1 release scope (2026-08-05)#

The V1 line ships in three releases. Say V1.0 rather than bare "V1" in copy and docs — "V1" alone reads as the whole line and wrongly implies the deferred pieces are gone for good.

Release What it adds
V1.0 Web + PWA. Four rooms: Tara, Nyx, Arete, Nisaba. Crypto payments only.
V1.1 Native iOS/Android apps, the watch companions, and the fiat rails.
V1.2 Restores the Veritas and Metis rooms.
  • V1.0 ships web + PWA only. The Next.js customer web app at lilith.oshunsynthetics.com and its installable PWA are the launch surfaces.

  • V1.0 ships four rooms. Veritas and Metis are deferred to V1.2. Their libraries, contracts, routes, and BFF services all stay in the tree — the deferral is about what a console may show, not about deleting a domain. No console (customer web, PWA, mobile, operator, studio, tenant, marketing) may advertise, link to, count, or compose them.

    The cut is declared once, in libs/oshun/navigation/src/release-scope.ts (V1_DEFERRED_DOMAIN_IDS, re-exported from @oshun/domain-registry), and every surface reads it. Lifting the deferral in V1.2 is one edit there plus the copy that quotes the release name. Enforcement points worth knowing:

    • getShellNavigationDomains() / getAvailableDomains() — scoped selectors every nav surface uses; listDomainMetadata() stays complete for admin.
    • apps/oshun/web/src/middleware.ts — rewrites deferred page paths to the /release-scope/<domain> notice and 404s the app's own API handlers.
    • apps/oshun/bff/src/middleware/release-scope.ts — 404s customer-facing deferred paths; operator/admin/studio paths are exempt so governance can keep stocking the rooms before they open.
    • WALKTHROUGH/matrix/routes.csv — those routes are marked out-of-v1.
  • V1.0 charges through crypto only. The Aje crypto rail (/billing/crypto) is the single rail V1.0 bills on. Card, bank, wallet, PayPal, mobile-money, and the Apple/Google in-app-purchase rails are deferred to V1.1 — the same release that ships the native apps, which is when the app-store rails become reachable at all.

    Declared beside the room cut in libs/oshun/navigation/src/release-scope.ts (V1_SCOPED_PAYMENT_RAIL_IDS, V1_DEFERRED_PAYMENT_RAIL_IDS). Two notes on how it behaves, because money is not a room:

    • isPaymentRailInV1Scope fails closed — an unrecognized rail id is treated as deferred, not chargeable. The domain predicate does the opposite, and deliberately so.
    • The BFF refuses deferred rails by path prefix, not by a rail field in the request body: a rail that cannot be charged should not have a reachable endpoint. Webhook ingress stays open so settlement callbacks for charges made before the cut still land.

    A member who already has a card on file keeps seeing it in /profile; nothing offers to add one.

  • V1.1 ships the native mobile apps (iOS App Store, Google Play, watch companions). Until those store listings exist, no V1.0 surface may link to a store page — install flows route to /welcome/download#web-install (LILITH_NATIVE_APPS_AVAILABLE = false in apps/oshun/web/src/lib/mobile-store-links.ts). The smart banner offers the PWA on every platform and says the native app arrives with V1.1.

  • The mobile codebase (apps/oshun/mobile, watch companions) is unchanged and still carries OSHUN-era copy; its Lilith rebrand is a V1.1 work item.