{"agent":{"commit":"","host":"validator-01","version":"v0.1.5"},"backup":{"age_ms":0,"format":"pg-custom","key":"billing/billing-20260928.dump","server_version":"17.7","sha256":"34d4d840a55c331442d1c77e623596bcf790237f568004ed0e57413304a72104","size":916000000,"time":"2026-09-28T03:00:00Z"},"chain":{"previous_hash":"dcfff587b842d6fd27d3b67ba25753324e3ae5b39d1279d7055532284d87c284","sequence":19},"checks":[{"duration_ms":40,"id":"integrity.exists","level":1,"outcome":"pass","summary":"billing-20260928.dump (3 backups in billing)"},{"duration_ms":2,"id":"integrity.freshness","level":1,"outcome":"pass","summary":"newest backup is 1h14m old (max 26h)"},{"duration_ms":2100,"id":"integrity.archive","level":1,"outcome":"pass","summary":"archive reads to the end"},{"duration_ms":180000,"id":"restore","level":2,"outcome":"pass","summary":"restored in a fresh postgres:17 container"},{"duration_ms":1800,"id":"consistency.check_tables","level":3,"outcome":"pass","summary":"41 tables OK"},{"duration_ms":900,"id":"consistency.row_counts","level":3,"outcome":"pass","summary":"41 tables, 3589200 rows; no drop above 10%"},{"details":{"expected":"85","op":">=","rows":[["87"]],"sql":"SELECT version FROM schema_migrations WHERE NOT dirty"},"duration_ms":20,"id":"custom.schema-version","level":4,"outcome":"pass","summary":"87 >= 85"},{"details":{"expected":"0","op":"=","rows":[["3"]],"sql":"SELECT COUNT(*) FROM invoices i WHERE i.total <> (SELECT COALESCE(SUM(l.amount), 0) FROM invoice_lines l WHERE l.invoice_id = i.id)"},"duration_ms":35,"id":"custom.invoices-add-up","level":4,"outcome":"fail","summary":"3, expected = 0"}],"duration_ms":295000,"finished_at":"2026-09-28T04:18:55Z","outcome":"fail","restore":{"bytes_read":0,"bytes_restored":0,"databases":["billing"],"duration_ms":235000,"image":"postgres:17"},"run_id":"run-20260928-billing","schema":"restorly.report/v1","signature":{"alg":"Ed25519","key_id":"SHA256:XmNcK05KZQ052pw2s8r7KkUl6f3s+GI5oTC7IOV3GRY","public_key":"HcKHP0nlkFV6Ah8vQ3m/t+Gq7sbWI5tQlC9dbsunWmA=","value":"QCpOEA1fzlwdFDhoDu2Xi9ib3p3ldeuzWXjzQSfk7JmrGm9b/zxCUEml7Bg1VbH1b1c7OjXfNrIfZbKcy+U1BA=="},"started_at":"2026-09-28T04:14:00Z","summary":"7 passed, 0 warnings, 1 failed, 0 skipped","target":{"engine":"postgres","id":"billing","path":"billing","source":"nas"}}