Skip to content

fix: Handle empty archive months in heartbeat publishing - #512

Merged
Pigbibi merged 2 commits into
mainfrom
fix/heartbeat-empty-archive-months
Nov 3, 2026
Merged

Pigbibi merged 2 commits into
mainfrom
fix/heartbeat-empty-archive-months

Conversation

@Pigbibi

@Pigbibi Pigbibi commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Fix heartbeat candidate publication when a completed business window spans two UTC months and one archive partition has no matching objects. Move the existing prepublication Storage SDK reader into the archive module and reuse it for heartbeat reads. Successful empty listings reach the existing schedule check; permission, timeout and malformed JSON failures still abort. Missing due reports remain failures.

Keep bounded reads, generation-pinned downloads and existing candidate merge/write behavior. Add synthetic cross-month tests for empty partitions, unrelated reports, preserved executed reports and failed paginated reads.

Verification

  • Focused heartbeat-reader, prepublication and diagnostic suites: 64 passed.
  • Repository-wide Ruff: passed.
  • Documentation check: passed with the existing README outline advisory (zero blocking findings).
  • Full offline regression suite: 1747 passed, 118 subtests passed. Default cloud credential discovery was disabled with a deliberately nonexistent credentials-file path; all assertions remained enabled.
  • Independent read-only AI review of the complete base-to-head diff: no actionable findings; reviewer independently observed the 64 focused tests passing.

Risk: ordinary notification code. Storage behavior is verified offline with synthetic clients; production publication and deployment were not exercised. An uncertain write still requires inspection before any retry.

AI assistance

Authored with OpenAI Codex (GPT-6.1 Sol). A separate Codex agent reviewed the complete four-file change and relevant callers at the submitted head, including SDK empty-list semantics, schedule guards and failure propagation. Review evidence is retained outside Git. This draft does not authorize deployment or operational actions.

@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 97824ed9-42f5-4971-9a4f-bf265532137f
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.

@Pigbibi Pigbibi added the owner-approved Owner approval for high-risk PRs. AI agents must never apply this label. label Nov 2, 2026
@Pigbibi
Pigbibi marked this pull request as ready for review November 2, 2026 05:10
@Pigbibi
Pigbibi merged commit 576e533 into main Nov 3, 2026
10 checks passed
@Pigbibi
Pigbibi deleted the fix/heartbeat-empty-archive-months branch November 3, 2026 01:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

owner-approved Owner approval for high-risk PRs. AI agents must never apply this label.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants