You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tracking epic for data-retention and database-correctness defects found in the 2026-07-27 adversarial audit. One is empirically confirmed corrupting data in production; the rest are the same unbounded-growth class that has already caused two fleet-wide outages.
Sub-issues
Issue
Severity
Status
#9470 — dedupeSignalSnapshots keeps the stale row on Postgres
Critical
Confirmed live on the production DB
#9472 — #9415's five tables prune via full scan, hourly
High
Lands when the next build deploys
#9473 — four more unbounded tables in the outage class
High
Latent, growing
#9474 — pruning breaks ledger verification and the public counter
Medium
Dated: ~2026-10-25 for the counter
Context
Primary DB is Postgres on edge-nl-01 (3842 MB total). The hosted D1 (gittensory) is the one that hit the 10 GB cap on 2026-07-06 and 2026-07-26.
Two write-rate observations (not bugs, sizing decisions)
signal_snapshots averages ~62 KB per row and its 90-day window is not yet full (oldest row 2026-07-02) — it projects to roughly 2.9 GB at steady state. The lever is payload size, not retention.
github_rate_limit_observations takes 15,368 writes/day and holds 628 MB of rate-limit telemetry in the primary database at a full 30-day window. Worth deciding whether this belongs in Postgres at all, or should be sampled / moved to the metrics pipeline.
Both are worth a decision; neither is filed as a defect.
Summary
Tracking epic for data-retention and database-correctness defects found in the 2026-07-27 adversarial audit. One is empirically confirmed corrupting data in production; the rest are the same unbounded-growth class that has already caused two fleet-wide outages.
Sub-issues
dedupeSignalSnapshotskeeps the stale row on PostgresContext
edge-nl-01(3842 MB total). The hosted D1 (gittensory) is the one that hit the 10 GB cap on 2026-07-06 and 2026-07-26.signal_snapshots818 MB,github_rate_limit_observations628 MB / 1,040,277 rows,audit_events560 MB,check_summaries511 MB.Two write-rate observations (not bugs, sizing decisions)
signal_snapshotsaverages ~62 KB per row and its 90-day window is not yet full (oldest row 2026-07-02) — it projects to roughly 2.9 GB at steady state. The lever is payload size, not retention.github_rate_limit_observationstakes 15,368 writes/day and holds 628 MB of rate-limit telemetry in the primary database at a full 30-day window. Worth deciding whether this belongs in Postgres at all, or should be sampled / moved to the metrics pipeline.Both are worth a decision; neither is filed as a defect.
Acceptance criteria
src/-written table either has a retention rule or an explicit, documented exemption (delivered in retention: four more unbounded tables in the outage class #9415 addressed (incl. two whose siblings are already pruned) #9473).