Application contract
AkurAI-Framework owns generic application behavior. Apps own domain rules.
Version policy
AKURAI_APPS.toml pins one supported Framework release in [framework].version. Every entry with framework_based = true must declare the same framework = "AkurAI-Framework" and framework_version. Framework upgrades land in Framework first, pass its gates, then move consumers serially. Path dependencies are development-only; releasable app commits consume an immutable Framework artifact or hosted Git revision.
Runtime contract
HTTP apps expose GET /api/health with app, framework, framework_version, version, and status. Infrastructure exceptions may keep their protocol engine app-owned, but their management HTTP/UI, health, auth, telemetry, templates, and assets use Framework where applicable.
Framework owns shared HTTP parsing and responses, OIDC middleware, storage and migration primitives, templates, assets, telemetry envelopes, health metadata, and validation hooks. Apps retain only product-domain handlers, schemas, policy, and protocol engines.
Delivery contract
Every catalog entry declares deployment = "akurai-build" and pipeline = ".akurai.yml". Pipeline order is verify → immutable package → production deploy. Production consumes package output from the same commit, declares environment: production and its approval policy, and runs through the Build-controlled host agent with checksum, bounded restart, public health gate, and automatic binary rollback.
Database changes must be additive or reversible and have a verified backup and recovery path before activation. Secrets enter only through protected Build or service environments; source, arguments, logs, and artifacts remain redacted. A release is complete only when AkurAI Build persists succeeded and public health plus app-specific behavior verify the deployed commit.
Validation
Run from Framework checkout:
akurai conformance AKURAI_APPS.toml
Command checks catalog pins and every registered checkout's pipeline. Any app violation fails command with one line per defect.