{"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":"3ddf043222b863e741a25ce624a860c1fe87978af66237c6e9d039ce078f76ec","sequence":35},"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":"fail","summary":"newest backup is 49h14m old, older than max_age 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, 3594000 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":267000,"finished_at":"2026-10-02T04:18:27Z","outcome":"fail","restore":{"bytes_read":0,"bytes_restored":0,"databases":["billing"],"duration_ms":207000,"image":"postgres:17"},"run_id":"run-20261002-billing","schema":"restorly.report/v1","signature":{"alg":"Ed25519","key_id":"SHA256:XmNcK05KZQ052pw2s8r7KkUl6f3s+GI5oTC7IOV3GRY","public_key":"HcKHP0nlkFV6Ah8vQ3m/t+Gq7sbWI5tQlC9dbsunWmA=","value":"AZ6QfX632mpTMSw8iucZP2RAliwEG/pqYzqdBmLjKTDx168AGbtAclNCEUIYKQXgsTvcBYvzyAsyiu6lad2oBw=="},"started_at":"2026-10-02T04:14:00Z","summary":"7 passed, 0 warnings, 1 failed, 0 skipped","target":{"engine":"postgres","id":"billing","path":"billing","source":"nas"}}