ubiquity / ubiquibot

Putting the 'A' in 'DAO'
https://github.com/marketplace/ubiquibot
MIT License
17 stars 61 forks source link

Contributor Comment Financial Incentives - On Issue #272

Closed 0x4007 closed 1 year ago

0x4007 commented 1 year ago

Financial Incentives for all Commenting Contributors

Default Formula

Different elements in a contributor's comment corpus could have different price tags. For example: plaintext=$0.1/word; link=$1; code block/image=$5;

From contributor financial incentives discussion: https://github.com/ubiquity/bounty-bot/discussions/70

Addendum 4 May 2023:

Addendum 17 May 2023

Specification

Exceptions

Appendix

Configurations

Technically we should be able to find an open source list of every recognized GitHub flavored markdown entity e.g. headers, bolded words, links, images, code blocks etc. and then be able to override and specify the price. For now, we should at least support overrides for the following:

0x4007 commented 1 year ago

I think it would be interesting to financially incentivize higher quality posts. This is not apart of the spec, but just brainstorming down here:

  1. Mitigating typos/sloppy specification/short hand words writing:
    • Not recognized words could be considered as typos and not credited for.
0x4007 commented 1 year ago

For researchers to get paid, it could be really interesting in the future to see discussions converted into issues, and then tallying all of the contributions in the discussion as part of the "pre-bounty-spec" permit totals.

By definition that discussion with all of the contributors' work directly led to the bounty specification, which should be rewarded!

0x4007 commented 1 year ago

Last remark for now, perhaps for a future bounty.

Non core team should be able to file issues and eventually be rewarded.

  1. They open a new issue
  2. It is reviewed by the team and they eventually fund it (make it into an official bounty)
  3. Bot asks for community members address
  4. Bounty eventually gets solved
  5. Everybody including the public customer/user is rewarded.

This could make product development go into hyper speed if our customers could vote on features and be financially incentivized to let us know. Would be epic to sort bounty priority order automatically based on customer demand (like they can vote on certain issues to prioritize)

Perhaps that could be a novel utility of our governance tokens, but more realistically each project's unique governance tokens.


With the AI feature specified in the road map for detecting issue similarity, we could automatically tally up how many times a certain issue is redescribed by customers, bumping up its priority.

0xcodercrane commented 1 year ago

/start

ubiquibot[bot] commented 1 year ago

@0xcodercrane The time limit for this bounty is on Sun, 30 Apr 2023 03:21:46 GMT

Your currently set address is: 0x00868BB3BA2B36316c2fc42E4aFB6D4246b77E46 please use /wallet 0x4FDE...BA18 if you want to update it.

ubiquibot[bot] commented 1 year ago

Do you have any updates @0xcodercrane? If you would like to release the bounty back to the DevPool, please comment /unassign

0xcodercrane commented 1 year ago

been busy for a while. will make sure you happy with a bunch of progress soon

0x4007 commented 1 year ago

@0xcodercrane I slightly updated the specification to include credit for lists as well. Check for

Addendum 4 May 2023:

ubiquibot[bot] commented 1 year ago

Do you have any updates @0xcodercrane? If you would like to release the bounty back to the DevPool, please comment /unassign

ubiquibot[bot] commented 1 year ago

Releasing the bounty back to dev pool because the allocated duration already ended!

0xcodercrane commented 1 year ago

Releasing the bounty back to dev pool because the allocated duration already ended!

Apologize ser. but I want to complete it myself lol

0xcodercrane commented 1 year ago

/start

ubiquibot[bot] commented 1 year ago

@0xcodercrane The time limit for this bounty is on Fri, 12 May 2023 13:57:28 GMT

Your currently set address is: 0x00868BB3BA2B36316c2fc42E4aFB6D4246b77E46 please use /wallet 0x4FDE...BA18 if you want to update it.

0xcodercrane commented 1 year ago

Thank you ser

ubiquibot[bot] commented 1 year ago

