EspoCRM
App-catalog entry (candidate). Served verbatim from the synced projection of sax3l/siax-app-catalog@ff7719df3a4d — API0 never re-qualifies an entry.
- App ID
- app_espocrm
- Channel
- candidatecapped from candidate
- License
- AGPL-3.0-or-later
- License gate
- gateOk: false, swept 2026-09-22T14:30:17.147Z over 0 files
- Build digest
- not recorded (candidate ceiling)
- Attestation
- none — the channel never exceeds candidate without one
- Capped
- capped from candidate: license-gate violation: cannot-verify:no-license-file-at-root:/home/simon/Documents/siax-app-catalog/apps/espocrm
- Resource floor
- 2 vCPU · 4 GB RAM · 40 GB disk
- Support boundary
- —
- UI integration
- —
- Capabilities
- crm
- Known limitations
- No wired ApplicationAdapter exists for this app anywhere in the estate (sax3l/vibe src/adapters/registry.ts has no app_espocrm entry) — it cannot be installed by VIBE's pipeline today, only planned/costed/H0ST-staged.
- No lifecycle drill has ever been run against a real EspoCRM instance (contrast with listmonk's executed drill, scripts/listmonk-lifecycle-drill.mjs) — health/backup/restore/upgrade/rollback are all unproven, not merely undocumented.
- No database engine, version, or upstream repository URL was ever recorded for this entry in its source (sax3l/vibe RAW_CATALOG) — see catalog.json's own null fields above and provenance.json.
- qualification.json accordingly records status "candidate", not "installable" — see D-03/ADR-021 and qualification-gate.ts for why that distinction is schema-enforced, not just a convention.
- JSON
- /v1/api0/app-catalog/app_espocrm