Reject overlapping source and destination roots before any write so normalization cannot replace the raw Ministry archive.
Recover an interrupted directory publication before resume checks and require the normalized target to exist before skipping a manifest success.
Treat malformed link and image URLs as unsafe attributes, add regressions for all review findings, and bump the backend version to 0.2.2.
Add a resumable standard-library normalization pipeline for the downloaded CBD archive. It produces canonical bilingual metadata, sanitized HTML, plain text, deterministic fragments, checksums, quality markers, and an SQLite processing manifest while preserving the raw source.
Recover document-list pagination when the Ministry API exhausts request retries, and cover that scenario with a regression test.
Document the normalization workflow and frontend-search MVP plan, include the source functional specification, ignore local runtime logs, and bump the backend version to 0.2.1.