Repository navigation
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
oneclickpostfactory-agent | 6f361f7 | Commit Preview URL Branch Preview URL |
Nov 03 2026, 05:55 PM |
|
Production-integration investigation (2026-11-03): the active worker remains Read-only production database checks found two encrypted Threads tokens in the expected envelope, but neither has expiry metadata. The production worker has |
|
Production acceptance verification, 2026-11-03 19:45 UTC: On the authorised web machine, the focused cloud Threads transport, token-refresh, publication executor and ledger suites passed (11 reported tests, no failures). Publication lock-order integration passed. The native publication database integration was not run: its explicit local-only Supabase opt-in was absent; it was not counted as a pass. Read-only production Supabase query confirms migration head Remaining mandatory evidence: authenticated cloud-runtime read-only tenant credential verification and refresh persistence; real local PostgreSQL concurrent-admission and interrupted-dispatch/restart tests; exact candidate zero-traffic readiness; one newly approved Threads post with provider readback and one durable ledger receipt. Do not reuse the previously completed Threads job or claim production acceptance before these receipts. General generation/dispatch remain paused. |
|
2026-11-03 20:11 UTC release evidence: Uploaded exact production-schema-compatible candidate source ( Focused publication executor, lock-order and Threads direct-transport tests passed (10 reported tests). Native DB test still requires isolated local-only Supabase setup. No live Threads publish was performed. No new approved publish_now job is currently available. Pending: read-only tenant-specific cloud credential authentication and refresh, real durable crash/restart test, source identity attestation, approved controlled live post, provider and ledger readback. |
Scope
Add an opt-in cloud-native Threads text publishing path that reuses the existing tenant-encrypted
threads_token_encand scoped token renewal. The previous local relay stays the default. The new path requiresTHREADS_CLOUD_NATIVE_ENABLED=truein an exact approved controlled tick; general generation and provider dispatch remain disabled.Direct Graph API transport verifies the intended account, creates a text container, publishes once, and reads back the provider post ID. The existing publication attempt ledger fences execution; uncertain results are not retried by the transport. No credentials were copied, no live post was sent, and production was not changed.
Tests
Full worker
npm run cipassed on the final source rebased onto current main0eb55c2ffc5dd2a4e4dc75dcc82f48c79461b1e1. Four new isolated mocked transport tests passed. The operational rollout and recovery gates are documented indocs/cloud-native-threads-rollout.md.Remaining acceptance before deployment
This is intentionally a draft. Add production-like concurrency and crash/restart tests, token refresh/rotation integration tests, and provider-side ambiguous-outcome reconciliation. Verify the exact account and encrypted tenant credential in the cloud. Only then enable a single owner-approved controlled live test, verify its receipt, and consider retiring the local relay. Do not merge or deploy solely on these unit tests.
Additional verification (3 November 2026)
The production Supabase project has two nonempty encrypted Threads credential rows, both in the expected
enc:v1:envelope. Neither row has token-expiry metadata, so validity/refresh cannot be inferred from storage alone. The active Cloudflare worker hasCREDENTIAL_ENCRYPTION_KEYconfigured; no token values were read or copied.Expanded mocked direct transport tests to eight passing cases: valid publish/readback, wrong account, missing token, lost publish response, rejected account verification, failed container creation, mismatched provider readback, and rejected publish without retry. The complete worker CI chain passed locally on the updated source.
This PR is not a live publication acceptance: encrypted token decryption, provider validity, actual refresh, concurrent admission and crash recovery still need exact cloud-runtime verification. Keep draft and general dispatch paused.