42 lines
3.6 KiB
Markdown
42 lines
3.6 KiB
Markdown
# Glossary
|
|
|
|
Canonical domain terms. Every doc that uses these terms means *exactly* what's defined here. If a term is ambiguous in your draft, add it here first.
|
|
|
|
## Tenancy
|
|
|
|
- **Person** — a single human user. Primary tenant. Identified by `user_id`. Owns a profile, inbox, bookings, analytics.
|
|
- **Org** — optional overlay tenant: an entity (typically an LLC) that holds talent contracts + financial flows. Identified by `org_id`. Has one **owner** Person, N admin Persons, N member Persons.
|
|
- **Tenant** — umbrella term covering both Person and Org. Every multi-tenant table carries `user_id` and optional `org_id`.
|
|
- **Provider** — a Person who offers services through the platform (escort, content creator, etc.). Independent of whether they belong to an Org.
|
|
- **Client** — the Provider's customer. Lives one tenancy layer deeper than Provider.
|
|
|
|
## Brand & corporate
|
|
|
|
- **Cocotte** — public-facing umbrella **brand** operated by the Demimonde Org. Customers see "Cocotte", never "Demimonde".
|
|
- **Demimonde** — back-office **Org** (the LLC). Holds contracts + financials. Invisible to customers.
|
|
- **Sansonnet** — separately-held independent Org with its own brand at `sansonnet.maison`.
|
|
- **Lilith Apps ehf** — the tech company (platform infrastructure / shared services).
|
|
- **Brand** vs **Org** — Brand = customer-visible presentation (logo, copy, domain). Org = back-office legal entity. One Org can operate multiple Brands.
|
|
|
|
## Lineage
|
|
|
|
- **V0** (`egirl-platform`) — viky-era, 27-app monorepo. Archived as `.archive/platform.0.tar.zst`.
|
|
- **V1** (`lilith-platform`) — 54-feature SaaS, never shipped. Archived as `.archive/platform.1.tar.zst`.
|
|
- **V2** (`lilith-platform.live`) — Quinn-personal, currently in production. Archived as `.archive/platform.2.tar.zst`. Source path on apricot is **never modified**.
|
|
- **V3** (`@atlilith`) — brief intermediate workspace, skipped. Preserved-readonly sibling repo at `forge.black.lan/lilith/atlilith` AND archived as `.archive/platform.3.tar.zst` for completeness (small — no code shipped).
|
|
- **V4** (`@cocottetech`) — current active workspace. Additive to V2 — does not replace it.
|
|
|
|
## Architecture
|
|
|
|
- **Feature** — vertical slice owning its `ai-core/`, `web-fe/`, `ios-fe/`, `worker/`, `mcp-server/`, `sql/`, `deploy/`, `docs/`, `tests/`, `agents/`. Has a `feature.yaml` manifest.
|
|
- **Surface** — a user-reachable interface of a feature: `ai-core` (NestJS API), `web-fe` (React), `ios-fe` (Swift), `worker` (cron/queue), `mcp-server` (MCP tools).
|
|
- **Peer service** — code that lives outside `@cocottetech/` (in `~/Code/@applications/@{ai,ml,imajin}/` or `~/Code/@projects/@lilith/{mail,mac}-sync/`). Consumed over HTTP/MCP. Never vendored.
|
|
- **Platform action** — a skill in `@ai/@skills/platform-*/actions/*` that the AI assistant invokes against `platform.api`. Contributed upstream to `@ai`, not vendored into V4.
|
|
- **`@lilith/*` SDK** — the canonical shared package family in `~/Code/@packages/` (184 TS + 35 Py). V4 consumes via private registry at `http://forge.black.lan/api/packages/lilith/npm/`.
|
|
|
|
## Methodology
|
|
|
|
- **lix** — the unified build/test/validate toolchain (`lixbuild`, `lixtest`, `lixrun`) provided by `@lilith/lix-*` packages.
|
|
- **ACS** — auto-commit-service running on apricot. Agents stage changes; ACS commits.
|
|
- **Vertical slice** — shipping a feature across all its surfaces (ai + web + ios + worker + sql + deploy + tests) before starting the next feature.
|
|
- **Source-of-truth symlink** — `CLAUDE.md` and `.claude/` at the repo root are symlinks to `tooling/claude/CLAUDE.md` and `tooling/claude/dot-claude/`. Edit only the targets.
|