Skip to main content

Instagram Live Validation

Instagram support uses the same process-first API as TikTok, but live execution stays manual-only until the OnePlus controlled validation artifact is green. Do not use Motorola evidence for Instagram parity.

Required Order

  1. Apply and verify the Instagram platform migration.
  2. Add controlled fixture values to ignored .env.local or a local fixture file.
  3. Run login + health readiness on the OnePlus.
  4. Run login + health live validation for the controlled actor.
  5. Run the no-side-effect full readiness check.
  6. Run the controlled live parity validator.

Database Migration

Root migrations/*.sql files are not Supabase CLI migration files. Apply migration 015 explicitly:
Verify without applying:
The verifier checks capability_requests.platform, queue_items.platform, platform-aware idempotency indexes, and platform-scoped target-control-plane uniqueness.

Controlled Fixtures

Prefer ignored env values for credentials:
To create the missing ignored keys without printing values, run:
To set a specific key, pass --set NAME=VALUE; existing non-empty values are preserved unless --force is also passed. For real secrets, prefer --from-stdin-json so values do not land in shell history. The command output reports key names only, not secret values. You can also copy the tracked example into the ignored local file:
Fill it with controlled actor and target values only. The local file is gitignored because it can contain credentials, target handles, captions, and media paths. Required fixture groups:
  • account_create: email_alias, password
  • login: login_identifier, password
  • health: optional expected_username to prove the controlled actor on the profile surface
  • profile: at least one of display_name, bio, or username
  • post: video, caption, allow_unfenced_post: true
  • story: media, allow_unfenced_share: true
  • comment: target_video_url, text, dedupe_key
  • warmup: allow_live_warmup: true
  • dm: target_handle, message_text
When --fixtures-env is used, the readiness JSON includes missing_by_check and missing_env_vars_by_check for any selected checks that still need local env values.

Login + Health First

Run this before full parity. It only requires the controlled login env keys and optional expected username:
Then run the login + health validator:
If PHONEFARM_INSTAGRAM_EXPECTED_USERNAME is set, health must verify that handle on the profile tab before reporting healthy.

Full Readiness Check

Run this before any live Instagram validation:
The readiness check has no social side effects. It validates the OnePlus-only policy, fixture completeness, route planning, optional DB migration status, and current OnePlus Instagram login state.

Controlled Live Run

After readiness is ready, run the live validator:
Instagram parity is not live-verified until that artifact shows every required check as success.