<!-- @generated by scripts/monorepo/generate-scaffold-contracts.js -- DO NOT EDIT -->
<!-- Regenerate: pnpm scaffold:sync -->

# System Interface Capabilities

This catalog is generated from `SYSTEM_INTERFACE_PROFILES` and the derived-readiness checks in `packages/core/src/business/acquisition/ontology-validation.ts`.

System Interface profiles are a closed platform adoption handshake. Tenant custom Systems should extend behavior through workflows/operations plus ontology, resources, and topology instead of declaring custom `apiInterface.readinessProfile` values.

| Profile | Required System path | Interface key |
| --- | --- | --- |
| `sales.lead-gen.api` | `sales.lead-gen` | `api` |
| `sales.crm.api` | `sales.crm` | `api` |
| `sales.lead-gen.crm-handoff` | `sales.lead-gen` | `crm-handoff` |

## `sales.lead-gen.api`

- Required System path: `sales.lead-gen`
- Interface key: `api`
- Derived-readiness requirements:
  - System Interface marker must be active and scope at least one active `sales.lead-gen` Resource.
  - Object types: `sales.lead-gen:object/list`, `sales.lead-gen:object/company`, `sales.lead-gen:object/contact`.
  - Scoped Resource `ontology.reads` bindings for each required object type.
  - Catalog types with entries: `sales.lead-gen:catalog/build-template`, `sales.lead-gen:catalog/company-stage`, `sales.lead-gen:catalog/contact-stage`, and derived `sales.lead-gen:catalog/lead-gen.stage-catalog`.
  - Scoped Resource `ontology.usesCatalogs` bindings for each required catalog.
  - A lead-gen template-step catalog owned by `sales.lead-gen` whose `appliesTo` value is `sales.lead-gen:object/list`, plus a scoped `ontology.usesCatalogs` binding for it.

## `sales.crm.api`

- Required System path: `sales.crm`
- Interface key: `api`
- Derived-readiness requirements:
  - System Interface marker must be active and scope at least one active `sales.crm` Resource.
  - Catalog type with entries: `sales.crm:catalog/crm.pipeline`.
  - Scoped Resource `ontology.usesCatalogs` binding for `sales.crm:catalog/crm.pipeline`.

## `sales.lead-gen.crm-handoff`

- Required System path: `sales.lead-gen`
- Interface key: `crm-handoff`
- Derived-readiness requirements:
  - Derived handoff readiness is evaluated for `sales.lead-gen/crm-handoff`; it is not authored as a separate custom tenant API surface.
  - Lead-gen API readiness requirements must pass for `sales.lead-gen/api`.
  - CRM pipeline catalog must exist with entries: `sales.crm:catalog/crm.pipeline`. Foreign ownership is allowed because the provider is `sales.crm/api`.
  - Derived scoped resources are active `sales.lead-gen` Resources whose `ontology.usesCatalogs` includes `sales.crm:catalog/crm.pipeline`.
  - Provider readiness must pass for `sales.crm/api`.
  - Topology must include a scoped `systemInterfaceGrant` relationship from consumer `sales.lead-gen/crm-handoff` to provider `sales.crm/api`.