Do you have any updates @0xcodercrane? If you would like to release the bounty back to the DevPool, please comment /unassign

rndquu commented 1 year ago

Getting content from github markdown is tricky. I don't know what solution @0xcodercrane will choose in the end but the best thing I've found so far is https://www.npmjs.com/package/remark-parse. So it would be really great if we could convert any github markdown to AST, smth similar to:

{
  headings: [
   { value: "Heading 1" },
   { value: "Heading 2" }
 ],
 lists: [
   { items: ["item 1", "item 2"] },
   { items: ["item 3", "item 4"] }
 ]
}

So in the end we could assign price for each parsed AST element type (link, heading, code, etc...)

rndquu commented 1 year ago

@0xcodercrane here is a more practical example

Check this comment

This code transforms the above comment to mdast:

import { fromMarkdown } from 'mdast-util-from-markdown';
import { gfmFromMarkdown } from 'mdast-util-gfm';
import { gfm } from 'micromark-extension-gfm';
import fs from 'node:fs/promises';

async function main() {
    const comment = await fs.readFile('comment.md');

    const tree = fromMarkdown(comment, {
        extensions: [gfm()],
        mdastExtensions: [gfmFromMarkdown()]
    });

    console.log(JSON.stringify(tree));
}

main();

This is how the result markdown abstract syntax tree looks like: https://gist.github.com/rndquu/76161e70421bb7e687487dab8f353db2

There are different types of parsed content:

So we could assign a price for a particular node type (text, link, etc...).

For example for text or paragraph types we could assign 0.01$ and then count the number of symbols. So this would be basically "price per symbol".

For the link type we could assign 0.5$ which would mean 0.5$ for a whole URL.

We can keep it simple and start from "text", "paragraph" and "link" types. I guess this task implies building a "framework" for such calculations rather than covering all possible node content types. We can add pricing for different node types later.

ubiquibot[bot] commented 1 year ago

Releasing the bounty back to dev pool because the allocated duration already ended!

0xcodercrane commented 1 year ago

/start

ubiquibot[bot] commented 1 year ago

@0xcodercrane The time limit for this bounty is on Sat, 20 May 2023 00:52:35 GMT

Your currently set address is: 0x00868BB3BA2B36316c2fc42E4aFB6D4246b77E46 please use /wallet 0x4FDE...BA18 if you want to update it.

0x4007 commented 1 year ago

I guess this task implies building a "framework" for such calculations rather than covering all possible node content types. We can add pricing for different node types later.

I agree with this, but I also would really like to cover the elements in the specification I produced.

0xcodercrane commented 1 year ago

I guess this task implies building a "framework" for such calculations rather than covering all possible node content types. We can add pricing for different node types later.

I agree with this, but I also would really like to cover the elements in the specification I produced.

The items you produced needs to be matched to what the mdast supports in the beginning. but I guess it has most of things we want.

Steveantor commented 1 year ago

Releasing the bounty back to dev pool because the allocated duration already ended!

there should be an assign locking function

0x4007 commented 1 year ago

It's supposed to be able to monitor progress on the linked pull requests instead.

ubiquibot[bot] commented 1 year ago

Do you have any updates @0xcodercrane? If you would like to release the bounty back to the DevPool, please comment /unassign

0xcodercrane commented 1 year ago

Do you have any updates @0xcodercrane? If you would like to release the bounty back to the DevPool, please comment /unassign

Lol yes you need to track the linked PR as well

0x4007 commented 1 year ago

Lol yes you need to track the linked PR as well

Soon™️

Steveantor commented 1 year ago

When next bot release?

0x4007 commented 1 year ago

When next bot release?

Wen? Soon™️

Track the release progress here #292

Steveantor commented 1 year ago

When next bot release?

Wen? Soontm

Track the release progress here #292

Fix the CI and merge? I don't see any progress there

0x4007 commented 1 year ago

When next bot release?

Wen? Soontm

Track the release progress here #292

Fix the CI and merge?

I don't see any progress there

😂 sick burn

