- Remove newRuleResults from "newevents" broadcast (never used by list views, saves 3-15KB)
- Replace full SessionSummary with sessionUpdate delta DTO in "newevents" (only mutable fields)
- Strip redundant sessionId/tenantId from individual events and rule results in "eventStream"
- Fix event name casing inconsistency: "eventstream" → "eventStream" in frontend listeners
- Frontend handlers updated to merge delta updates with backward compatibility fallback
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The manifest (platform-stats.json) was fetched with force-cache, causing
the browser to serve stale data even after a new daily stats file was
published. Switch manifest fetch to no-store so it is always fresh.
The versioned payload file (platform-stats.YYYY-MM-DD.json) keeps
force-cache since its filename is date-stamped and never changes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sends a Telegram message to @AutopilotMonitor-PrivatePreview whenever
a new tenant signs up. The bot webhook URL is stored in the new
PreviewConfig table (PartitionKey=TelegramBot, RowKey=config,
WebhookUrl=<url>) — same lifecycle as PreviewWhitelist, easy to remove
after GA. Notification is fire-and-forget and non-fatal.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace verbose README with a concise overview and link to the
official documentation at autopilotmonitor.com/docs. Remove
CONTRIBUTING.md, QUICKSTART.md, docs/architecture.md, and
docs/getting-started.md as the website docs supersede them.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When a Galactic Admin approves a tenant for Private Preview, the user
who originally signed up (stored in TenantConfiguration.UpdatedBy) is
automatically added as TenantAdmin. This avoids manual admin assignment
after approval. Also fixes GitHub repository link in the portal footer.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>