PROD-2310: count content/page prep failures instead of silently skipping#193
Merged
Merged
Conversation
Two classes of content/page sync failures never reached the exit-code check PR #182 wired up, because they were counted as skips rather than failures: - content-batch-processor.ts: items that fail during payload prep (missing model/container mapping, deleted target container, unresolved content reference) only incremented skippedCount, which never feeds totalFailed/totalSyncFailures. - push-pages.ts: a channel-level exception from processSitemap set status="error" (display-only) without incrementing failed, so a whole channel's worth of page failures was invisible to the exit code. Both now count as real failures with failureDetails entries, so they fail the sync exit code like batch-level API failures already do. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
jules-exel
approved these changes
Jul 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
skippedCountincontent-batch-processor.ts, which never feedstotalFailed/totalSyncFailures— so these real failures never affected the sync exit code that PR PROD-2310: sync exits non-zero on failures and precondition aborts #182 wired up.processSitemapinpush-pages.tssetstatus = "error"(display-only) without incrementingfailed, making a whole channel's worth of page failures invisible to the exit code.failureDetailsentries, consistent with how batch-level API failures are already handled.Follow-up to #182 (PROD-2310), reopened 2026-07-21 after Nick reproduced sync runs on 1.0.0-beta.13.22 that printed failure details in the ERROR SUMMARY but still exited 0.
Test plan
content-batch-processor.test.tsupdated for the newfailedItemsfield onprepareContentPayloads, including the stale-container-mapping case now asserting a failure instead of a skipcontent-pusher,page-pusher,orchestrate-pushers, andcore/pushtest suites pass (302 + 8 tests)🤖 Generated with Claude Code