Skip to content

Fix durable result receipts - #5

Merged
flemming-n-larsen merged 1 commit into
mainfrom
fix/durable-result-receipts
Aug 3, 2026
Merged

Fix durable result receipts#5
flemming-n-larsen merged 1 commit into
mainfrom
fix/durable-result-receipts

Conversation

@flemming-n-larsen

Copy link
Copy Markdown
Contributor

Summary

  • publish per-result receipts only after accepted facts and projections are pushed
  • acknowledge identical retained results idempotently so receipt-delivery retries recover safely
  • continue rejecting conflicting battle IDs and duplicate records within one batch
  • document the durability contract and guard workflow ordering

Root cause

The ingestion workflow commented on and closed result issues before committing and pushing accepted facts. A later aggregation or push failure could therefore produce a successful-looking receipt without a durable fact. Reordering alone leaves the opposite failure window, so exact retries also need a stable successful outcome after publication.

Impact

Rumble clients can retain journal entries until a post-publication receipt and safely retry if receipt delivery fails, without creating duplicate facts.

Verification

  • python -m unittest discover -s tests -v — 15 tests passed
  • python -m compileall -q scripts tests
  • git diff --check
  • workflow YAML parsed successfully with PyYAML

@flemming-n-larsen
flemming-n-larsen marked this pull request as ready for review August 3, 2026 21:10
@flemming-n-larsen
flemming-n-larsen merged commit e24fe58 into main Aug 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant