Skip to content

Protect legacy queue revisions and add fail-closed canary controls - #9

Merged
OneClickPostFactory merged 5 commits into
OneClickPostFactory:mainfrom
AyobamiH:release/legacy-hold-consumer
Sep 9, 2026
Merged

OneClickPostFactory merged 5 commits into
OneClickPostFactory:mainfrom
AyobamiH:release/legacy-hold-consumer

Conversation

@AyobamiH

@AyobamiH AyobamiH commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Purpose

Complete the Worker side of the schema-first reliability rollout after production received the required claim, publication-ledger, and legacy-conflict safeguards.

Changes

  • Consume database-owned source and angle claim leases with fencing.
  • Create a durable publication intent and attempt identity before any provider write.
  • Keep ambiguous provider outcomes unknown and block automatic resends.
  • Recover stale publication work using exact intent and attempt identities.
  • Refuse queue rows protected by immutable legacy revision holds.
  • Remove source-URL/time-based publication recovery.
  • Prevent X from silently repeating a publishing POST.
  • Require LinkedIn to return a publication identifier.
  • Add fail-closed controls for a provider-disabled, single-tenant canary.

Duplicate-publication guarantee

This does not claim universal exactly-once delivery.

It guarantees that once an external dispatch may have happened, an ambiguous result cannot automatically authorise another dispatch.

The five historical conflicting queue identities are preserved under immutable holds. Their 11 rows cannot be edited, retried, released, scheduled, or assigned a publication intent.

Acceptance evidence

Exact Worker head:

263c2af33415538a6ea659ca7277e57425801de4

Production schema gate

Completed before this Worker merge:

  • Migration head: 20260907055000.
  • All eight new migrations are recorded in supabase_migrations.schema_migrations.
  • Worker contract includes legacy-queue-revision-hold-v1.
  • Publication contract includes publication-legacy-queue-hold-v1.
  • Five holds and 11 hold members are present.
  • All 148 queue rows remain preserved.
  • Zero active publishing rows.
  • Zero active generation claims.
  • Zero pending or running jobs.
  • Zero publication intents or attempts existed at verification.

Rollout boundary

Merging this PR does not enable providers or send social posts.

The next phase is a provider-disabled, single-tenant canary with explicit observation before any provider activation or wider rollout.

@OneClickPostFactory
OneClickPostFactory marked this pull request as ready for review September 9, 2026 11:53
@OneClickPostFactory
OneClickPostFactory merged commit 3a27a99 into OneClickPostFactory:main Sep 9, 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.

2 participants