# Client Source and OM Client Profiles

## Why this note exists

The client-system release train adds first-class client source support across the platform and introduces top-level Organization Model client profiles in `@elevasis/core/organization-model`.

Template-derived projects need the updated package baselines and guidance before relying on the shared clients UI, SDK client commands, or OM client-profile helpers. Tenant-authored client profile content remains project-owned and is not auto-generated by sync.

## Applies to

- Projects that use the shared `@elevasis/ui` clients feature.
- Projects that create or update clients through `elevasis-sdk client:create` or `elevasis-sdk client:update`.
- Projects that intentionally author real client profiles in `core/config/organization-model.ts`.
- Projects that deploy operations bundles against the updated `@elevasis/sdk` baseline.

## Required actions

1. Pull the package baseline updates from the prepared `/sdk ship` train.
2. Use the first-class client `source` field for direct clients, for example `word_of_mouth`, instead of storing the primary source only in ad hoc metadata.
3. If the project intentionally authors OM client profiles, key `organizationModel.clients` by the canonical production `public.clients.id`; the profile `id` must match the same UUID.
4. Keep tenant-specific client profile records, prompts, branding, workspace links, and custom values project-owned. Do not copy Elevasis or another tenant's client profiles into this project.
5. Treat `Organization > Clients` as the semantic home for real client profiles and `Systems > Client Management` as the operational platform system.

## Verification

Run the checks that match the project surface:

```bash
pnpm -C core check-types
pnpm -C operations check-types
pnpm -C operations check
pnpm -C ui check-types
```

For projects that author OM client profiles, also run the project-local OM validation or deploy preflight before publishing operations resources.

## Not handled by /git-sync

`/git-sync` can propagate the updated package baselines and this guidance, but it does not create tenant-specific `clients` rows, choose client source values, author OM client profile content, or decide whether a project should model a client profile at all. Maintainers must make those project-specific data and authoring decisions intentionally.
