Report publish transform failures and continue healthy pieces #109

Merged
eleith merged 2 commits from fix/publish-transform-failures into main 2026-10-06 19:37:17 +00:00
Owner

Summary

  • Propagate transform/image-preparation failures instead of converting them to successful empty output. Preserve asset records when production fails, continue healthy pieces, and wait for image writes to settle before reporting failure.
  • Include failed-piece paths/messages in publish results while retaining CDN/cache phases and the original source diff.
  • Report completed partial batches explicitly in SSE and the publish UI, including after reload. Correct workflow-kind attachment, encoded piece links and retried-phase timeline rendering.

Two reviewed commits

  1. 407b42df — worker failure handling and per-piece continuation.
  2. 95106366 — persisted outcomes and readable web reporting.

Agreed scope

This closes the revised failure-signaling issue, not the earlier atomic-publication proposal. Previously written metadata/files may remain changed. No staged publication, rollback, history, migrations, dependencies or new retry policy. Interruption/retry recovery remains separate in #102.

Verification

  • pnpm lint, pnpm check, pnpm test pass; 462 web tests and 252 worker tests.
  • Disposable real attachment/assets-step probe reports the failed piece, retains its two existing records and updates a healthy piece; it also confirms the accepted no-rollback limitation.
  • Deferred image-write, continuation, SDK checkpoint compatibility, partial SSE, SSR, filename and retry-summary regressions pass.
  • Only shared jobs TypeScript declarations rebuilt; no web/root builds, CSS generation, Docker operations or demo archive changes.

Closes #100.

## Summary - Propagate transform/image-preparation failures instead of converting them to successful empty output. Preserve asset records when production fails, continue healthy pieces, and wait for image writes to settle before reporting failure. - Include failed-piece paths/messages in publish results while retaining CDN/cache phases and the original source diff. - Report completed partial batches explicitly in SSE and the publish UI, including after reload. Correct workflow-kind attachment, encoded piece links and retried-phase timeline rendering. ## Two reviewed commits 1. `407b42df` — worker failure handling and per-piece continuation. 2. `95106366` — persisted outcomes and readable web reporting. ## Agreed scope This closes the revised failure-signaling issue, not the earlier atomic-publication proposal. Previously written metadata/files may remain changed. No staged publication, rollback, history, migrations, dependencies or new retry policy. Interruption/retry recovery remains separate in #102. ## Verification - `pnpm lint`, `pnpm check`, `pnpm test` pass; 462 web tests and 252 worker tests. - Disposable real attachment/assets-step probe reports the failed piece, retains its two existing records and updates a healthy piece; it also confirms the accepted no-rollback limitation. - Deferred image-write, continuation, SDK checkpoint compatibility, partial SSE, SSR, filename and retry-summary regressions pass. - Only shared jobs TypeScript declarations rebuilt; no web/root builds, CSS generation, Docker operations or demo archive changes. Closes #100.
eleith added 2 commits 2026-10-06 19:33:37 +00:00
[web] report partial publish failures explicitly
ci/woodpecker/pr/web-jobs Pipeline was successful
ci/woodpecker/pr/web-worker Pipeline was successful
ci/woodpecker/pr/web Pipeline was successful
ci/woodpecker/push/web-jobs Pipeline was successful
ci/woodpecker/push/web-worker Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
95106366dd
eleith merged commit 95106366dd into main 2026-10-06 19:37:17 +00:00
eleith deleted branch fix/publish-transform-failures 2026-10-06 19:37:17 +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#109