Skip to content

Boosting All Rewards Based On Priority #175

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
0x4007 opened this issue Sep 8, 2024 · 39 comments · Fixed by #176
Closed

Boosting All Rewards Based On Priority #175

0x4007 opened this issue Sep 8, 2024 · 39 comments · Fixed by #176

Comments

@0x4007
Copy link
Member

0x4007 commented Sep 8, 2024

We should boost all the rewards proportionally if it's an urgent task. This will incentivize all contributors (not just the assignee) to focus on that task because everybody gets higher rewards for work like reviews.

The higher the priority level the higher the rewards multiplier is for everybody.

example

I should've received a reward closer to $150 in this task, because the priority level was 3.

@0x4007
Copy link
Member Author

0x4007 commented Sep 8, 2024

RFC @gentlementlegen

I have a feeling that with our current infrastructure it doesn't directly support this plugin to affect the reward amount of others, such as conversation rewards.

We need to support outputting rewards from all plugins and aggregating them before sending the sum total to permit generation. ubiquity-os/permit-generation#3

I suppose this proposal implies that we will need to support multiplication as well.

@gentlementlegen
Copy link
Member

Assisitive pricing aims the handle pricing labels and allowing users to modify these labels. There is not calculation on the final reward here. I think this should be handled in conversation rewards.

@0x4007
Copy link
Member Author

0x4007 commented Sep 9, 2024

I see what you mean but logically seems more straightforward if a plugin has the ability to affect all the others' pricing either with addition or multiplication.

Then we don't have to change every plugin, we only need to change this one and the permit generation one to support macro change outputs from any plugin

I suppose it's simpler to implement if we change every plugin though, just not as elegant.

@gentlementlegen
Copy link
Member

Yes I do agree that we should be able to chain these results. It's just that this plugin never had the capability to actually attribute rewards to a user, this was the responsibility of conversation-rewards. We could think of splitting this and have the logic here later on.

@0x4007
Copy link
Member Author

0x4007 commented Sep 9, 2024

If you could write a spec, that would be helpful because I don't have enough context on the problem

@0x4007
Copy link
Member Author

0x4007 commented Sep 10, 2024

@gentlementlegen can you write the spec?

@gentlementlegen
Copy link
Member

@0x4007 Done, let me know if this is clear enough.

@ishowvel
Copy link
Contributor

Which plugin handles the final permit generation which combines all the rewards?
I was thinking we can just find the priority label using the payload and just multiply the combined rewards by it

@ishowvel
Copy link
Contributor

/start

Copy link
Contributor

Warning! This task was created over 49 days ago. Please confirm that this issue specification is accurate before starting.
Deadline Tue, Oct 29, 6:15 AM UTC
Beneficiary 0x340D8d2bd82dEb4f485623453c9F6ad307e6B027

Tip

  • Use /wallet 0x0000...0000 if you want to update your registered payment wallet address.
  • Be sure to open a draft pull request as soon as possible to communicate updates on your progress.
  • Be sure to provide timely updates to us when requested, or you will be automatically unassigned from the task.

@ishowvel
Copy link
Contributor

/stop

@0x4007
Copy link
Member Author

0x4007 commented Oct 28, 2024

Which plugin handles the final permit generation which combines all the rewards?
I was thinking we can just find the priority label using the payload and just multiply the combined rewards by it

Right now it's text-conversation-rewards

Hopefully soon we can upgrade the system to make "permit requests" and every plugin will have a standardized way to send a request to the permit generation module/plugin/endpoint.

@ishowvel
Copy link
Contributor

Which plugin handles the final permit generation which combines all the rewards?
I was thinking we can just find the priority label using the payload and just multiply the combined rewards by it

Right now it's text-conversation-rewards

Hopefully soon we can upgrade the system to make "permit requests" and every plugin will have a standardized way to send a request to the permit generation module/plugin/endpoint.

shouldnt this spec be moved to text-conversation rewards for now for a fix and then later a better way can hopefully be found?

@0x4007
Copy link
Member Author

0x4007 commented Oct 28, 2024

@gentlementlegen rfc

@gentlementlegen
Copy link
Member

We can do that, you can also cross-reference issues from another repo, either works.

@0x4007
Copy link
Member Author

0x4007 commented Oct 28, 2024

you can also cross-reference issues from another repo, either works.

I don't understand

@gentlementlegen
Copy link
Member

I meant doing the pull-request in text-conversation-rewards and mark it as Resolves https://github.com/ubiquity-os-marketplace/text-conversation-rewards/issues/175

