Write the Initiatives Plugin
Status: In progress
Champion?:
Initiative Description:
We now have an initiatives category on Discourse (this one). However, SourceCred isn’t yet aware of it, so Initiatives don’t yet flow any special cred. We should add initiatives directly to the SourceCred graph.
Benefits:
Initiatives will add a layer of interpretability and robustness to the SourceCred graph. They are more interpretable (vs. pull requests where it can be hard to parse their impact or significance). They can also be used for different styles of cred minting, grain boosting and/or bounties.
Implementation plan:
The rough outline of necessary steps is.
- Get necessary (missing) information from Discourse API using the Discourse plugin and expose it.
- Create the initiatives plugin from scratch, to initially detect initiatives and model it into the graph.
- Wire it up with configuration and into the load command.
- Iterate on this by adding bounty dynamics.
Concrete steps are:
- Define the nodes and edges we will add. PR #1416
- Define the intermediate datatypes the initiatives plugin will use to represent initiatives (and it’s dynamics). PR #1417
- Find out which data is missing from Discourse and obtain it.
- Expose the rich Discourse data to the incentives plugin.
- TBD…
Dependencies:
- SourceCred core plugin system
- Discourse reference detection
- Discourse mirror revision
- Unified reference detection
- Discourse->Other Plugin Data Interface
References:
Contributions:
- Implementation thoughts post
- https://github.com/sourcecred/sourcecred/pull/1416
- https://github.com/sourcecred/sourcecred/pull/1417
https://github.com/sourcecred/sourcecred/pull/1418- https://github.com/sourcecred/sourcecred/pull/1477
- https://github.com/sourcecred/sourcecred/pull/1478
- https://github.com/sourcecred/sourcecred/pull/1480
- https://github.com/sourcecred/sourcecred/pull/1483