mirror of
https://github.com/okieselbach/AutopilotMonitor.git
synced 2026-10-24 04:32:32 +00:00
b2f6b7bd7f
First-time-right, time-attribution and rule-statistics rows lived on fixed lifetimes (180, 180 and 90 days), a storage bound reused from the never-pruned tables, never weighed against tenant retention: a Community tenant could read first-time-right rows for days 91-180 through the API and MCP, a Pro tenant keeping 365 days lost them after 180 and its rule statistics after 90. The retention fanout now prunes per tenant, before its session scan: these rows at the tenant's effective retention (downgrade grace included), the audit trail at max(180, retention) up to 365. The maintenance cleanups become outer bounds and platform lifetimes in DataLifetimes: no tenant row beyond 365 days, global first-time-right rows 365, time attribution 180, global and legacy rule statistics 90, the platform audit partition and legacy audit rows 180. Device histories already follow their sessions and stay as they are. The device-journeys window goes to 365 days (route cap and MCP get_device_history). The SessionDeletionMaintenanceCompleted ops event carries tenantRowsPruned. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>