@0xcodercrane Steve demands progress

ubiquibot[bot] commented 1 year ago

[ CLAIM 600 DAI ]

0x00868BB...46b77E46

0x4007 commented 1 year ago

I want to also test this feature. Where's the best place I can observe an example?

0xcodercrane commented 1 year ago

I want to also test this feature. Where's the best place I can observe an example?

Sure. there is a QA but I will let you know once I finish the QA myself because there could be a couple of refactors. until everything is clear, leave the claim url here.

Ameralameri commented 1 year ago

Good this comment earn money

ubiquibot[bot] commented 1 year ago

Available commands

- /assign: Assign the origin sender to the issue automatically.
- /unassign: Unassign the origin sender from the issue automatically.
- /help: List all available commands.
- /payout: Disable automatic payment for the issue.
- /multiplier: Set bounty multiplier (for treasury)
- /allow: Set access control. (Admin Only)
- /wallet: <WALLET_ADDRESS | ENS_NAME>: Register the hunter's wallet address. 
  ex1: /wallet 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266 
  ex2: /wallet vitalik.eth

@Ameralameri

Ameralameri commented 1 year ago

الأوامر المتوفرة

- /assign: Assign the origin sender to the issue automatically.
- /unassign: Unassign the origin sender from the issue automatically.
- /help: List all available commands.
- /payout: Disable automatic payment for the issue.
- /multiplier: Set bounty multiplier (for treasury)
- /allow: Set access control. (Admin Only)
- /wallet: <WALLET_ADDRESS | ENS_NAME>: Register the hunter's wallet address. 
  ex1:wallet 0x20fe9f5896a3021ca6ea78005a15ae954dc134e6
  ex2: /wallet vitalik.eth

@Ameralameri

ubiquibot[bot] commented 1 year ago

Updated the wallet address for @Ameralameri successfully! Your new address: 0x20fe9f5896a3021ca6ea78005a15ae954dc134e6

ubiquibot[bot] commented 1 year ago

@wannacfuture The time limit for this bounty is on Sat, 12 Aug 2023 08:51:52 UTC

ubiquibot[bot] commented 1 year ago

@wannacfuture please be sure to review this conversation and implement any necessary fixes. Unless this is closed as completed, its payment of 600.0 DAI will be deducted from your next bounty.

ubiquibot[bot] commented 1 year ago

@wannacfuture - Releasing the bounty back to dev pool because the allocated duration already ended! Last activity time: Tue Apr 25 2023 20:11:39 GMT+0000 (Coordinated Universal Time)

ubiquibot[bot] commented 1 year ago

@wannacfuture The time limit for this bounty is on Sat, 12 Aug 2023 08:52:35 UTC

ubiquibot[bot] commented 1 year ago

@wannacfuture - Releasing the bounty back to dev pool because the allocated duration already ended! Last activity time: Tue Apr 25 2023 20:11:39 GMT+0000 (Coordinated Universal Time)

wannacfuture commented 1 year ago

/start

ubiquibot[bot] commented 1 year ago

Too many assigned issues, you have reached your max of 2

0xcodercrane commented 1 year ago

Status: The basic flow is done, but in the QA step, it was not working properly. branch: hotfix-incentive-on-issue Claim status: not claimed any funds.

wannacfuture commented 1 year ago

updateComment

ubiquibot[bot] commented 1 year ago

@wannacfuture The time limit for this bounty is on Sat, 12 Aug 2023 08:53:55 UTC

ubiquibot[bot] commented 1 year ago

Do you have any updates @wannacfuture? If you would like to release the bounty back to the DevPool, please comment /stop Last activity time: Fri Aug 11 2023 08:53:34 GMT+0000 (Coordinated Universal Time)

0x4007 commented 1 year ago

@wannacfuture please be sure to review this conversation and implement any necessary fixes. Unless this is closed as completed, its payment of 600.0 DAI will be deducted from your next bounty.

lol @0xcodercrane you just rugged @wannacfuture btw