Recover unfinished publishes using content hashes #110

Merged
eleith merged 1 commits from fix/publish-recovery-hashes into main 2026-10-06 23:23:31 +00:00
Owner

Summary

  • Track the last successfully published Markdown hash in web_pieces.content_hash, independently of indexing.
  • Include unfinished indexed work in Check and Publish; clear success when metadata changes and record captured hashes only for healthy pieces after assets/CDN/cache phases finish.
  • Initialize existing web rows from their indexed hashes, as the approved starting baseline.
  • Replace the handwritten in-memory test schema with generated worker/test/db.sql and a manual DB-package schema:generate command using built workspace packages.

resolves #102.

Verification

  • pnpm lint, pnpm check, pnpm test passed.
  • Worker source no-emit typecheck and generator lint passed.
  • 269 worker tests and 462 web tests passed; focused tests cover discarded sync results, partial/global failures, and reverted revisions.
  • Disposable real SDK SIGKILL/restart probes passed at index and metadata-sync boundaries; external output phases were simulated.
  • Owner smoke-tested normal Publish and reports the migration appears to have run. This was not a full live failure-recovery reproduction.

Deployment

Finish existing publish jobs before upgrading: older interrupted jobs must not resume across this upgrade. Original step names are intentionally retained. Migration trusts existing indexed state rather than forcing a full regeneration.

## Summary - Track the last successfully published Markdown hash in web_pieces.content_hash, independently of indexing. - Include unfinished indexed work in Check and Publish; clear success when metadata changes and record captured hashes only for healthy pieces after assets/CDN/cache phases finish. - Initialize existing web rows from their indexed hashes, as the approved starting baseline. - Replace the handwritten in-memory test schema with generated worker/test/db.sql and a manual DB-package schema:generate command using built workspace packages. resolves #102. ## Verification - pnpm lint, pnpm check, pnpm test passed. - Worker source no-emit typecheck and generator lint passed. - 269 worker tests and 462 web tests passed; focused tests cover discarded sync results, partial/global failures, and reverted revisions. - Disposable real SDK SIGKILL/restart probes passed at index and metadata-sync boundaries; external output phases were simulated. - Owner smoke-tested normal Publish and reports the migration appears to have run. This was not a full live failure-recovery reproduction. ## Deployment Finish existing publish jobs before upgrading: older interrupted jobs must not resume across this upgrade. Original step names are intentionally retained. Migration trusts existing indexed state rather than forcing a full regeneration.
eleith added 1 commit 2026-10-06 23:13:09 +00:00
[web] recover unfinished publishes using content hashes
ci/woodpecker/pr/web-db Pipeline was successful
ci/woodpecker/pr/web-pieces Pipeline was successful
ci/woodpecker/pr/web-worker Pipeline was successful
ci/woodpecker/pr/web Pipeline was successful
ci/woodpecker/push/web-db Pipeline was successful
ci/woodpecker/push/web-pieces Pipeline was successful
ci/woodpecker/push/web-worker Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
671a7db76e
eleith merged commit 671a7db76e into main 2026-10-06 23:23:31 +00:00
eleith deleted branch fix/publish-recovery-hashes 2026-10-06 23:23:31 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eleith/luzzle#110