Policy

The Policy explains basic work principles of 0crat (“Zerocrat”): a project management AI bot developed and hosted by Zerocracy.

If you want to change something in the Policy or simply suggest an improvement, please submit a ticket here. If you want to discuss the Policy or your troubles with the bot, please join this Telegram chat.

Read this first: What Is Zerocracy?

Developer (DEV)

You can talk to Zerocrat in:

  • Slack: start a private conversation with @0crat
  • Telegram: start a chat with @zerocrat_bot
  • GitHub: prepend your message in any ticket with @0crat

§1 “Invite.” To start working with us you have to be invited by someone we already know whose reputation is over +1024 +256. Fill out this form and your resume will be assigned to one of our examiners, who can invite you or reject your resume with deny command. In both cases the examiner will get +32 reputation points. If examiner ignores the resume for 16 days he/she will get a penalty of -32 reputation points and resume will be expired, after that you can submit join form again. The person will be your “mentor” and will be responsible for helping you out in the system. A mentor may have up to 16 24 students. If you don’t know anyone yet or seek help in our Telegram group. Once you are invited, your name and your performance metrics will be visible in the Team page. Any user can be invited by special people (who has QA role in Zerocracy C3NDPUA8L project or has any role in PMO project) even if they are not assigned as examiners or resume was assigned to another examiner.

§2 “Apply.” To join a project you have to find it on the Board and send apply request to Zerocrat. The architect of the project will either invite you or ignore your request. You can apply multiple times, even to the project you already are a member of, for example, to request a raise of your project rate.

§33 “Sandbox.” You can apply to a project only if your reputation is over +256 +128. If it is lower, you can only apply to sandbox projects and your highest allowed rate is $16. You can’t apply to a sandbox project if your reputation is over +1024. You will be automatically removed from a sandbox project once your reputation is over +1024. You will automatically get REV role in a sandbox project when your reputation is over +256 and you will lose it if the reputation drops below +128.

§3 “Election.” Zerocrat may assign a job to you according to its own election rules, if you have DEV role and are not on vacation. You will be notified in job’s ticket. The rules include, in order of importance:

  • The highest reputation wins;
  • No jobs will be assigned if reputation is below -128;
  • Lowest project rate wins;
  • Shortest average job completion time wins;
  • The emptiest agenda wins;
  • The maximum allowed size of agenda depends on your reputation:
    • 3 jobs if less than +512 points,
    • 8 if less than +2048,
    • 16 if less than +4096,
    • 24 otherwise;
  • The size of agenda doesn’t matter if the job is a code review;
  • The absolute maximum of jobs you may have in your agenda is 32;
  • If your debt is over $128 you won’t get any new jobs.

§4 “Fixed Budget.” Each job has a fixed budget in minutes, which will be multiplied by your hourly rate and paid to you when the job is completed. The actual amount of time you spend on the job doesn’t affect the amount of money you receive. You will also get as many positive points as many minutes you are paid for.

§18 “Points of Reputation.” You may earn positive and negative points for doing good and bad things in the projects. They do not affect your cash income, but do affect the impression Zerocrat has about you—the more points you have the more disciplined developer you are. Zerocrat takes into account only the points you earned over the last 90 days.

§5 “Boost Factor.” A job may receive a boost factor, which will increase or decrease its budget. Default boost factor is 2x, which means 30 minutes. Default boost factor for a code review is 1x. In exceptional situations, you should ask project architect to boost your job.

§6 “Refusal.” Performer may refuse to complete any job by saying refuse or resign. Depends on when the job was refused, performer may get the penalty:

  • refused within 24 hours: zero (no penalty)
  • refused within 3 days: 10 points penalty
  • refused within 6 days: 20 points penalty
  • refused after 6 days: 50 points penalty

§7 “Definition of Done.” A job is completed when its ticket is closed. Until then only one person is responsible for it: the performer. It doesn’t matter why the job is not finished, who its success depends on, where is the problem. The 0/100 rule is simple: it’s either done or not.

