Comments (13)
I'd like to work on this!
[First edit was an exploration into a yaml formatted compensation request. Unfortunately yaml is extremely sensitive to whitespace indenting and therefore considered troublesome for use in user-generated compensation requests.]
After discussing with @m52go here is a second attempt at understanding how a parsable compensation request might look, using markdown tables. Additional context could be included in the compensation report for human consumption, outside of the table. The bot would sum up the amounts by team, convert to BSQ at the cycle's rate and report issuance by team as well as a total issuance (the user would claim the total in the Bisq DAO).
[NB. normally the links would go to specific issues or PRs, but in order to avoid polluting bisq github I removed issue numbers for this example]
Team | Contribution Link | Amount |
---|---|---|
Dev | reviewed: Add signed witness filter | 308 USD |
Dev | reviewed: Tor 0.4.2.6 | 210 USD |
Dev | reviewed: Added graceful shutdown hook | 148 USD |
Dev | many small reviews | 150 USD |
Dev | testing v1.3.0, v1.3.1, Tor v2/v3 upgrade, and v1.3.2 | 540 USD |
Dev | release v1.2.9, v1.3.0, v1.3.1 | 2700 USD |
Dev | developed PR: Improve handling of filtered offers and unsupported payment methods | 150 USD |
Dev | developed PR: Make prompt text readable in dark mode | 0 USD |
Dev | developed PR: Only use InputValidation when formatting voting stake | 0 USD |
Ops | Created Tor V3 seednode and testing Tor V3 | 200 USD |
Ops | 2x Bisq Seednode Operator | 200 USD |
Ops | 3x Bitcoin Node Operator | 150 USD |
Support | Mediator | 1000 USD |
Support | Monitoring the support channel duing my L2 times | 480 USD |
Support | burning man March 15th 2020 | 150 USD |
from projects.
Glad to hear your're interested @jmacxx. What you've posted above is similar to what I had in mind. A couple notes:
-
I think it's important we have a 'front matter' section before the table where the contributor can self-report the total USD expected. The parser will validate that the totals actually add up to that, and will act as a check on both the contributor and the parser adding things up correctly.
-
No need to have 'USD' in every row. Just title the column 'USD Amount' and leave the row values as plain integers.
-
I just want to make sure that the requirement about the bot posting comments back to the issue is clear. It's quite important that we do this for transparency and fulfilling the actual budget tracking requirement that's driving this project. I ask because I think this bit below is kind of easy to miss in the project description above.
The linter must alert compensation request makers of mistakes. The parser must make comments on approved compensation request issue with issuence numbers broken down by team.
from projects.
Regarding the bot commenting on CRs with issuance numbers broken down by team, I did experiment with that in https://github.com/jmacxx/compensation-bot/issues/2 where you can see the bot making issuance comments. @m52go reminded me that such issuance comments are only to be made after the cycle is complete.
Alerting users of mistakes -> am I correct in understanding the only way to do this is to have the bot comment on the CR whenever it is updated? (if mistakes are detected).
I have put some work into the linter/parser and come up with an HTML/JavaScript test tool that enables compensation requests to be checked. It comes with 4 sample CRs and an edit box where you can try it out with your own CR text.
from projects.
Updated the linting tool to the latest 5 column format received from @cbeams & @m52go.
See example @ https://github.com/jmacxx/compensation-bot/issues/5
from projects.
@cbeams we might have something worth testing. @jmacxx has created bots that evaluate compensation requests that follow this template.
Please check to see if it looks acceptable to you.
It should largely conform to the ideas you and I discussed earlier, with one small difference:
- the "roles performed" section is removed, as discussed, and role items are included in the main contributions table, but line-items for roles include an asterisk in the team name column to designate them as role items (idea being it might be helpful in the future to separate contributions from "overhead"...see template linked above for an example)
For what it's worth, I also drafted bullet points for documentation that would need to be added according to the proposed template and bots:
- compensation requests are parsed programmatically for budgeting, so please make sure your compensation request adheres to the template as closely as possible. there are comments in the template for guidance, and you can always check past requests for reference.
- a linter will check your request once you've removed
[WIP]
from your issue title and will notify you of any errors. - all contributions should specify values in usd. only the top-line number in the summary section should be denominated in bsq.
- role reports and related compensation should both be included in the "contributions delivered" table. role items should include an asterisk in the team column (so a regular growth contribution would specify the team as "growth", and a growth team role would specify the team as "growth*").
- multiple smaller contributions can be added into the "contributions delivered" column with just the link field filled in and a total specified below (see example in compensation request template).
- the "contributions in progress" section is ignored by the parser.
If this format is ok, I think it would make sense to proceed with testing...perhaps provision an API key to let @jmacxx test the bots with real requests. Maybe team leads could make their requests using the new format in this cycle.
from projects.
I've only just taken a brief look at the template. Looks pretty good; I'm afraid it might end up being confusing for folks, but having real world examples out there should go a long way to making it clear.
I just submitted my compensation request, and unfortunately didn't get it together in this format. While I'm away for the next couple weeks, I'd say just keep going. Sorry I didn't have more time to check this out in depth!
from projects.
With the new compensation request issue template now merged, all contributors should now use the new format that came about as a result of this project.
Here I'll run through each of the objectives that has been completed so far.
Finalize compensation request format (Markdown table, YAML, etc)
The new format, in a nutshell, simplifies all line-items for contributions and roles into a single table.
- There is no longer a separate section for roles performed.
- Each contribution should specify the team it belongs to.
- As soon as
[WIP]
is removed from the issue title, the issue will be linted by a bot to make sure it can be evaluated later for budgeting purposes.- If a request is valid, it's labeled as
parsed:valid
and no further action is necessary from the contributor. - If it's invalid, it's labeled as
parsed:invalid
, and the bot will make a comment indicating the error. Then the contributor should correct the request until it's marked asparsed:valid
.
- If a request is valid, it's labeled as
The updated issue template should include all details a contributor would need to compose a valid compensation request.
Clarify planned results
Currently the bot will post an issuance breakdown by team after DAO voting when the request is marked as accepted or rejected by the compensation maintainer. This will help achieve the near-term goal of determining total issuance by team. For now, results will be posted in a spreadsheet that will be made public.
The next step is to add context to the raw totals by aggregating line-item titles to give more context to team issuance numbers.
Create and test linting bot
Create and test parsing bot
@jmacxx took care of all of this. Thank you! It's been a pleasure working with you.
Edit wiki documentation and compensation request template to reflect changes
See tentative documentation in the wiki. That article will be reworked so that "Making a compensation request" is a standalone article, but the linked section covers the basics. Aside from the new format (detailed in the issue template) and the linting (errors are posted in the issue), there isn't anything additional users need to know or do.
I'll make announcements on Keybase and in https://github.com/orgs/bisq-network/teams/dao to draw attention to this new format and encourage contributors to test it in this cycle.
from projects.
Next step is to follow usage and performance for the remainder of this cycle (Cycle 14) to ensure the bot performs as expected.
Once it goes well, it probably makes sense to discuss devops / ownership of the bot.
Then we'll require the new format in Cycle 15 so that all requests can be parsed, so that results are actually useful (only a portion of Cycle 14 requests will be in the new format, so the results won't be useful).
Those numbers will go in a public spreadsheet to help team leads with budgeting and reporting.
At that point, this project will be completed as currently defined, and further efforts (to add context to numbers, etc) can either be added to this project or to a new project.
from projects.
It's becoming clear that reporting will be more of a project of its own, so I will make a new issue detailing reporting goals after discussing specifics with jmacxx and wiz.
For this particular project, the new compensation request format, linting, and parsing implemented by @jmacxx seems to work well! Reporting issuance as GitHub comments didn't work as well as initially expected, so we need to determine a better way to get those numbers to the budgeting spreadsheet. Also needed: uploading bot code to GitHub (somewhere) and figuring out hosting, ownership, etc.
I'll leave this issue open until we figure out those loose ends, but this project's successor will be a new soon-to-be-created project focused on reporting.
from projects.
This project is complete with the delivery of the compensation and reporting bots:
https://github.com/bisq-network/growth/tree/master/reporting/compensation-bot
The rest of the reporting initiative will be carried on here:
#41
from projects.
I'd also work on this. I'm thinking instead of making a linter we can make a form. I'm not that familiar with bisq internals to know if linter is rally needed here. And form is easier to make and process on back-end.
Anyhow, I'll be taking a look in this issue these days and report back with results.
from projects.
Join matrix to coordinate efforts, the compensation bot stopped but there is a contributor who said he wold be working on that.
from projects.
Join matrix to coordinate efforts, the compensation bot stopped but there is a contributor who said he wold be working on that.
See https://matrix.to/#/!TwAZqiZiZbDvHoaPco:matrix.org/$3hVhylNeO_0HL4OWS4vMwGyKsocCp-zGmykWNTKfQ54
from projects.
Related Issues (20)
- Improve support and mediation HOT 6
- Implement new-user-onboarding and new user interface design HOT 3
- Add Monero to fiat trading pairs using BTC as the security deposit (multi-sig) HOT 9
- Message board for multi-protocol project (working title Misq) HOT 53
- Specify interface and architecture for wallet and blockchain data modules HOT 9
- Research a solution for dynamically loading remote modules HOT 2
- Define architecture and interfaces for the protocol layer HOT 2
- Research on solutions for DIDs (decentralized IDs) in Bisq HOT 2
- Add Buy-Monero Keybase channel on Bisq for fiat trading pairs using BSQ bonds as the security deposit HOT 4
- Prototype for offer book and create offer UX for Bisq 2.0 (Misq) HOT 23
- Integrate wallet and blockchain data modules in Misq HOT 1
- bgmi bejjsjsj HOT 1
- Dev Call - Priorities HOT 20
- Investigate XMR-BTC atomic cross chain swap protocol options
- Integrate Bitcoind as a wallet backend into Misq
- Bisq2: Create Wallet Prototype UI To Test Wallet Functionalities HOT 5
- Bisq2: Liquid Wallet Integration (Elements) HOT 1
- Payment Methods - Plans for 2022
- Lightning node implementation for LN trades HOT 2
- Improve dispute resolution HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from projects.