When a project is bootstrapped, the gateway now calls onProjectCreated on all loaded plugins. The Discord plugin creates a text channel in the configured guild (mosaic-{slug}) and the channel ID is stored in the project metadata jsonb. Gracefully skips if Discord is not configured or guild is unavailable.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>