// PLUGIN BOOT
ON plugin_installed(api_key, platform):
STORE api_key securely in platform keystore
CALL POST /configure with default settings
REGISTER webhook: kai_signal_webhook_url
RENDER dashboard frame in host platform UI
// DASHBOARD LOAD
ON dashboard_opened(admin_user, window='30d'):
token = GET api_key from keystore
payload = CALL GET /pulse?window={window}&layers=all
IF payload.error: SHOW connection error state
RENDER MoodSpectrum(payload.moods)
RENDER StateBubbles(payload.states)
RENDER TopicTags(payload.topics)
RENDER SuggestedActions(payload.actions)
// REAL-TIME ALERTS
ON webhook_received(alert):
IF alert.severity == 'crisis':
NOTIFY admin via platform native notification
DISPLAY alert banner in dashboard
IF alert.severity == 'spike':
INCREMENT alert counter in dashboard header
// ADMIN CONFIGURATION
ON config_saved(admin_user, settings):
VALIDATE settings.anon_floor >= 10
CALL POST /configure with settings
IF response.cohort_size < 10:
WARN: cohort too small to show data
STORE config_id, REFRESH dashboard