# CRM AppRelease `0.23.0`

This immutable CRM AppRelease preserves the complete `0.22.0` delivery and
adds the sfcrm-owned Standard Actions handler. The handler serves the existing
Salesforce v59.0-v63.0 Standard Action discovery, execution, create-preview,
and output-preview routes through the one private Platform target.

The handler consumes only the existing neutral Runtime capabilities:

```text
AppMetadataView + ReadEffectivePermissions
  + ExecuteCatalogAction + PreviewCatalogAction
```

Catalog action binding is the sole action and Flow authority. Runtime owns
trusted delegation, exact Catalog selection, bounded execution, authorization,
transactional replay, no-effect preview, and revision/generation receipts.
sfcrm owns the Salesforce-compatible route and wire projection. Missing,
malformed, stale, mixed-revision, unauthorized, and non-atomic action authority
fails closed; there is no process-local or legacy fallback.

- App: `io.nexuscrm.sfcrm`
- semantic version: `0.23.0`
- AppReleaseDigest:
  `sha256:6f1c41ece57bfcdef3ba854818e460e781625c873a57f098661323bc5ddd7952`
- MetadataBundleDigest:
  `sha256:87afb74b6c384286a776f1ab4be50ccb9f11f1e0a8b8b24b032b41d9c8f2ba96`
- component count: `70` (unchanged)
- sfcrm provided capability count: `16`
- source input revision: `5e8c8d61549a7db141dbe4d8c32c959dbcc9c949`
- source tree digest:
  `sha256:e626350b266d4eaa5578e757b84141f77a0329d9ec11b7d9572bd5b537f6e260`
- contract module: `v0.2.26`
- wire module: `wire-go/v0.1.24`

This release adds no RPC, Runtime engine, Worker family, serving binary,
Gateway, metadata authority, process-local fallback, deployment configuration,
or production activation. Production routing, active metadata, Flow state,
BOM, and deployed services remain unchanged.

`app-package.json` is canonical and reproducible from the exact source input.
`publisher-attestation.json` binds that package to its source revision.
`publisher-public-key.json` is verification material only; it does not create
publisher trust.

Rebuild and verify:

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