Report publish transform failures honestly and keep healthy pieces processing #100

Closed
opened 2026-10-05 12:50:13 +00:00 by eleith · 0 comments
Owner

Goal

Do not convert failed transforms into successful empty output. Preserve healthy-piece continuation and report failed pieces explicitly.

The owner explicitly dropped the larger complete-piece/unchanged-published-version goal as not worth pursuing. Files and metadata already changed for a failed piece may remain changed; this is an accepted limitation.

Agreed scope

  • Transform and image-preparation errors must propagate rather than become empty records/jobs.
  • Legitimate empty/not-applicable outputs remain successful and may clear old records normally.
  • Do not persist asset records if production for that piece fails.
  • Catch failures at the piece-processing boundary, collect file path/message, and continue healthy pieces.
  • Carry failed-piece details into the publish result and show an honest partial-failure outcome rather than an unqualified Published successfully label.
  • Keep the existing publish/CDN/cache phases; no file staging, rollback, historical versions, database migration or new retry policy.

Review slices

  1. Worker failure propagation, per-piece batch handling and regression tests.
  2. Publish result/types and web reporting/tests.

Do not land the worker slice alone while final reporting still claims all-success. Interruption/retry recovery remains a separate investigation in #102.

## Goal Do not convert failed transforms into successful empty output. Preserve healthy-piece continuation and report failed pieces explicitly. The owner explicitly dropped the larger complete-piece/unchanged-published-version goal as not worth pursuing. Files and metadata already changed for a failed piece may remain changed; this is an accepted limitation. ## Agreed scope - Transform and image-preparation errors must propagate rather than become empty records/jobs. - Legitimate empty/not-applicable outputs remain successful and may clear old records normally. - Do not persist asset records if production for that piece fails. - Catch failures at the piece-processing boundary, collect file path/message, and continue healthy pieces. - Carry failed-piece details into the publish result and show an honest partial-failure outcome rather than an unqualified Published successfully label. - Keep the existing publish/CDN/cache phases; no file staging, rollback, historical versions, database migration or new retry policy. ## Review slices 1. Worker failure propagation, per-piece batch handling and regression tests. 2. Publish result/types and web reporting/tests. Do not land the worker slice alone while final reporting still claims all-success. Interruption/retry recovery remains a separate investigation in #102.
eleith added the bug label 2026-10-05 12:50:13 +00:00
eleith changed title from Preserve last successful derivatives when a transform fails to Report transform failures in the best-effort publish summary 2026-10-05 23:03:22 +00:00
eleith changed title from Report transform failures in the best-effort publish summary to Publish each Markdown independently and leave failed updates unchanged 2026-10-05 23:43:43 +00:00
eleith changed title from Publish each Markdown independently and leave failed updates unchanged to Report publish transform failures honestly and keep healthy pieces processing 2026-10-06 14:55:04 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eleith/luzzle#100