@ishowvel
Copy link
Contributor

Like how it's done for devpool directory right?

@ishowvel
Copy link
Contributor

Making a pull request to the code base while marking it to resolve the issue in the dedicated issue repo for the devpool directory

@gentlementlegen gentlementlegen transferred this issue from ubiquity-os-marketplace/daemon-pricing Oct 28, 2024
@ishowvel
Copy link
Contributor

/start

Copy link
Contributor

! ishowvel you were previously unassigned from this task. You cannot be reassigned.

Copy link
Contributor

+ Evaluating results. Please wait...

@gentlementlegen
Copy link
Member

@ishowvel I had to delete this because the bot seems to wrongly account for comment rewards. Let me fix this and I will regenerate the results. @0x4007 rfc

@0x4007
Copy link
Member Author

0x4007 commented Nov 17, 2024

Then there's a problem with this pull and how it calculates rewards.

@gentlementlegen
Copy link
Member

@0x4007 I figured out the issue, but unsure how to fix it. Long story short, the defaults take over the configuration, and the default multiplier for contributor pull request is 1 which is why rewards are not calculated properly.

Copy link
Contributor

+ Evaluating results. Please wait...

Copy link
Contributor

! Error: Error: 429 You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.

Copy link
Contributor

+ Evaluating results. Please wait...

Copy link
Contributor

! Error: Error: 429 You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.

@gentlementlegen
Copy link
Member

@0x4007 If you can have a look at OpenAI API key, thank you.

Copy link
Contributor

+ Evaluating results. Please wait...

Copy link
Contributor

 [ 410.17 WXDAI ] 

@ishowvel
Contributions Overview
ViewContributionCountReward
IssueTask1400
IssueComment810.17
ReviewComment290
Conversation Incentives
CommentFormattingRelevancePriorityReward
Which plugin handles the final permit generation which combines …
1.95
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 33
  wordValue: 0.1
  result: 1.95
141.96
shouldnt this spec be moved to text-conversation rewards for now…
1.49
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 24
  wordValue: 0.1
  result: 1.49
141.48
Like how it's done for devpool directory right?
0.65
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 9
  wordValue: 0.1
  result: 0.65
0.540.315
Making a pull request to the code base while marking it to resol…
1.49
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 24
  wordValue: 0.1
  result: 1.49
0.540.735
is there a way to qa without needing to get an openai api token
0.94
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 14
  wordValue: 0.1
  result: 0.94
040.02
@gentlementlegen would hardcoding the evaluation to be one for e…
1.28
content:
  content:
    p:
      score: 0
      elementCount: 2
  result: 0
regex:
  wordCount: 20
  wordValue: 0.1
  result: 1.28
0.540.64
also it would very awesome if someone could make the openai impl…
1.38
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 22
  wordValue: 0.1
  result: 1.38
040.02
https://github.com/ishowvel/text-conversation-rewards/actions/ru…
7.4
content:
  content:
    p:
      score: 0
      elementCount: 3
    a:
      score: 5
      elementCount: 1
  result: 5
regex:
  wordCount: 42
  wordValue: 0.1
  result: 2.4
045
Resolves #175
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 2
  wordValue: 0
  result: 0
0.140
The permit rewards have payouts upto 3 decimals, decimal js mult…
0
content:
  content:
    p:
      score: 0
      elementCount: 2
  result: 0
regex:
  wordCount: 65
  wordValue: 0
  result: 0
0.740
ohhhh my bad
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 3
  wordValue: 0
  result: 0
