171ed1a6ab96b17ac22e7a3dece9f92ba7fb33a5
Defer provisionAsync() until after the transaction commits using TransactionSynchronization.afterCommit(). Previously the @Async thread raced the @Transactional commit — findById returned null because the tenant INSERT wasn't visible yet. Downgrade ClickHouse UNKNOWN_TABLE errors to DEBUG level in InfrastructureService. These are expected on fresh installs before any cameleer-server has created the tables. Make the onboarding slug field read-only (derived from org name). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Description
Multi-tenant SaaS platform — Camel application runtime with built-in observability. Wraps cameleer3 agent + server.
Languages
Java
59.7%
TypeScript
30.2%
Shell
8.2%
Dockerfile
0.9%
CSS
0.8%
Other
0.2%