§8 “Ten Days.” If you don’t complete a job in 10 days Zerocrat may take it away from you. You will get no money and a penalty as big as the budget of the job, if this happens. This variable can be configured for project using project’s Slack channel, to change it use: @0crat option daysToCloseTask X, when X is amount of days instead of 10 (default), this number should be greater than 5.

§29 “Pay per Bug.” Each time you report a new bug that becomes a job, you earn +15 minutes. The ARC makes a subjective non-disputable decision whether a reported bug deserves to be a job or not.

§9 “Impediments.” You may declare impediments for a job by saying wait to Zerocrat. While the job has impediments, the Ten Days rule is not applicable to it. Note, however, that the ARC may bring the job out of “waiting” status at any time (see §57).

§36 “Speed Bonus.” Zerocracy measures the time interval between the moment a job is assigned to you and the moment it goes out of scope. If this interval is shorter than 48 hours, you get extra +5 minutes.

§16 “Rate.” To make money in any project you must define your hourly rate. To do that just say rate to Zerocrat. This rate is for marketing purpose only, since each project will set their own rates for you. Your rate can only be between $16 and $256. You can use USD, EUR, GBP, or JPY (format like 17EUR or 25.50GBP), but all payments will be made in USD (converted by apilayer).

§20 “Payouts.” We send all payouts in Zold, you can find them in WTS if you login there with your GitHub ID.

§46 “Debt.” When Zerocrat fails to pay, for any reason, the payment amount will be added to our “debt” to you. We attempt to pay the debt once a day, if it’s larger than $64 or older than 32 days. Possible reasons of not paying immediately include, but not limited to:

  • Network connection with the payment gateway is broken;
  • Temporary issues with our payment accounts;
  • The amount is smaller than $24 (to avoid big commissions);
  • We are broke (just kidding).

§32 “Job Status.” You can always check the status of any job, just say status to Zerocrat in the job ticket.

§48 “Only points.” If you are not a member of a project, you can only earn points there, not cash.

§43 “Graduation.” When your reputation reaches +1024, Zerocrat will automatically set himself as your mentor. Your mentor will receive a one-time bonus of $32 when this happens.

§44 “Expel.” When your reputation drops lower than -256, Zerocrat will automatically disconnect you from your mentor, clean out your reputation and you will have to start over.

§45 “Tuition fee.” While you have a mentor (and it’s not Zerocrat), he/she gets 8 cents of every dollar you make.

§47 “Breakup.” You can always terminate your relationship with a student, just say breakup to Zerocrat. You will get a penalty of 256 for this.

§40 “Reply to RFP.” If your reputation is over +512 +128, you will see new requests for proposal. You can “pay” 256 64 points for an email address of any RFP, contact them directly, and bring them to Zerocrat; to do that just say rfp to Zerocrat. Remember, you are not allowed to work with them without Zerocrat.

§38 “Vacation.” You can always “go on vacation” if you want Zerocrat to temporarily stop assigning you new jobs; just say vacation.

§52 “Auto-Vacation.” If you receive 8 or more negative awards in the past 16 days and no positive ones, your vacation status will automatically be set to on, which means you will not receive new tasks. You have to manually turn off vacation status to receive new tasks. Note that you can turn vacation off any time, but the auto-vacation mechanism will be re-evaluated if you receive another negative award.

§35 “Quit.” You can always quit a project, just say quit to Zerocrat. When you quit the project all jobs will be cancelled.

§39 “GitHub name change.” If you change your GitHub name, your Zerocrat account will be lost. You will have to create a new one from scratch. Why?

Code Reviewer (REV)

§27 “Code Reviews.” You will be asked to review pull requests if you have REV role assigned. Be as critical as you can, as this article explains. Either you accept or reject the changes, inform the architect, right in the ticket—the architect will either merge the pull request or close it. In either case, you will be paid +15 minutes.

