{"agent":{"commit":"","host":"validator-01","version":"v0.1.5"},"backup":{"age_ms":0,"format":"pg-custom","key":"billing/billing-20260929.dump","server_version":"17.7","sha256":"d73162447ec4e00042d9b80f0d6c4a35a219b192c83a37ae880baa470e208302","size":920000000,"time":"2026-09-29T03:00:00Z"},"chain":{"previous_hash":"d9ce1c5d6e0b757ff4261473cec1510b0c84bbd81e0ca7b424f1985e6f523ebb","sequence":23},"checks":[{"duration_ms":40,"id":"integrity.exists","level":1,"outcome":"pass","summary":"billing-20260929.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, 3590400 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":[["0"]],"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":"pass","summary":"0 = 0"}],"duration_ms":258000,"finished_at":"2026-09-29T04:18:18Z","outcome":"pass","restore":{"bytes_read":0,"bytes_restored":0,"databases":["billing"],"duration_ms":198000,"image":"postgres:17"},"run_id":"run-20260929-billing","schema":"restorly.report/v1","signature":{"alg":"Ed25519","key_id":"SHA256:XmNcK05KZQ052pw2s8r7KkUl6f3s+GI5oTC7IOV3GRY","public_key":"HcKHP0nlkFV6Ah8vQ3m/t+Gq7sbWI5tQlC9dbsunWmA=","value":"9ccwXK9cTnBOjQXpQTJ7bQelWABSX5l/5tqiebfV89GEPDvKp3BM8vAu7YLuj9EfZzDMD2P5siTa8+YBviLODg=="},"started_at":"2026-09-29T04:14:00Z","summary":"8 passed, 0 warnings, 0 failed, 0 skipped","target":{"engine":"postgres","id":"billing","path":"billing","source":"nas"}}