# CRM AppRelease `0.15.0`

This immutable CRM AppRelease preserves every `0.14.0` sfcrm capability and
adds the L1-owned neutral Runtime command registration used by the independent
Integration handoff:

```text
provider webhook -> Integration -> AcceptCommand(runtime.flow.execute)
```

The registration selects only the neutral command kind and payload format.
Authorized Integration workload, exact Flow definition/version, and connector
context are derived by Catalog from the installed L1 release and active
immutable metadata; no credential, provider payload, Runtime handler, or
external effect is published here.

- App: `io.nexuscrm.sfcrm`
- semantic version: `0.15.0`
- AppReleaseDigest:
  `sha256:1984aeb563f5e91f280e16d62d26a7bc043c814d6858b78174560af601591985`
- MetadataBundleDigest:
  `sha256:f7c08674bbb679f8cc2a2fa4a669c468692e18e9395fbb150ecccf90647d33ca`
- component count: `69` — the `68` source pack components plus one
  AppRelease-owned `metadata.runtime-command-registration.v1` component
- source input revision: `9a5ec1739400ac40e4e8cae933f9d407af5f90a3`
- source tree digest:
  `sha256:5cb5efde2445f34279692ea24f88339f46666fb8190c97879dc52466746f6032`
- contract module: `v0.2.20`

The command component has business key `runtime.flow.execute`, definition
version `1`, and payload format version `1`. It is not a public sfcrm handler
capability and does not add a second serving process or network endpoint.

`app-package.json` is canonical and reproducible from the exact source inputs.
`publisher-attestation.json` binds the release tuple and exact source
provenance. `publisher-public-key.json` is verification material, not publisher
trust; Catalog's independent trust authority must approve that exact key before
import. The AppRelease contains no service image identity.

This artifact does not select an active AppInstallation, publish an AppService
image, switch traffic, or modify production metadata. Those remain explicit
M2/D3/D4 activation gates.

Rebuild and verify:

```bash
git worktree add /tmp/nexuscrm-app-packs-0.15.0-source \
  9a5ec1739400ac40e4e8cae933f9d407af5f90a3
cd tools/crm-app-release
GOWORK=off go test ./... -count=1
GOWORK=off go run . build \
  --pack-root /tmp/nexuscrm-app-packs-0.15.0-source/salesforce-crm-standard \
  --output /tmp/crm-app-package-0.15.0.json
cmp /tmp/crm-app-package-0.15.0.json \
  ../../releases/io.nexuscrm.sfcrm/0.15.0/app-package.json
GOWORK=off go run . verify \
  --package ../../releases/io.nexuscrm.sfcrm/0.15.0/app-package.json \
  --attestation ../../releases/io.nexuscrm.sfcrm/0.15.0/publisher-attestation.json \
  --public-key ../../releases/io.nexuscrm.sfcrm/0.15.0/publisher-public-key.json
```