040
heres the [qa](https://github.com/ishowvel-org/.ubiquity-os/issu…
5
content:
  content:
    p:
      score: 0
      elementCount: 1
    a:
      score: 5
      elementCount: 1
  result: 5
regex:
  wordCount: 3
  wordValue: 0
  result: 0
0.140
@gentlementlegen please review this 🙏
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 5
  wordValue: 0
  result: 0
0.140
After the total formatted reward is calculated, the priority lev…
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 64
  wordValue: 0
  result: 0
0.940
the total itself is not multiplied but the specification and com…
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 13
  wordValue: 0
  result: 0
0.540
for jest testing, no mock result has ever contained the "priorit…
0
content:
  content:
    p:
      score: 0
      elementCount: 2
  result: 0
regex:
  wordCount: 38
  wordValue: 0
  result: 0
0.840
There are 100's and 100's of results
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 9
  wordValue: 0
  result: 0
0.140
https://github.com/ubiquity-os-marketplace/text-conversation-rew…
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 18
  wordValue: 0
  result: 0
0.240
I am talking about the results, each result object would need to…
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 31
  wordValue: 0
  result: 0
0.740
<details><summary><b><h…
0
content:
  content:
    p:
      score: 0
      elementCount: 4
  result: 0
regex:
  wordCount: 4
  wordValue: 0
  result: 0
0.340
@gentlementlegen are these the desired outputs?
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 6
  wordValue: 0
  result: 0
0.440
https://github.com/ubiquity-os-marketplace/text-conversation-rew…
0
content:
  content:
    p:
      score: 0
      elementCount: 2
  result: 0
regex:
  wordCount: 54
  wordValue: 0
  result: 0
0.840
heres the new [qa](https://github.com/ishowvel-org/.ubiquity-os/…
5
content:
  content:
    p:
      score: 0
      elementCount: 1
    a:
      score: 5
      elementCount: 1
  result: 5
regex:
  wordCount: 25
  wordValue: 0
  result: 0
0.840
Done!
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 1
  wordValue: 0
  result: 0
0.140
All tests that failed, failed because of not supporting this fea…
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 20
  wordValue: 0
  result: 0
0.240
@gentlementlegen can you please review these changes? Thank you!
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 9
  wordValue: 0
  result: 0
0.140
Any updates?
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 2
  wordValue: 0
  result: 0
0.240
@0x4007 can you review this as you have created the specificatio…
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 15
  wordValue: 0
  result: 0
0.140
Currently out for a university, will work on this task in a few …
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 14
  wordValue: 0
  result: 0
040
idk why the tests keep failing even without the changes present …
5
content:
  content:
    p:
      score: 0
      elementCount: 1
    a:
      score: 5
      elementCount: 1
  result: 5
regex:
  wordCount: 32
  wordValue: 0
  result: 0
0.640
@gentlementlegen @octokit/core is imported, this has become a ma…
5
content:
  content:
    p:
      score: 0
      elementCount: 1
    a:
      score: 5
      elementCount: 1
  result: 5
regex:
  wordCount: 23
  wordValue: 0
  result: 0
0.340
tests even fail on a fresh clone of this repository
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 10
  wordValue: 0
  result: 0
0.240
Tests are passing 🎉 🎉 🎉
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 3
  wordValue: 0
  result: 0
0.840
@gentlementlegen can you please review this
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 6
  wordValue: 0
  result: 0
0.140
Do reminders exist for reviewers like the ones for assignee
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 10
  wordValue: 0
  result: 0
0.140
From what I have tried using @octokit/core makes the build work …
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 27
  wordValue: 0
  result: 0
0.440
My code changes do not produce this bug as you can see herehttp…
0
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 36
  wordValue: 0
  result: 0
0.940

 [ 163.844 WXDAI ] 

@0x4007
Contributions Overview
ViewContributionCountReward
IssueSpecification1115.32
IssueComment844.232
ReviewComment34.292
Conversation Incentives
CommentFormattingRelevancePriorityReward
We should boost all the rewards proportionally if it's an urgent…
9.61
content:
  content:
    p:
      score: 0
      elementCount: 2
    h3:
      score: 1
      elementCount: 1
    a:
      score: 5
      elementCount: 1
  result: 6
regex:
  wordCount: 68
  wordValue: 0.1
  result: 3.61
14115.32
RFC @gentlementlegen I have a feeling that with our current inf…
3.75
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 71
  wordValue: 0.1
  result: 3.75
1415
I see what you mean but logically seems more straightforward if …
3.84
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 73
  wordValue: 0.1
  result: 3.84
1415.36
If you could write a spec, that would be helpful because I don't…
1.28
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 20
  wordValue: 0.1
  result: 1.28
0.542.56
@gentlementlegen can you write the spec?
0.46
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 6
  wordValue: 0.1
  result: 0.46
0.540.92
Right now it's `text-conversation-rewards` Hopefully so…
2
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 34
  wordValue: 0.1
  result: 2
0.846.4
@gentlementlegen rfc
0.18
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 2
  wordValue: 0.1
  result: 0.18
0.340.216
I don't understand
0.32
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 4
  wordValue: 0.1
  result: 0.32
0.240.256
Then there's a problem with this pull and how it calculates rewa…
0.88
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 13
  wordValue: 0.1
  result: 0.88
143.52
Just copy the priority level names? Our config is public you can…
1.22
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 19
  wordValue: 0.1
  result: 1.22
0.642.928
There's five priority levels
0.39
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 5
  wordValue: 0.1
  result: 0.39
0.340.468
I guess 3x multiplier?
0.32
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 4
  wordValue: 0.1
  result: 0.32
0.740.896

 [ 154.412 WXDAI ] 

@gentlementlegen
Contributions Overview
ViewContributionCountReward
IssueComment1034
ReviewComment14120.412
Conversation Incentives
CommentFormattingRelevancePriorityReward
Assisitive pricing aims the handle pricing labels and allowing u…
1.9
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 32
  wordValue: 0.1
  result: 1.9
0.543.8
Yes I do agree that we should be able to chain these results. It…
2.69
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 48
  wordValue: 0.1
  result: 2.69
1410.76
@0x4007 Done, let me know if this is clear enough.
0.71
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 10
  wordValue: 0.1
  result: 0.71
040
We can do that, you can also cross-reference issues from another…
1
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 15
  wordValue: 0.1
  result: 1
0.341.2
I meant doing the pull-request in `text-conversation-rewards…
0.77
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 11
  wordValue: 0.1
  result: 0.77
0.441.232
@ishowvel You can either use a free endpoint, use mocks, or hard…
1.11
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 17
  wordValue: 0.1
  result: 1.11
040
@ishowvel You can check the tests where the evaluation is mocked…
2.73
content:
  content:
    p:
      score: 0
      elementCount: 2
  result: 0
regex:
  wordCount: 49
  wordValue: 0.1
  result: 2.73
040
@ishowvel I had to delete this because the bot seems to wrongly …
1.7
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 28
  wordValue: 0.1
  result: 1.7
146.8
@0x4007 I figured out the issue, but unsure how to fix it. Long …
2.2
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 38
  wordValue: 0.1
  result: 2.2
148.8
@0x4007 If you can have a look at OpenAI API key, thank you.
0.88
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 13
  wordValue: 0.1
  result: 0.88
0.441.408
Please use `octokit` types.
0.25
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 3
  wordValue: 0.1
  result: 0.25
0.640.6
Why cutting to 3 decimals?I did make a comment about the float…
1.8
content:
  content:
    p:
      score: 0
      elementCount: 2
  result: 0
regex:
  wordCount: 30
  wordValue: 0.1
  result: 1.8
0.745.04
Yes that is why we use DecimalJs so `0.1 + 0.2` will yie…
1.65
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 27
  wordValue: 0.1
  result: 1.65
0.845.28
@ishowvel You should add `Jest` tests to your pull-reque…
7.1
content:
  content:
    p:
      score: 0
      elementCount: 4
    img:
      score: 5
      elementCount: 1
  result: 5
regex:
  wordCount: 36
  wordValue: 0.1
  result: 2.1
0.9427.56
@ishowvel try with priority 3 as it is the most likely to give v…
13.92
content:
  content:
    p:
      score: 0
      elementCount: 7
    img:
      score: 5
      elementCount: 2
  result: 10
regex:
  wordCount: 75
  wordValue: 0.1
  result: 3.92
0.8452.544
@0x4007 Sure but `3.504 * 3 = 10.512` so I don't underst…
0.88
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 13
  wordValue: 0.1
  result: 0.88
0.742.464
Because every module can be disabled individually, the type can …
2.2
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 38
  wordValue: 0.1
  result: 2.2
0.544.4
New QA is ok: https://github.com/Meniole/text-conversation-rewar…
2.69
content:
  content:
    p:
      score: 0
      elementCount: 2
  result: 0
regex:
  wordCount: 48
  wordValue: 0.1
  result: 2.69
0.747.532
@ishowvel Sorry I have been extremely busy yes, I'll try to have…
1.44
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 23
  wordValue: 0.1
  result: 1.44
0.442.304
@ishowvel tests don't pass because the import types don't match,…
1.44
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 23
  wordValue: 0.1
  result: 1.44
0.643.456
@ishowvel merge the development branch into this one.
0.59
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 8
  wordValue: 0.1
  result: 0.59
0.541.18
@ishowvel I tried to run the plugin with your pull-request and t…
2.2
content:
  content:
    p:
      score: 0
      elementCount: 3
  result: 0
regex:
  wordCount: 38
  wordValue: 0.1
  result: 2.2
0.645.28
@ishowvel Okay let me try to fix the test and build then.
0.83
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 12
  wordValue: 0.1
  result: 0.83
0.340.996
Seems to be ok in my latest QA: https://github.com/Meniole/text-…
1.11
content:
  content:
    p:
      score: 0
      elementCount: 1
  result: 0
regex:
  wordCount: 17
  wordValue: 0.1
  result: 1.11
0.441.776

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants