Skip to content

Recover historical message encodings in standalone backfill - #45

Merged
markmnl merged 4 commits into
mainfrom
fix/backfill-expanded-legacy-payloads
Sep 10, 2026
Merged

Recover historical message encodings in standalone backfill#45
markmnl merged 4 commits into
mainfrom
fix/backfill-expanded-legacy-payloads

Conversation

@markmnl

@markmnl markmnl commented Sep 10, 2026

Copy link
Copy Markdown
Owner

The offline backfill stopped on historical rows whose stored metadata differs from the original wire encoding. Recover expanded payload lengths, early root-form hashes with local parent links, literal recipient fields, and batch timestamps retained in exact wire headers. Reconstruct recorded received batches as well as locally sent batches.

Every existing SHA-256 must still match the complete reconstructed message. Ambiguous or irreproducible records stop the migration, and all changes roll back. These compatibility cases stay in the standalone maintenance binary; the daemon, API and bootstrap SQL are unchanged.

Validation: full Go race tests with PostgreSQL, go vet ./..., go build ./..., and an offline audit of a restored legacy store. Regression tests cover each recovered encoding, rollback, and hash preservation.

@markmnl
markmnl merged commit 13d6fc8 into main Sep 10, 2026
2 checks passed
@markmnl
markmnl deleted the fix/backfill-expanded-legacy-payloads branch September 10, 2026 09:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant