# CRM AppRelease `0.26.0`

This immutable CRM AppRelease preserves the complete `0.25.0` Catalog handler
surface and declares the neutral `runtime.identity.session-lifecycle.v1`
service as an sfcrm AppService consumer requirement on the existing private
Runtime endpoint. Session lifecycle has no CRM metadata projection and is not
published as a synthetic Catalog handler.

The release adds no metadata component and does not change the Salesforce wire
dialect. Runtime remains the durable identity/session authority; sfcrm owns the
existing login, userinfo, revoke, and browser projection routes. There is no
Gateway, process-local authentication fallback, new Runtime engine, or extra
network hop. All five session routes reject new admission before any Runtime or
provider call once the AppService begins draining.

- App: `io.nexuscrm.sfcrm`
- semantic version: `0.26.0`
- AppReleaseDigest:
  `sha256:9ad5917dbceca912c6b7be10ab1c4685f60718dfeb169969820e69c4c4d13cc8`
- MetadataBundleDigest:
  `sha256:87afb74b6c384286a776f1ab4be50ccb9f11f1e0a8b8b24b032b41d9c8f2ba96`
- component count: `70` (unchanged)
- sfcrm provided capability count: `16` (unchanged)
- source input revision: `e79df4384ac6cd2732d5b2e2ee1c3ad7d932c95a`
- source tree digest:
  `sha256:14449c4b67a7b257edfa57cdbc6dc648f7bc0c45c628e1eeaef1517e3da40c85`
- contract module: `v0.2.28`
- wire module: `wire-go/v0.1.25`

This release changes no production routing, active metadata, Flow state, BOM,
or deployed service. Historical `0.25.0` remains immutable and reproducible.

`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.26.0-source \
  e79df4384ac6cd2732d5b2e2ee1c3ad7d932c95a
cd tools/crm-app-release
GOWORK=off go test ./... -count=1
GOWORK=off go run . build \
  --pack-root /tmp/nexuscrm-app-packs-0.26.0-source/salesforce-crm-standard \
  --output /tmp/crm-app-package-0.26.0.json
cmp /tmp/crm-app-package-0.26.0.json \
  ../../releases/io.nexuscrm.sfcrm/0.26.0/app-package.json
GOWORK=off go run . verify \
  --package ../../releases/io.nexuscrm.sfcrm/0.26.0/app-package.json \
  --attestation ../../releases/io.nexuscrm.sfcrm/0.26.0/publisher-attestation.json \
  --public-key ../../releases/io.nexuscrm.sfcrm/0.26.0/publisher-public-key.json
```
