Affiliate Share-to-Earn Wallet Backlog
Status: execution backlog for dormant schema and dry-run UI; live rewards disabled.
Source-of-truth repo file:
docs/backlog/affiliate-share-to-earn-wallet-backlog.md
Related source-of-truth docs:
docs/architecture/commerce/affiliate-share-to-earn-wallet-prd.mddocs/architecture/commerce/affiliate-share-gateway-remix-project-plan.mddocs/mobilis-core-unified-schema-backlog.mdworkers/playwright-source-scanner/supabase/migrations/20260603223151_mobilis_core_affiliate_wallet_share_to_earn_contracts.sql
Live preview surfaces:
Current State
Completed:
- PRD and architecture placement.
- Dormant schema reconciliation for
REQ-COMMERCE-006. - Event-profile dry-run UI integration.
- Buyer-first default event page behavior.
- Explicit
Promote & Earnmode. - Platform-token evidence policy.
Not enabled:
- Live redirect routing.
- Live affiliate link creation.
- Live click capture.
- Checkout attribution.
- Wallet ledger writes.
- Reward settlement.
- Cash-out.
- Organizer self-service launch.
Local Preview Rule
Use the approved Tailscale HTTPS origin https://mrnimbus.tailb91c43.ts.net through TAILSCALE_LOCAL_ORIGIN for local preview URLs generated from this workspace.
For Astro previews, run:
cd docs-portal && npm run preview:astro:tailscale -- --port 4337
Then map the port through Tailscale Serve and open:
${TAILSCALE_LOCAL_ORIGIN}/...
Backlog Tickets
AFF-SHARE-013: Final schema reconciliation before implementation
Review dormant contracts against the latest Mobilis Core schema before any implementation writes data.
Acceptance:
- Decide whether remix assets need
affiliate_remix_assets. - Decide whether platform evidence needs
affiliate_share_evidence. - Decide whether missed attribution needs
affiliate_missed_attribution_claims. - Preserve person, user account, organization, subject, and promoter identity separation.
AFF-SHARE-014: First-party short-link route decision
Select the reusable Mobilis short-link pattern for affiliate attribution.
Acceptance:
- Use server-side click capture before redirect.
- Treat client-side scripts as enrichment only.
- Keep protected-domain changes behind explicit approval.
AFF-SHARE-015: No-login promoter-owned link generation
Define the API/service flow for Promote & Earn to create a shareable link without signup.
Acceptance:
- Create or reuse anonymous promoter profiles.
- Create listing/occurrence/offer-scoped affiliate links.
- Create public short links and private claim tokens together.
- Preserve parent referral context.
AFF-SHARE-016: Clerk-assisted claim and profile consent
Bridge anonymous promoter shells to authenticated users while preserving Mobilis identity separation.
Acceptance:
- Clerk login remains optional before first share.
- Anonymous rewards and link history survive claim.
- Profile fields require explicit share-asset consent.
AFF-SHARE-017: Buyer referral context and dry-run purchase attribution
Carry affiliate context from click to checkout without enabling rewards.
Acceptance:
- Store active affiliate link id and short-link click event id in buyer context.
- Represent last qualified click rules and attribution windows.
- Keep wallet ledger writes behind launch gates.
AFF-SHARE-018: Personalized remix asset storage
Decide how generated share cards, captions, disclosure text, and profile-field consent are stored.
Acceptance:
- Store template key, caption, image/card metadata, link id, and consent snapshot.
- Use existing metadata unless query/reporting requirements justify new tables.
AFF-SHARE-019: Platform evidence and missed-attribution review
Support review of organic social shares without trusting platform tokens as payout identity.
Acceptance:
- Keep
igsh, TikTok params,fbclid, X/Threads params, referrers, and user-agent hints as private evidence. - Route disputed rewards to moderation and fraud review.
- Block payouts until review resolves.
AFF-SHARE-020: Organizer economics and controls preview
Let organizers preview affiliate impact before enabling any program.
Acceptance:
- Show buyer discount, direct seller reward, platform share, upline pool, and organizer net.
- Bind presets to rule snapshots.
- Keep custom budgets and live enablement behind review gates.
AFF-SHARE-021: Wallet hold and payout gate design
Define the reward hold lifecycle before writing wallet ledger entries.
Acceptance:
- Support estimated, pending, locked, available, claimed, paid out, used as credit, reversed, and expired states.
- Support refunds, chargebacks, fraud freezes, and self-referral blocks.
- Keep cash-out manual-review first.
AFF-SHARE-022: Shared Mi Gente immersive hero extraction
Reconcile the event-profile affiliate hero with profile pages through a shared Mi Gente hero pattern.
Acceptance:
- Event pages remain buyer-first by default.
- Profile pages do not expose affiliate dashboard mechanics by default.
- Mobile event/profile first viewports share the visual language.
AFF-SHARE-023: Flow Studio dry-run scenario
Show the end-to-end affiliate flow without live redirects, rewards, wallet redemption, or payouts.
Acceptance:
- Include creator share, promoter remix, buyer click, dry-run purchase, pending reward, claim, hold, review, and disabled payout.
- Show platform-token evidence as evidence-only.
AFF-SHARE-024: Launch-gate packet
Define the evidence required before production affiliate behavior is enabled.
Acceptance:
- Legal terms, disclosures, anti-spam policy, wallet terms, tax/payout terms, and privacy review are complete.
- RLS, public projection, and service-role boundaries are validated.
- Fraud, self-referral, refund, chargeback, and duplicate-claim controls are tested.
- Rollback can disable links, reward accrual, cash-out, and organizer self-service independently.