Skip to content
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

command/[start | stop] #9

Closed
Tracked by #5
gentlementlegen opened this issue May 13, 2024 · 27 comments · Fixed by ubiquity-os-marketplace/command-start-stop#1
Closed
Tracked by #5

command/[start | stop] #9

gentlementlegen opened this issue May 13, 2024 · 27 comments · Fixed by ubiquity-os-marketplace/command-start-stop#1

Comments

@gentlementlegen
Copy link
Member

gentlementlegen commented May 13, 2024

A user should be able to start or stop working on a task, by typing /start or /stop within a comment under an issue.

Stop this one will be especially useful to gracefully quit a task without losing XP. if somebody is disqualified through poor/non performance, then they will get negative XP.

See code reference

@gentlementlegen gentlementlegen mentioned this issue May 13, 2024
7 tasks
@gentlementlegen gentlementlegen changed the title command/stop this one will be especially useful to gracefully quit a task without losing XP. if somebody is disqualified through poor/non performance, then they will get negative XP. command/[start | stop] May 13, 2024
@jordan-ae
Copy link

@gentlementlegen so this start/stop should work exactly how the v1 Bot does currently?

@gentlementlegen
Copy link
Member Author

@jordan-ae Correct, the goal is to reimplement the same functionalities but in a cleaner manner within separate modules.

@Keyrxng
Copy link
Member

Keyrxng commented May 15, 2024

/start

Copy link

ubiquibot bot commented May 15, 2024

DeadlineThu, May 16, 10:25 PM UTC
Registered Wallet 0xAe5D1F192013db889b1e2115A370aB133f359765
Tips:
  • 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.

@Keyrxng
Copy link
Member

Keyrxng commented May 16, 2024

@gentlementlegen is there a structure yet for the XP?

  • If a user is automatically removed due to not meeting the deadline/inactivity: -100 XP
  • If a user is removed by a team member: -50 XP

