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.

We recommend you to read these articles first; they explain our management philosophy (based on XDSD) and its basic principles:

Mistakes. Since Zerocrat is in beta-testing mode (planning to end on April 2, 2018), it may sometimes make mistakes, which may lead to missed payments, incorrect calculations of your reputation, broken communications, corrupted data and so on. We may not guarantee its stability during the beta-testing period. We may NOT be able to cover the losses that may occur because of Zerocrat’s mistakes.

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. Ask that person to say invite with your GitHub login to Zerocrat. The person will be your “mentor” and will be responsible for helping you out in the system. A mentor may have up to 16 students. Fill out this form if you don’t know anyone yet. Once you are invited, your name and your performance metrics will be visible in the Gang page.

§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. 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.

§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.

§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.” You may refuse to complete any job by saying refuse. You will get -15 points for that.

§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 the budget of the job, if this happens.

§29 “Pay per Bug.” Each time you report a new bug that becomes a job, you earn +15 minutes.

§9 “Impediments.” You may declare impediments for a job by saying wait to Zerocrat. Until the job has impediments Ten Days rule is not applicable to it.

§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, but all payments will be made in USD (converted by apilayer).

§20 “Wallet.” We can send you money either via PayPal, Bitcoin, Bitcoin Cash, Etherium, or Litecoin. To tell us how exactly you want to receive them just say wallet to Zerocrat.

§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 $20 or older than 20 days. Possible reasons of not paying immedidately include, but not limited to:

  • Network connection with the payment gateway is broken;
  • Temprorary issues with our accounts in PayPal, Coinbase, etc.;
  • The amount is smaller than $10 (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 +2048, Zerocrat will automaticatly set himself as your mentor.

§44 “Expel.” When your reputation drops lower than -256, Zerocrat will automaticatly 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, you will see new requests for proposal. You can “pay” 256 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.

§35 “Quit.” You can always quit a project, just say quit to Zerocrat. You will still have to finish the jobs assigned to you in the project.

§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.

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.

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 $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.

§13 “Assign/Resign.” 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.

§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.

§17 “Connect GitHub.” To connect your GitHub repository to the project you should 1) add a new Webhook: http://p.rehttp.net/https://www.0crat.com/ghook (with “send me everything” option), 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 recharing use pause/activate option.

§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 per each successfully completed job. If your project is not linked to any private GitHub repositories this fee is waived.

§24 “Pause/Activate.” To put Zerocrat on hold and make a project completely inactive, say pause. 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. When your project is published, its statistical information will be visible in the Web. You can unpublish it anytime, just say publish off.

§37 “Vesting.” On top of cash you can give equity to project contributors. Just modify the rates in vesting.xml (in Files tab of the project dashboard) and they will automatically start earning project equity after each job completion.

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.

§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.

§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 -10 points every time you do this.

§19 “Assign.” 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 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. 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 points for this. The maximum you can pay in one go is 120 minutes.

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 +8 minutes for the review, no matter what is your verdict.

§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;
  • Some of ticket messages must mention 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;
  • 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 complains 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 pull request and just accepted it;
  • The job is closed without a solution provided.

§31 “QA Bonus.” Job performer will get an extra +5 minutes if QA reports good quality. If the quality is bad, there will be no payment to the job performer at all.