§55 “Long reviews.” Long code-review tasks causes penalty for ARC:

  • If it was longer than 8 days, then ARC gets -15 minutes.
  • If it was longer than 16 days, then ARC gets -60 minutes.

Product Owner (PO)

§41 “Submit RFP.” The best way to recruit Zerocrat and develop your project with us is to find and hire an architect—one of our best developers. You have to fill out the form, pay non-refundable $64 $16, and wait until one of them replies. The RFP will expire and automatically disappear in 32 days. You can submit a new RFP only when the first one expires or is purchased.

§11 “Add to Slack.” To start working with us, you have to invite Zerocrat to your Slack.

§17 “Connect GitHub.” To connect your GitHub repository to the project you should 1) add a new Webhook: http://www.rehttp.net/p/https://www.0crat.com/ghook (with “send me everything” option and application/x-www-form-urlencoded webhook type), and 2) link the project in Slack: links add github yegor256/cactoos, where instead of yegor256/cactoos you should put the coordinates of your GitHub repository.

§21 “Project funds.” You can add funds to the project by VISA or MasterCard via Stripe at the project web page. Fund will be used to pay programmers for job completion and to pay Zerocracy management fee. We will automatically recharge your card when the project runs out of funds. To disable recharging use pause/activate option. This feature is not available now.

§22 “Refunds.” All unused funds will be returned to you immediately per your request by email. Refunds will be mailed back to you as a cheque of a US bank.

§23 “Management fee.” Zerocracy charges a fixed management fee of $4 $0 per each successfully completed job. If your project is not linked to any private GitHub repositories and all repos are licensed with any open source license this fee is waived. If the fee is waived the ledger of the project will be publicly visible online.

§24 “Pause/Activate.” To put Zerocrat on hold and make a project completely inactive, say pause. This doesn’t affect current jobs, but 0crat will not assign any new task automatically. ARC or PO will be able to assign jobs manually. To return the project back to life say pause off. This will disable recharging.

§25 “Destroy.” To completely delete all project files from our servers and terminate the project say destroy and then kick off @0crat from Slack channel. There is no way back. We highly recommend to use pause/activate option.

§26 “Publish.” To attract programmers to your project, you can publish it on the Board; just say publish on to Zerocrat in order to do it. Your reputation has to be over +1024 and you will be charged 32 points for this. When your project is published, its statistical information will be visible on the Web. You can unpublish it anytime, just say publish off.

§37 “Micro-Vesting.” On top of cash you can give equity to project contributors. Just add the vesting rate to the assign command, for example: assign DEV yegor256 $16 $40, where $16 is the rate paid in cash and $24 to be paid in equity after each job completion.

§50 “Contribution.” Anyone can make a non-refundable one-time contribution to your project, if you give them the URL https://www.0crat.com/contrib/PID where PID is your project ID. Your project has to be published and fee-free.

Architect (ARC)

§12 “Bootstrap.” To let Zerocrat manage your project you have to create a new Slack channel and add @0crat to it. Then, you should say bootstrap to Zerocrat. You need to have at least +1024 reputation points to be able to do that. You will be charged 256 points for each project you bootstrap.

§13 “Assign/Resign Role.” Everybody who will be managed by Zerocrat must have roles in the project. To assign a role you say assign. To remove a role you say resign. By default, all new people you assign are supposed to work for free. If you want to pay them for the jobs they complete, add hourly rate to the assign command, for example: assign DEV yegor256 $50. To change the hourly rate of a person just assign the same role with a different rate, or 0 in order to make them work for free; this will not affect the budgets of already assigned tasks.

§34 “Mandatory Roles.” A project must always have one PO and one ARC. A project may not have more than two ARCs or more than two POs. ARC and REV roles can’t be assigned to the same person. QA role can’t overlap with REV, DEV or ARC.

§14 “Scope In/Out.” You should add jobs to the scope, by saying in to Zerocrat (or assigning the ticket to him). You can remove a job from the scope by saying out.

