The failure to prevent
Suppose an editor authorizes an article with two sources. A later revision changes a factual claim or replaces one source, while the publishing job still carries the earlier authorization. A title match or a green workflow badge cannot establish that the changed version was the object of the decision. The useful question is whether the authorization still matches the exact material being exported.
What this publication binds together
Our project uses Wagtail revisions and native moderation groups as its editing foundation. A small project-specific publication guard separately computes a content fingerprint from title, slug, kind, summary, body, category, tags, sources and extra metadata. The owner-authorized build receives an explicit map of article keys to those fingerprints. The map must exactly match the inventory being exported.
This does not turn owner publication permission into independent factual review. The actual human-review flag and reviewer fields are separate. The guard can detect that content changed; it cannot decide whether a claim is true or whether a reviewer read it carefully. Source URLs and source-check dates help a person inspect the draft, but their mere presence is not a fact-check result.
A native check we executed
On November 6, 2026 we loaded 74 entries from the isolated QA database created for the content-repair rehearsal. The database connection was read-only. We used the existing native authorization loader and the existing A review belongs to an exact draft entry, changing objects only in process memory. No page, revision, authorization file used by production or reviewer field was saved.
- Original inventory: all 74 entry fingerprints matched the captured authorization. Result: pass.
- Body changed: append a clearly synthetic paragraph to one entry while retaining the authorization. Result: the native loader blocked the inventory.
- Source changed: restore the body, then replace one source URL with a synthetic example URL. Result: blocked again.
- Original fields restored: restore the source list in memory. Result: the same inventory passed again.
The selected entry's original fingerprint began 727fa00a. The body edit produced 246710d9; the source edit produced 26167a46. Restoring the fields restored the original fingerprint. The abbreviated values make the observed changes easy to compare; the guard itself compares full SHA-256 values. Database size, modification time and inode were unchanged, and the human-reviewed count remained zero.
Turn the check into an editorial handoff
A useful handoff should identify the intended destination, exact draft, material claims, supporting sources and required decision. For example: publish this revision at this existing URL after confirming the host snapshot's date, the calculation's assumptions and the absence of private configuration. The technical guard then checks that the exported object is still that revision's content.
Ask the reviewer to distinguish measured observations from illustrative numbers and to inspect copyright, commercial disclosure and page presentation. If the claim or source changes, request a fresh decision on the changed content. Do not manufacture a reviewer name or set a human flag because an automated digest comparison passed.
Keep the claim narrower than the mechanism
The executed exercise proves that this project's native authorization loader rejected two stale-content cases against that QA inventory. It is not a benchmark of AI judgment, a comprehensive security audit or a certification of Wagtail installations in general. Publication records, content-quality review and post-deployment checks remain separate evidence. That separation makes a later correction intelligible: another editor can tell what was authorized, what changed and which checks actually ran.