{"agent":{"commit":"","host":"validator-01","version":"v0.1.5"},"backup":{"age_ms":0,"format":"pg-custom","key":"billing/billing-20260930.dump","server_version":"17.7","sha256":"9beb717a59377281e1d33645410a2ee2a0c7785304f7f58c8e2ad9feefa6695a","size":924000000,"time":"2026-09-30T03:00:00Z"},"chain":{"previous_hash":"4fc0438ef9ada4de191483f5df9b958be866c6ac8cefb7b4ea87c963b8550e12","sequence":27},"checks":[{"duration_ms":40,"id":"integrity.exists","level":1,"outcome":"pass","summary":"billing-20260930.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, 3591600 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":281000,"finished_at":"2026-09-30T04:18:41Z","outcome":"pass","restore":{"bytes_read":0,"bytes_restored":0,"databases":["billing"],"duration_ms":221000,"image":"postgres:17"},"run_id":"run-20260930-billing","schema":"restorly.report/v1","signature":{"alg":"Ed25519","key_id":"SHA256:XmNcK05KZQ052pw2s8r7KkUl6f3s+GI5oTC7IOV3GRY","public_key":"HcKHP0nlkFV6Ah8vQ3m/t+Gq7sbWI5tQlC9dbsunWmA=","value":"fDOkO+iOL6x5sL7uCp8400Qqm8F6NIxbUptz5Dl4Q/vR8KLNClAM3kPd7a59iBToLlgDk3TMLX8/uR7VEn0gAQ=="},"started_at":"2026-09-30T04:14:00Z","summary":"8 passed, 0 warnings, 0 failed, 0 skipped","target":{"engine":"postgres","id":"billing","path":"billing","source":"nas"}}