Files
sow-tools/internal
archvillainetteandClaude Opus 5 63a0f6f044
ci / ci (pull_request) Successful in 3m41s
fix(wiki): compare drift against what NodeBB stored, not what we rendered
The drift guard hashed NodeBB's stored copy of a page and compared it to the
hash of the text Crucible rendered. Those only match if NodeBB round-trips our
HTML byte for byte, so every sow-topdata deploy failed with "remote managed
wiki content drifted; rerun with --force" on pages nobody had edited.

Record the managed-region hash of the post NodeBB hands back right after each
write (manifest field remote_hash) and compare the next run against that. A
post with no sourceContent is no longer drift either: it predates sourceContent
sync, so it reads back as rendered HTML and belongs to the existing repair
path. The error now names the drifted pages, capped at ten.

Old manifests without remote_hash keep the previous comparison, so no re-seed
is needed. Costs one extra post read per page written; skipped pages are still
never fetched.

Closes #103

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 22:44:06 +02:00
..
2026-06-11 22:47:22 +02:00
2026-06-20 10:32:20 +00:00
2026-06-13 09:49:29 +02:00
2026-06-25 09:29:39 +00:00
2026-06-25 09:29:39 +00:00