# CRM AppRelease `0.4.0`

This immutable CRM AppRelease adds the related-list-count capability required
by the next D2A synchronous-read ownership slice. It preserves the query and
record-access capabilities from `0.3.0` and does not include the staged record
mutation capability.

- App: `io.nexuscrm.sfcrm`
- semantic version: `0.4.0`
- AppReleaseDigest:
  `sha256:fefffdb3c4e3f9a5978d2d79d405c4df94d7b62045647c9c17cc20122abd50a9`
- component count: `61`, exactly one per component in the source
  `salesforce-crm-standard/pack.json`
- source input revision: `7f4bfec5cd9578774ba5e1aa0d55773d54455679`

The AppManifest declares exactly three L1 service-handler capabilities:

- `io.nexuscrm.sfcrm.query.v1` requires `runtime.records.query.v1`;
- `io.nexuscrm.sfcrm.related-list-counts.v1` requires
  `runtime.records.related-counts.v1`;
- `io.nexuscrm.sfcrm.ui.record-access.v1` requires
  `runtime.records.evaluate-access.v1`.

`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.

This artifact does not select an active AppInstallation, publish an AppService
image, switch Gateway traffic, or create a fallback. The production command in
the same review unit advertises the exact released capability set, but the L2
BOM and test2 ownership flip remain separate explicit gates.

Rebuild and verify:

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