You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
lib/publish/adaptlypost.ts:19-41 is a mock that returns https://adaptlypost.test/drafts/<id> regardless of DRY_RUN. SETUP.md § 5 documents the MCP setup (@adaptlypost/mcp-server).
Goal
Real adapter that schedules pieces through the AdaptlyPost MCP across the 9 supported platforms.
Acceptance criteria
Reads ADAPTLYPOST_API_KEY; throws clearly if missing and DRY_RUN=false
Maps platforms array to the AdaptlyPost MCP tool params (IG, TikTok, Facebook, LinkedIn, X, Threads, Pinterest, YouTube Shorts, FB Reels)
Validates each platform's media_paths against qa-tech-specs before scheduling (refuse to schedule if any platform fails its hard specs)
Honors DRY_RUN=true → write draft payload to outputs/<piece>/adaptlypost-draft.json and return synthetic URL
Real path returns actual draft URL from the MCP
Retries on transient MCP errors (3 attempts, exponential backoff; AGENTS-style)
After 3 failures, the piece status flips to review with error transcript (per DESIGN.md § Failure Modes)
E2E spec with mocked MCP transport
Files
lib/publish/adaptlypost.ts:19-41
e2e/adaptlypost-publish.spec.ts (extend, do not replace existing test)
Context
lib/publish/adaptlypost.ts:19-41is a mock that returnshttps://adaptlypost.test/drafts/<id>regardless ofDRY_RUN. SETUP.md § 5 documents the MCP setup (@adaptlypost/mcp-server).Goal
Real adapter that schedules pieces through the AdaptlyPost MCP across the 9 supported platforms.
Acceptance criteria
ADAPTLYPOST_API_KEY; throws clearly if missing andDRY_RUN=falseplatformsarray to the AdaptlyPost MCP tool params (IG, TikTok, Facebook, LinkedIn, X, Threads, Pinterest, YouTube Shorts, FB Reels)media_pathsagainstqa-tech-specsbefore scheduling (refuse to schedule if any platform fails its hard specs)DRY_RUN=true→ write draft payload tooutputs/<piece>/adaptlypost-draft.jsonand return synthetic URLreviewwith error transcript (per DESIGN.md § Failure Modes)Files
lib/publish/adaptlypost.ts:19-41e2e/adaptlypost-publish.spec.ts(extend, do not replace existing test)Depends on