Skip to content

Historical snapshot archived 2026-09-25. This records an earlier review or plan, not current implementation or live ticket state. For current work, follow root AGENTS.md, the relevant BloxClips skill, and owning repository source/tests. Preserve approved decisions as evidence; verify their present authority before acting.

MVP Audit Matrix ​

Yes in MVP Blocker means the requirement prevents a safe first private rollout. Status counts are calculated from the 41 rows below.

IDAreaRequirementFEBEDBIntegrationStatusPriorityMVP BlockerEvidenceProposed Issues
AUTH-01AccessWorking creator sign-in/sessionYesYesYesGoogle/Discord/WhopCOMPLETEP1Noauth.ts, useDashboardSession.ts—
AUTH-02AccessAdvertised Whop sign-inYesYesYesWhop OAuth/OIDCCOMPLETEP1NoPKCE callback, signed ID token, encrypted account tokens, tests—
ACCESS-01AccessRestrict private cohort/campaignsNoNoNo—MISSINGP0Yescampaign list/submission have no grantACCESS-001
CAMP-01CampaignDraft/create/editYesYesYes—MOSTLY COMPLETEP1Noadmin.ts campaign routesCAMP-001
CAMP-02CampaignPause/resume/end transitionsYesPartialPartial—PARTIALP0Yesgeneric mutable updateCAMP-001, RBAC-002
FUND-01FundingCreate Whop invoiceNoNoNoNoMISSINGP0Yesno invoice code/modelFUND-001, FUND-002
FUND-02FundingVerify/dedupe invoice paymentNoNoNoChat onlyMISSINGP0YesWhop webhook is chat-onlyFUND-001, FUND-003
FUND-03FundingCampaign funding attribution/balanceNoNoNoNoMISSINGP0Yesmutable Campaign.budget onlyFUND-001, EARN-001
FUND-04FundingFunded-only activationNoNoNoNoMISSINGP0Yeslaunch checks no fundingFUND-004
SUB-01SubmissionTikTok/Instagram/YouTube create pathYesYesYesYesCOMPLETEP1NoSubmitVideoModal, submissions.ts—
SUB-02SubmissionLifecycle/platform/owner validationYesYesYesYesMOSTLY COMPLETEP1Nobackend state/account checksACCESS-001
SUB-03SubmissionCanonical duplicate protectionYesYesYesYesCOMPLETEP1Nounique platform video key—
REV-01ReviewPaginated/filterable review queueYesYesYes—MOSTLY COMPLETEP1No/submissions/reviewREV-003
REV-02ReviewReviewer/reason/history visibleNoPartialAudit JSON—PARTIALP1Noexplicit audit onlyREV-001
REV-03ReviewAtomic/idempotent moderationNoNoNo—BROKENP0Yescheck/update side effects raceREV-002
TRACK-01TrackingStatus-independent lifecycle-bounded scheduling—PartialPartial—PARTIALP0Yespredicate includes all statuses as intended; moderation side effects and acceptedAt-based expiry conflict with policyTRACK-001
TRACK-02TrackingDurable jobs/leases/reconciliation—YesYesYesMOSTLY COMPLETEP0NoScrapeJob, worker CASTRACK-002
TRACK-03TrackingProduction worker continuously runs—Config onlyYesUnknownUNKNOWNP0Yesno deployment/process configTRACK-002
METRIC-01MetricsHistorical views/likes/commentsYesYesYesYesMOSTLY COMPLETEP1NoViewSnapshotMETRIC-001
METRIC-02MetricsShares/saves/followers historyNoNormalized onlyNoPartialPARTIALP1Noworker result discardedMETRIC-001
METRIC-03MetricsRegression/correction provenanceNoNoNo—PARTIALP1Noclamp accepts lower totalsMETRIC-001
RATE-01RatesExplicit precise CPM and RPMPartialNoNo—MISSINGP0Yesstrings/Float/fee burnRATE-001
RATE-02RatesDeterministic versioned highest RPMNoSubmission override onlyNo—MISSINGP0Yesowner rule not implementedRATE-002, GROUP-002
EARN-01EarningsImmutable attributable accrualNoNoNo—MISSINGP0Yesmutable recomputationEARN-001
EARN-02EarningsAtomic CPM depletion/concurrencyPartialNoNo—BROKENP0Yesapproval/payout rescrape racesEARN-002
GROUP-01GroupsCampaign-specific CRUD/membershipYesYesYes—COMPLETEP1Nogroup domain/routes/UI—
GROUP-02GroupsManual/automatic archiveYesYesYes—COMPLETEP1Nolifecycle helper/tests—
GROUP-03GroupsGroup RPM applied to earningsNoNoNo—MISSINGP0Yesno RPM field/useGROUP-001, GROUP-002
GROUP-04GroupsGroup/member analyticsNoNoNo—MISSINGP1Nono aggregate endpoint/UIGROUP-003
PAY-01PayoutRequest/review/delta lifecycleYesYesYesLegacy railsPARTIALP0Nopayout routes/itemsPAY-004
PAY-02PayoutWhop company-to-user transferNoNoNoNoMISSINGP0Yesdispatcher has no WhopPAY-001, PAY-002
PAY-03PayoutOne semantic idempotent payoutNoNoPartialNoBROKENP0Yesnon-atomic send, rail gapsPAY-002, PAY-004
PAY-04PayoutUnknown-state reconciliationNoNoNoNoMISSINGP0Yesretry follows timeoutPAY-003
PAY-05PayoutCreator campaign/status historyPartialPartialIndirect—PARTIALP1Nosummary-only /meANALYTICS-001
RBAC-01RBACStaff tier plus custom roles/permissions UIPartialPartialFixed tiersWhop membershipPARTIALP0YesSTAFF boundary exists; custom permissions/management do notRBAC-001, RBAC-003
RBAC-02RBACBackend finance/action permissionsPartialPartialFixed tiersWhop membershipPARTIALP0Yesstaff excluded from finance; every admin remains finance-enabledRBAC-002
AUDIT-01AuditReliable action/financial trailNoPartialYes—PARTIALP0Yesfire-and-forget legacy writesAUDIT-001
FRAUD-01FraudRisk signal, hold, override trailPartialPartialBadge string—PARTIALP0Yesbulk approve ignores badgesFRAUD-001
ANALYTICS-01AnalyticsCorrect creator financial analyticsYesNoMixed legacy/delta—BROKENP1Nostats.ts legacy/double countANALYTICS-001
ANALYTICS-02AnalyticsStaff/campaign/group scopePartialPartialPartial—PARTIALP1Nogroup and operational aggregates absent; client view deferredANALYTICS-002
CHAT-01SupportCreator/staff Whop chatYesYesIdentityWhopMOSTLY COMPLETEP1Nochat routes/UI/testsruntime verification