---
# System prepended metadata

title: DIA SourceCred Implementation
tags: [missions]

---

---
tags: missions
---

# DIA SourceCred Implementation
References:
- [DIA SourceCred Template](https://github.com/oovg/dia-source)
- SourceCred Docs: 
    - [How Grain Works](https://sourcecred.io/docs/beta/grain/)
    - [How Cred Works](https://sourcecred.io/docs/beta/cred/)
    - [Discord Plugin](https://sourcecred.io/docs/beta/plugins/discord/)
    - [In-depth explainer](https://research.protocol.ai/blog/2020/sourcecred-an-introduction-to-calculating-cred-and-grain/)

## TODO
- Outline of activities we want to track and reward
- Activities have first-pass weightings
- Design translation between Sourcecred -> DAOhaus or other economic / governance systems
- Implement Sourcecred + Discord plugin

## Standard (Objective) Activities
1. Collect: Post a link in #collection
    - "this is a valuable resource"
    - Sourcecred: α authors message β
3. Curate-1: Star-emoji a link in #collection
    - "I agree this is a valuable resource"
    - Sourcecred: α adds reaction β
5. Fuse: Create a draft tweet in #fusion from a curated link
    - "here's an easy way to understand what is in this resource, and how valuable it is"
    - Sourcecred: α authors message β
7. Curate-2: Star-emoji a link in #fusion
    - "this effectively describes what's in this resource and how valuable it is"
    - Sourcecred: α adds reaction β

## Possible Weightings
- Priority is to **reward coordination and good curation** 
    - Do this with heavier reward weightings when a link makes it all the way through the funnel
    - Must be careful to incentivize high quality links (i.e. good curation), if we are incentivizing participation
    - Possible to incorporate twitter metrics into the breakdown?
    - Quality incentive: people stake on their actions, and then are rewarded if they go through (can SourceCred do this?)
    - Staking earlier in the funnel is riskier
    - Fuse needs the most reward (high friction activity, biggest drop off / low hanging fruit for getting more content out)
    - Is reward for Curate-1 and -2 limited to the first 3 people to star? (Or whatever the threshold is at the time)?

#### Funnel as of 9/24/21 - for context
- #collection: 15 links received 3+⭐
- carl-bot failed us with 6 of the 15 links
- 4 of the 3+⭐ links still need a draft tweet!
- 2-fusion: 4 links received a draft tweet (44%)
- 3-distribution: 3 draft tweets received 3+⭐ and were posted (75%)

#### Rewards Option A
1. Collect: 2x, 4x if posted
2. Curate-1: 1x, 2x if posted
3. Fuse: 3x, 6x if posted
4. Curate-2: 1x, 2x if posted

#### Rewards Option B (with Staking)
1. Collect: stake 1, +3 if posted
2. Curate-1: stake 1, +2 if posted
3. Fuse: stake 1, +2 if posted
4. Curate-2: stake 1, +1 if posted

#### Option B - Scenarios
1. Posted Tweet:
    - Alice Collects (+2)
    - Bob, Charlie, Dalia Curate-1 (+2)
    - Bob Fuses (+2)
    - Alice, Charlie, Dalia Curate-2 (+1)
    - Outcomes:
        - Alice +3
        - Bob +4
        - Charlie +2
        - Dalia +3

2. Fused Tweet but not posted
    - Alice Collects (-1)
    - Bob, Charlie, Dalia Curate-1 (-1)
    - Bob Fuses (-1)
    - Alice and Charlie Curate-2 (-1)
    - Outcomes:
        - Alice -2
        - Bob -2
        - Charlie -2
        - Dalia -1

2. Curate-1 Link but not Fused
    - Alice Collects (-1)
    - Bob, Charlie, Dalia Curate-1 (-1)
    - Outcomes:
        - Alice -1
        - Bob -1
        - Charlie -1
        - Dalia -1

- Max reward = +5 from Collect + Fuse (can't Curate-1 or -2 your own Collect / Fuse)
- Max slash = -2 from staking on any two stages (can't Curate-1 or -2 your own Collect / Fuse)
- One challenge: if people pay for others stakes to get 
- their tweet through (I think we deal with this if it comes up...)

#### Rewards Option C (informed by Sourcecred spike)
1. Collect: 
    - α authors message β
2. Curate-1: 
    - α adds reaction β
    - α reacts to β
3. Fuse: 
    - α authors message β
4. Curate-2:
    - α adds reaction β
    - α reacts to β

- Tweet 1 is published by The DIA twitter, posted in #distribution
- X points are distributed to the people who did the actions above (write in Collection or Fusion, or star emoji to curate)
    1. β1 is the message in distribution
    2. Cred flows from β1 to β2 (message in fusion)
    3. Cred flows from β2 to α{1-4} fuser and reactors
    4. Cred flows from β2 to β3 (message in collection)
    5. Cred flows from β3 to α{5-8} collector and reactors

## Additional Activities for Reward Considerations
1. Creating the bot for Curation Engine
2. Paying for expenses
3. Organizing briefing / rendezvous
4. Facilitating briefing / rendezvous
5. Identify glitches in the funnel, ie. tweets that didn't get posted
6. Invitations to receive rewards to folks who tag @daointel on twitter

## Questions for Sourcecred

1. how to reward reaction edge w/o over incentivizing, and to ensure only good content gets reacted to.

2. how disincentivize spamming links?
    - spam emoji? hammerban

3. how to limit cred check to certain channels only?
    - collection, fusion, distribution

4. how remove bots from getting cred

5. how to clear cred, and rerun on fresh weights `discord/config.json` ?