Or should I cover commands for admins like:

  • /unassign keyrxng = no XP change
  • /unassign keyrxng -50 = -50 XP
  • /unassign keyrxng +50 = +50 XP (in case they have invested in the issue and should be rewarded, if not monetarily then with XP?

while the default for a hunter would be the same /stop

/assign|/unassign were commands in V1 but could be bundled into this module as it's the same functionality it makes sense to have it as one module I think, what are your thoughts here?

@Keyrxng
Copy link
Member

Keyrxng commented May 16, 2024

/stop

@ubiquibot ubiquibot bot unassigned Keyrxng May 16, 2024
Copy link

ubiquibot bot commented May 16, 2024

+ You have been unassigned from the task

@Keyrxng
Copy link
Member

Keyrxng commented May 16, 2024

/start

Copy link

ubiquibot bot commented May 16, 2024

DeadlineFri, May 17, 3:58 PM UTC
Registered Wallet 0xAe5D1F192013db889b1e2115A370aB133f359765
Tips:
  • 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.

@Keyrxng
Copy link
Member

Keyrxng commented May 16, 2024

Is a new repo going to be created for each plugin in the wishlist or are we to open PRs against this repo?

RFC @0x4007

@0x4007
Copy link
Member

0x4007 commented May 16, 2024

Each plugin should be hosted on their own repositories. I imagine we will have a dedicated organization to host "official" plugins.

@Keyrxng
Copy link
Member

Keyrxng commented May 16, 2024

I thought that was the plan eventually, in the meantime think you could create one for start/stop for me please mate and I'll open a draft pr with this

@0x4007
Copy link
Member

0x4007 commented May 16, 2024

I am not with my computer so @gentlementlegen maybe you can. Anyways you can work anywhere and then open a pull later when the repo is ready.

@Keyrxng
Copy link
Member

Keyrxng commented May 16, 2024

Both have been mentioned to handle XP deductions although it should only be one.


I think it makes sense for #7 to have this plugin as part of it's plugins: uses: with: config, sending a negative XP amount and "stop" once it decides to kick & penalize the hunter. By invoking this plugin, any open PR would also be closed and XP is handled by only one.

Or I can remove the notion of XP handling in this and have it be just a slash command plugin for /start and /stop not invoked by any other plugin. If #7 kicks the user and handles XP then it won't need to call into this which means a user can only use /stop while still still inside the deadline which shouldn't incur a negative XP impact anyway right?

@0x4007
Copy link
Member

0x4007 commented May 17, 2024

Only wildcard unassign should deduct XP for inactivity. If a user gives up with /stop within the allocated timeframe it's fine. No punishment.

@Keyrxng
Copy link
Member

Keyrxng commented May 17, 2024

PR ready for review once the repo is good to go.

I assume the org will just be @ubiquibot-plugins/start-stop for example? I've used that name for it temporarily

@gentlementlegen
Copy link
Member Author

Apologies this slipped my mind. start-stop seems like a poor naming, maybe more something like assignee-manager since it helps with assigning users to tasks.

@Keyrxng
Copy link
Member

Keyrxng commented May 19, 2024

Sure, maybe one of the following:

  • assignment-manager
  • bounty-assignment
  • task-guardian
  • task-entry-plugin
  • task-assignment
  • hunter-task-controller
  • task-access-plugin
  • user-bounty-controller

Whatever the repo gets called I'll change my code references to

@gentlementlegen
Copy link
Member Author

gentlementlegen commented May 20, 2024

Related repository: https://github.com/ubiquibot/command-start-stop

@0x4007
Copy link
Member

0x4007 commented Jul 2, 2024

Apologies this slipped my mind. start-stop seems like a poor naming, maybe more something like assignee-manager since it helps with assigning users to tasks.

command-start-stop is the best because it follows very clear standard syntax on how to name our plugin repositories.

  • It is intended to operate as a slash command
  • It has a start command
  • It has a stop command

You can add a description under the repository description field that explains it is used for assignee management.

@0x4007
Copy link
Member

0x4007 commented Jul 2, 2024

@gentlementlegen is there a structure yet for the XP?

  • If a user is automatically removed due to not meeting the deadline/inactivity: -100 XP
  • If a user is removed by a team member: -50 XP

Or should I cover commands for admins like:

No the admin can unassign using the GitHub UI. Please try and keep this codebase as simple as possible. I am keen on having the minimal amount of features necessary so that the codebase is easy to maintain.

I think that the rewards shouldn't be settable as you described because that is affected by factors that have little to do with the work, like if the collaborator had a good rest, or a good day, or ate a good meal just before reviews etc.

This does remind me, I think that in our "database" (JSON storage in the repository) we should include metadata on the points deductions. For example, include a GitHub issue URL and then the deduction amount. I don't think we should support additions to XP.

My vision is that XP should be derived from total dollars earned, minus deductions. The reason why this logic is sound to me is because if we are trying to build meritocracies, the amount of dollars distributed should directly correlate with the value the contributor has provided. The more value they provided to the organization means that they should have more influence over the organization. XP is intended to eventually be a major factor in governance.

@Keyrxng
Copy link
Member

Keyrxng commented Jul 3, 2024

"database" (JSON storage in the repository)

Is this a replacement KV for action-only plugins sort of thing or worker types should have the same sort of storage?

Until AA is finalized we'll be funding wallets with the faucet so unless the permit generation flow is modified to fund their address we'll need to either:

  • update the current flow to call the faucet worker before generating and cache
  • create a funding plugin to run just before the permit generation plugin and cache
  • create a "database" for /start|stop and we can balance check them when they /start, fund if needed, cache and never fund them again.

listed in order of preference


I'm a fan of this vision as I'm in good standing with this approach lmao but it is the most provable metric to go by especially if XP is always <= dollars earned.

or ate a good meal just before reviews etc.

Great advice I need to embody more myself 😂

@0x4007
Copy link
Member

0x4007 commented Jul 4, 2024

"database" (JSON storage in the repository)

Is this a replacement KV for action-only plugins sort of thing or worker types should have the same sort of storage?

My proposal ubiquity-os/plugin-template#2

Until AA is finalized we'll be funding wallets with the faucet so unless the permit generation flow is modified to fund their address we'll need to either:

How about sponsored transactions as a first starting point instead? Is this possible?

  • update the current flow to call the faucet worker before generating and cache

I do like that this approach can work on any network, not just gnosis chain. However I assume it's more work to set up.

or ate a good meal just before reviews etc.

Great advice I need to embody more myself 😂

It's a pretty common negotiation tactic to make an ask over food

@Keyrxng
Copy link
Member

Keyrxng commented Jul 4, 2024

How about sponsored transactions as a first starting point instead? Is this possible?

More info here but yes it's possible I'm sure. Right now we have a fresh EOA with funding, we could just as easily deploy a Safe right now and use that safe as the user wallet and not the EOA. Then setup the infrastructure needed for it.

However I assume it's more work to set up.

On the OpenZeppelin Defender side it's a couple click process to clone a relayer onto another chain. The faucet needs refactored to handle multiple chains and multiple relayers but it needs refactored anyway to support the first iteration of AA anyway.

Copy link

ubiquibot bot commented Jul 15, 2024

+ Evaluating results. Please wait...

Copy link

ubiquibot-dev bot commented Jul 15, 2024

[ 800 WXDAI ]

@Keyrxng
Contributions Overview
View Contribution Count Reward
Issue Task 1 800
Conversation Incentives
Comment Formatting Relevance Reward

[ 0.2275 WXDAI ]

@jordan-ae
Contributions Overview
View Contribution Count Reward
Issue Comment 1 0.2275
Conversation Incentives
Comment Formatting Relevance Reward
@gentlementlegen so this start/stop should work exactly how the …
0.325
content:
  p:
    count: 13
    score: 1
wordValue: 0.1
formattingMultiplier: 0.25
0.7 0.2275

[ 0 WXDAI ]

@gentlementlegen
Contributions Overview
View Contribution Count Reward
Conversation Incentives
Comment Formatting Relevance Reward

[ 0 WXDAI ]

@0x4007
Contributions Overview
View Contribution Count Reward
Conversation Incentives
Comment Formatting Relevance Reward

[ 7.04 WXDAI ]

@rndquu
Contributions Overview
View Contribution Count Reward
Review Comment 12 7.04
Conversation Incentives
Comment Formatting Relevance Reward
@Keyrxng Getting the following error on `yarn worker`: &…
4.2
content:
  p:
    count: 25
    score: 1
  code:
    count: 17
    score: 1
wordValue: 0.1
formattingMultiplier: 1
- -
Works fine Moved this https://github.com/ubiquibot/command-start…
1.6
content:
  p:
    count: 16
    score: 1
wordValue: 0.1
formattingMultiplier: 1
- -
@Keyrxng `UBIQUIBOT_TOKEN` is the github app token, righ…
3
content:
  p:
    count: 29
    score: 1
  code:
    count: 1
    score: 1
wordValue: 0.1
formattingMultiplier: 1
- -
@gentlementlegen Do we need to pass `CLOUDFLARE_ACCOUNT_ID&#…
1.3
content:
  p:
    count: 10
    score: 1
  code:
    count: 1
    score: 1
  a:
    count: 2
    score: 1
wordValue: 0.1
formattingMultiplier: 1
- -
@gentlementlegen The convention is to simply use the latest yarn…
1.7
content:
  p:
    count: 17
    score: 1
wordValue: 0.1
formattingMultiplier: 1
- -
@Keyrxng As far as I understand `getMultiplier()`, `…
2.2
content:
  p:
    count: 19
    score: 1
  code:
    count: 3
    score: 1
wordValue: 0.1
formattingMultiplier: 1
- -
@Keyrxng Could you update [worker-deploy.yml](https://github.com…
1.1
content:
  p:
    count: 10
    score: 1
  a:
    count: 1
    score: 1
wordValue: 0.1
formattingMultiplier: 1
- -
Works fine with yarn v4, at least in the "worker mode". As far I…
3.7
content:
  p:
    count: 35
    score: 1
  a:
    count: 1
    score: 1
  code:
    count: 1
    score: 1
wordValue: 0.1
formattingMultiplier: 1
- -
There are 3 entities here: 1. Kernel 2. Core ubiquity plugins 3.…
11.6
content:
  p:
    count: 114
    score: 1
  code:
    count: 1
    score: 1
  a:
    count: 1
    score: 1
wordValue: 0.1
formattingMultiplier: 1
- -
@Keyrxng The plugin config example provided in the README throws…
3.9
content:
  p:
    count: 31
    score: 1
  code:
    count: 7
    score: 1
  a:
    count: 1
    score: 1
wordValue: 0.1
formattingMultiplier: 1
- -
@Keyrxng Still getting the `SyntaxError: "[object Object]" i…
3.1
content:
  p:
    count: 23
    score: 1
  code:
    count: 7
    score: 1
  a:
    count: 1
    score: 1
wordValue: 0.1
formattingMultiplier: 1
- -
I'm getting this warning on `/start`: ``` #…
8.8
content:
  p:
    count: 72
    score: 1
  code:
    count: 16
    score: 1
wordValue: 0.1
formattingMultiplier: 1
0.8 7.04

Copy link

ubiquibot bot commented Jul 15, 2024

[ 51.6 WXDAI ]

@0x4007
Contributions Overview
ViewContributionCountReward
IssueComment651.6
Conversation Incentives
CommentFormattingRelevanceReward
Each plugin should be hosted on their own repositories. I imagin...
2.10.382.1
I am not with my computer so @gentlementlegen maybe you can. Any...
2.70.372.7
Only wildcard unassign should deduct XP for inactivity. If a use...
2.40.492.4
> Apologies this slipped my mind. `start-stop` seems ...
14.7
li:
  count: 3
  score: "3"
  words: 25
code:
  count: 6
  score: "6"
  words: 10
0.4114.7
> @gentlementlegen is there a structure yet for the XP? >...
22.6
li:
  count: 2
  score: "2"
  words: 26
0.4522.6
> > "database" (JSON storage in the repository) > >...
7.1
li:
  count: 1
  score: "1"
  words: 13
0.497.1

[ 27 WXDAI ]

@gentlementlegen
Contributions Overview
ViewContributionCountReward
IssueSpecification114.2
IssueComment312.8
Conversation Incentives
CommentFormattingRelevanceReward
A user should be able to start or stop working on a task, by typ...
14.2
a:
  count: 1
  score: "1"
  words: 3
code:
  count: 2
  score: "2"
  words: 2
114.2
@jordan-ae Correct, the goal is to reimplement the same function...
3.80.633.8
Apologies this slipped my mind. `start-stop` seems like ...
7.2
code:
  count: 2
  score: "2"
  words: 4
0.447.2
Related repository: https://github.com/ubiquibot/command-start-s...
1.80.431.8

[ 1.4 WXDAI ]

@jordan-ae
Contributions Overview
ViewContributionCountReward
IssueComment11.4
Conversation Incentives
CommentFormattingRelevanceReward
@gentlementlegen so this start/stop should work exactly how the ...
1.40.281.4

[ 899.7 WXDAI ]

@Keyrxng
Contributions Overview
ViewContributionCountReward
IssueTask1800
IssueComment80
IssueComment899.7
Conversation Incentives
CommentFormattingRelevanceReward
@gentlementlegen is there a structure yet for the XP?
  • If a ...
-
li:
  count: 5
  score: "0"
  words: 65
code:
  count: 5
  score: "0"
  words: 11
0.46-
- https://github.com/ubq-testing/start-stop-module/issues/4 init...
-
li:
  count: 1
  score: "0"
  words: 12
0.29-
I thought that was the plan eventually, in the meantime think yo...
-
code:
  count: 1
  score: "0"
  words: 2
0.43-
- #7 this plugin handles the detection and the follow-up of the ...
-
li:
  count: 2
  score: "0"
  words: 28
code:
  count: 4
  score: "0"
  words: 6
0.545-
PR ready for review once the repo is good to go.

I assume the...

-

code:
  count: 1
  score: "0"
  words: 4
0.515-
Sure, maybe one of the following:
  • assignment-manager
  • bou...
-
li:
  count: 8
  score: "0"
  words: 20
0.365-
> "database" (JSON storage in the repository)

Is this a re...

-

li:
  count: 3
  score: "0"
  words: 57
code:
  count: 2
  score: "0"
  words: 3
0.395-
> How about sponsored transactions as a first starting point ...
-
a:
  count: 1
  score: "0"
  words: 1
0.52-
@gentlementlegen is there a structure yet for the XP?
  • If a ...
22.2
li:
  count: 5
  score: "5"
  words: 65
code:
  count: 5
  score: "5"
  words: 11
0.4622.2
- https://github.com/ubq-testing/start-stop-module/issues/4 init...
4.7
li:
  count: 1
  score: "1"
  words: 12
0.294.7
I thought that was the plan eventually, in the meantime think yo...
4.1
code:
  count: 1
  score: "1"
  words: 2
0.434.1
- #7 this plugin handles the detection and the follow-up of the ...
22.6
li:
  count: 2
  score: "2"
  words: 28
code:
  count: 4
  score: "4"
  words: 6
0.54522.6
PR ready for review once the repo is good to go.

I assume the...

4.2

code:
  count: 1
  score: "1"
  words: 4
0.5154.2
Sure, maybe one of the following:
  • assignment-manager
  • bou...
11.8
li:
  count: 8
  score: "8"
  words: 20
0.36511.8
> "database" (JSON storage in the repository)

Is this a re...

20

li:
  count: 3
  score: "3"
  words: 57
code:
  count: 2
  score: "2"
  words: 3
0.39520
> How about sponsored transactions as a first starting point ...
10.1
a:
  count: 1
  score: "1"
  words: 1
0.5210.1

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.

4 participants