§57 “Continue.” You can “wake” jobs out of waiting status (see §9) by saying continue to Zerocrat.

§53 “Auto-In.” Zerocrat automatically adds pull requests to scope, unless they are too small and don’t deserve it. The decision is made by Zerocrat automatically.

§15 “Boosting.” You can increase a budget of the job by setting its boost factor. Just say boost 2x (or 3x, 5x, etc.) to Zerocrat. This operation is against our principles of micro-budgeting, that’s why you get a penalty of 10 points every time you do this.

§19 “Assign Job.” You can manually assign any job to a user, just say assign @yegor256 (where instead of @yegor256 you put the GitHub login of the user) or assign the ticket to that user in your ticket tracking system. This operation is against our principles of automated task management, that’s why you will get 5 points penalty every time you do this. If you assign a job to its reporter/creator, you will get an additional penalty of 15 points.

§28 “Architect Review Bonus.” You will earn +10 minutes for each pull request successfully merged. Only in-scope pull requests will be paid. It is recommended to use Rultor or a similar solution, which will allow only the architect to merge.

§49 “Extra.” You can pay extra cash to any user by saying pay to Zerocrat. You will get a penalty of 60 20 points for this. The maximum you can pay in one go is 120 minutes.

§51 “Hiring.” If your reputation is over +1024 you can invite programmers to your project by announcing a job (you can find a link at your project dashboard). Each announcement will cost you 128 reputation points. It will be available on vacancies page for 32 days.

§54 “Release Bonus.” Every time a new release comes out, you get a bonus equal to the amount of “footprint items” since the last release multiplied by 2 minutes (routine items like Ping will be excluded). The bonus can’t be bigger than 4 hours.

Quality Assurance (QA)

§30 “Quality Review.” If you have QA role in the project, you will be asked to review jobs after their completion. You have to review the job for its quality and report to Zerocrat: quality good (or bad, or acceptable). You will be paid +4 minutes for the review, no matter what is your verdict. QA verdict can be reported by ARC in some cases (e.g. if QA is not responding for a long time).

§42 “QA Rules.” The quality of a job is “good” if all of the following requirements are met:

  • The formatting of a job description, as well as all messages inside it, follows GitHub Markdown style;
  • Messages in a job always start with a name of a user they are addressed to;
  • The job is closed only when the reported problem is solved, see;
  • Ticket must have references to all pull requests where the problem was actually fixed;
  • Problem reporter and problem solver are two different persons; see;
  • Ticket title and description clearly state what is broken and what kind of fix is expected, see;
  • The ticket describes one specific problem and provides a single solution;
  • Pull request title explains the problem it is fixing;
  • Pull request description explains the solution proposed and contains a link to the original ticket it is related to (discuss);
  • The code reviewer found at least three problems in the code (discuss);
  • Comments were mostly about design problems, not cosmetic issues;
  • All problems found by the code reviewer were addressed by the pull request author, which means that they were either fixed as the reviewer wanted or the reviewer was convinced that they should not be fixed;
  • All impediments registered in the ticket have explanations of the reasons and links to related tickets, if necessary (discuss);
  • All commit messages have links to issues (discuss).

When you find any rules violation, ask job performer to confirm that your complaints are understood, and he/she will try to avoid those mistakes in the future. Until you get a confirmation, don’t give any quality mark; don’t wait for more than five days though.

The quality of a job is “bad” if any of the following happens (these violations we can’t forgive):

  • The code reviewer didn’t find any issues in the source code changes of a pull request and just accepted it.
  • The performer didn’t provide any solution to close the job.

§31 “QA Bonus.” Job performer will get an extra cash: 16% for DEV job and 33% for REV, also you will get 5 reputation points for each job if QA reports good quality. If the quality is bad, there will be no payment to the job performer at all.

Tester (TST)

§56 “Testing.” Tester can submit bugs and get payment and reputation for bug reporting.