{"schema_version":"2.0","record_type":"article","canonical_url":"https://marketingwiki.ai/articles/scheduled-email-report-occurrence-receipt","id":"scheduled-email-report-occurrence-receipt","slug":"scheduled-email-report-occurrence-receipt","title":"Keep One Publication Receipt Per Scheduled Email Report","description":"Give each scheduled Migma campaign report a stable occurrence record so a restarted agent can recover completed work without posting the same report twice.","dek":"A scheduled-occurrence journal and restart recovery drill with artifact lookup.","category":"Email Operations","topics":["Migma","email marketing","scheduled reporting recovery"],"publishedAt":"2026-10-18","updatedAt":"2026-10-18","lastVerifiedAt":"2026-10-18","readingMinutes":4,"author":"Marketing Wiki Research Automation","reviewer":null,"featured":false,"sources":[{"title":"Migma campaign results","url":"https://docs.migma.ai/campaigns/track-results?utm_source=marketingwiki&utm_medium=referral&utm_campaign=scheduled-email-report-occurrence-receipt"},{"title":"Anthropic Claude Code v2.1.302","url":"https://github.com/anthropics/claude-code/releases/tag/v2.1.302"}],"wordCount":670,"body":"Affiliation: Marketing Wiki's commissioning editor maintains Migma.\n\nMarketing Wiki Research Automation published this guide directly without independent review.\n\nGive a scheduled report about Migma campaigns one durable occurrence record, then recover that record when an agent restarts. A successful report can outlive the conversation that created it. Repeating the whole task from the top can create a second publication of the same analysis.\n\nMigma's [reporting guide](https://docs.migma.ai/campaigns/track-results?utm_source=marketingwiki&utm_medium=referral&utm_campaign=scheduled-email-report-occurrence-receipt) provides useful campaign selection and export boundaries for the underlying evidence. We recommend retaining those references as the source of an email report, while managing publication identity in the actual scheduler or reporting system. No built-in cross-system journal is assumed.\n\n## Why this deserves a recovery drill\n\nAnthropic's [Claude Code v2.1.302 release](https://github.com/anthropics/claude-code/releases/tag/v2.1.302), published October 16 at 20:53:06 UTC, says a failed scheduled cloud routine could run again from the start an hour or more later, repeating work such as posting a report. The release documents a fix. It is seven-day context here, not a claim about every agent scheduler or every installed version.\n\nAn email team should still define what one scheduled occurrence means. A retry is another attempt at that occurrence; it is not automatically a new report. The definition needs the intended reporting period and campaign scope, rather than a fresh timestamp generated every time the process starts.\n\n## Preserve the occurrence and the artifact separately\n\nUse this original journal schema in a controlled operational system. It is a proposed design, not a Migma or Claude API contract.\n\n```text\nOccurrence: weekly-lifecycle-review / period-ending-2026-10-18\nScope revision: approved campaign-selection revision\nAttempts: 1, 2, ...\nEvidence extract: immutable reference and extraction time\nReport artifact: stable destination reference or unknown\nPublication state: not attempted / unknown / confirmed\nConfirmed at: observation time or unknown\nRecovery decision: inspect / resume / correct / no additional publication\n```\n\nThe report artifact reference matters as much as the computed text. An agent can finish an analysis, publish it and stop before recording success. On restart, a blank local completion field does not prove the report is absent. Preserve uncertainty and inspect the destination through an authorized read path.\n\nDo not put private recipient rows or access tokens into the journal merely to identify an occurrence. Keep the source evidence in the approved reporting store and retain only the references needed for recovery.\n\n## Rehearse a stop after publication\n\nUse a synthetic report in an authorized test destination. In the drill, the agent saves the report artifact but stops before its completion marker is committed. Start the same occurrence again.\n\nThe expected first step is lookup by the stored occurrence and destination references, not immediate republication. If the artifact exists and matches the intended scope and evidence extract, recover its reference and mark the occurrence confirmed. If its existence is unknown, leave it unknown until the destination can be checked. Do not convert an inspection failure into permission to create another copy.\n\nRepeat the drill with no artifact, a partial draft and an artifact for a different reporting period. Record the appropriate resume decision for each. These proposed tests were not executed for this article and do not claim a provider-level exactly-once guarantee.\n\n## A data correction is not an ordinary retry\n\nMigma documents that campaign statistics can update while delivery continues, and combined reports use lifetime campaign results. If a later extraction changes the numbers, decide whether to issue an explicit revision to the report. Keep the original occurrence and explain the new observation time rather than quietly publishing a second report as though it were the first.\n\nPreserve campaign selection, metric definitions and source freshness with each revision. Otherwise a reader cannot tell whether a difference came from new delivery, changed scope or corrected arithmetic. The [report reproduction brief](/articles/ai-email-report-reproduction-brief) supplies the calculation evidence; this journal supplies the publication identity.\n\nStart by finding the durable reference for last week's report. If the next scheduled agent cannot recover it after a restart, fix that lookup before broadening the automation. This guide authorizes no report posting, customer email or account change."}