Hi Seth, I was wondering about this retroactivity. First of all a practical question: does that mean the SC system checks all Discourse messages as well as all Discord messages ever posted in any channel on a server? That must be one hell of a data crawl! I assume it has access to hidden/limited channels as well?
And if for example, I get a ‘like’ from a user that has not reached the userlevel threshold yet (and therefore it doesn’t mint cred), will the system retroactively count those if that user does reach the required level later? Thanks!
Yes. The SourceCred devs are very smart and did a ton of work on this. Issues around this still crop up occasionally (e.g. when @befitsandpiper ran into GitHub API rate limits due to 1Hive org size), but the infrastructure to ingest data is solid
The bot has as much access as it is given. Discord’s API permessions let you get pretty granular, so I’m pretty sure you could configure it so it can only see public channels. The Discourse plugin docs have instructions on how to set bot permissions. Currently, I believe the default is that the bot can read private channels, but does not mint Cred on reactions in private channels. The decision to build this feature was motivated by SourceCred’s internal decision not to mint Cred on private channels, as an incentive to encourage transparency. If you want Cred for your private decision-making, you need to share publicly about it.
Yes. Once a user attains the ability to mint Cred, their past reactions now mint Cred. This creates an informal “bounty” of sorts for reaching that threshold.
Currently, no. Hypothetically, yes, SourceCred can be used to track pretty much any data source, including social media posts. However, this, like any new data source, typically requires writing a plugin specifically for Twitter, Facebook, etc., as you need logic that can ingest that data and model Cred flows in a reasonable manner. To get a sense of the work required, you could look at the documentation for the Discourse plugin (what is tracking this post), which shows how Cred flows on Discourse.
Thanks for all interesting info @s_ben, much appreciated. One more question:
We have been discussing changing the weights of different ways of earning cred, for example a certain channel X only earns half the cred from next week. What happens with the historical (total) cred if this is implemented?
Is there a timestamp connected to the total cred and will a weight change as described not influence past cred, but only future cred, or will this be appplied retroactively to all prior messages in that channel? Thanks!
Currently all weight changes are fully retroactive, so if (for example) a channel has its weight reduced, that will apply to all Cred generated in that channel across time.
We’d like the ability to set up time-scoped weights, but it’s still on the feature roadmap for now.