From 5dbab9a34883e44ae42beae27965cded85872b7d Mon Sep 17 00:00:00 2001 From: "0xj4an (Work Account)" <111611644+work-0xj4an@users.noreply.github.com> Date: Mon, 12 Aug 2024 14:03:13 -0500 Subject: [PATCH] Update Governance Process.md (#466) * Update Governance Process.md * Update Technical Guide - Nuts & Bolts of the CGP Process.md * Update Technical Guide - Nuts & Bolts of the CGP Process.md * Update Technical Guide - Nuts & Bolts of the CGP Process.md * Update Technical Guide - Nuts & Bolts of the CGP Process.md * Update README.md * Update README.md * Update README.md --------- Co-authored-by: Eric Nakagawa Co-authored-by: zoz <97761083+0xzoz@users.noreply.github.com> --- Governance Process.md | 6 +-- README.md | 43 ++++++++++--------- ...Guide - Nuts & Bolts of the CGP Process.md | 26 +++++------ 3 files changed, 39 insertions(+), 36 deletions(-) diff --git a/Governance Process.md b/Governance Process.md index 6117eda4..7306f6ab 100644 --- a/Governance Process.md +++ b/Governance Process.md @@ -5,11 +5,11 @@ ### Submission -Any Celo account can submit a proposal to the [Governance smart contract](https://docs.celo.org/cli/governance#celocli-governancebuild-proposal) to change features on Celo. Using Celo CLI, an account must send a transaction that includes the following: title, link to the proposal description in GitHub, and a deposit of 100 CELO. Once the proposal is issued on-chain, the proposals enter a queue. Each day, the top 3 proposals in the queue move on to the Approval phase. If there are fewer than three proposals in the queue, all of them may move onto the approval phase. +Any Celo account can submit a proposal to the [Governance smart contract](https://docs.celo.org/cli/governance#celocli-governancebuild-proposal) to change features on Celo. Using Celo CLI, an account must send a transaction that includes the following: title, link to the proposal description in GitHub, the json file attached to the proposal *(If needed)* and a deposit of 10,000 CELO. Once the proposal is issued on-chain, the proposals enter a queue. Each day, the top 3 proposals in the queue move on to the Approval phase. If there are fewer than three proposals in the queue, all of them may move onto the approval phase. ### Approval -If the proposal moves onto this stage, the original proposer can withdraw the 100 CELO deposit. In this phase, 3 of 9 multi-signature addresses held by individuals selected from the Celo Foundation must approve the proposal within one day. If the Approvers do not approve the proposal within one day, the proposal expires. +If the proposal moves onto this stage, the original proposer can withdraw the 10,000 CELO deposit. In this phase, 3 of 9 multi-signature addresses held by individuals selected from the Celo Foundation must approve the proposal within one day. If the Approvers do not approve the proposal within one day, the proposal expires. ### Referendum @@ -25,4 +25,4 @@ The proposal must pass a minimum threshold for participation and agreement: ### Execution -If the proposal passes the Referendum stage, it moves to the Execution phase. Any Celo account can [issue a special transaction](https://docs.celo.org/cli/governance#celocli-governanceexecute) that upgrades the protocol code, but the proposal creator is typically responsible for executing the proposal. If no Celo account sends the execution transaction within three days after it passes, the proposal will be automatically rejected. +If the proposal passes the Referendum stage, it moves to the Execution phase. Any Celo account can [issue a special transaction](https://docs.celo.org/cli/governance#celocli-governanceexecute) that upgrades the protocol code *(executes the json file submitted in previous steps)*, but the proposal creator is typically responsible for executing the proposal. If no Celo account sends the execution transaction within three days after it passes, the proposal will be automatically rejected. diff --git a/README.md b/README.md index f8a4e923..8e79fe07 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ This is the Celo Governance repository used for coordination by the community me The Celo Guardians *(Previously named CGP Editors)* are: * Eric Nakagawa (@ericnakagawa) -* Juan Giraldo (@juanjgiraldoc) -* Wade Abel (@0xzoz) -* Lorenzo Goldoni (@0xGoldo) +* 0xj4an (@0xj4an-wprk) +* Zoz (@0xzoz) +* 0xgoldo (@0xGoldo) Emeritus CGP Editors are: * Ronan McGovern (@Pinotio) @@ -20,7 +20,8 @@ We regularly hold governance calls to discuss proposals. See below for a summary | № | Date | Agenda | Notes | Recording | |:---:|:---------------:|:------:|:-----:|:---------:| -| 50 | Aug 1, 2024 | [Agenda](https://github.com/celo-org/governance/issues/457) | [TBU]() | [TBU]() | +| 51 | Aug 15, 2024 | [Agenda](https://github.com/celo-org/governance/issues/461) | [TBU]() | [TBU]() | +| 50 | Aug 1, 2024 | [Agenda](https://github.com/celo-org/governance/issues/457) | [Notes](https://docs.google.com/document/d/1XXeOTnk-q0LTMUOI_EYnDqLjiOxf9DO8RU7crICMvGw) | [Video](https://drive.google.com/file/d/1Ny3FNQaOusTd1wmjX3-V8cZsiztyE6bH) | | 49 | Jul 18, 2024 | [Agenda](https://github.com/celo-org/governance/issues/455) | [Notes](https://docs.google.com/document/d/1M160EsHhPMNG2XSY-66AZsag3qBlT-dTSchH73eY33s) | [Video](https://drive.google.com/file/d/1fstTldC8xGanauyLUkgqf37T_fGqUfyX) | | 48 | Jun 27, 2024 | [Agenda](https://github.com/celo-org/governance/issues/446) | [Notes](https://docs.google.com/document/d/1z_xOyi9uPaMw0Fb1RbAlBZoi0FhfnTEn5mdNDin6FsM) | N/A | | 47 | May 30, 2024 | [Agenda](https://github.com/celo-org/governance/issues/429) | [Notes](https://docs.google.com/document/d/1E66-3_J1FHS-x0jHUoawpD8jG_HxJCO_pMke769JyZA/edit#heading=h.mt2q1kc8ut3n) | [Video P1](https://drive.google.com/file/d/17RvtGxEJluHzwk7a9aJT5HwCvg9MVhai) & [Video P2](https://drive.google.com/file/d/1u_b1kkXpyFwypDmQBC69tJQ8JvrKwUNl) | @@ -73,7 +74,9 @@ We regularly hold governance calls to discuss proposals. See below for a summary # Governance Overview -Governance is, at its core, all about how a group of people working together makes decisions. Celo has an on-chain governance mechanism for working as a community to make decisions. This documentation is designed for proposal creators and people interested in creating proposals, and it aims to give them the base of knowledge necessary for creating and championing a proposal. This article summarizes the most important details proposal creators should be aware of, and the following links provide additional details: +Governance is, at its core, all about how a group of people working together makes decisions. Celo has an on-chain governance mechanism for working as a community to make decisions. + +This documentation is designed for proposal creators and people interested in creating proposals, and it aims to give them the base of knowledge necessary for creating and championing a proposal. This article summarizes the most important details proposal creators should be aware of, and the following links provide additional details: * [Governance Process](https://github.com/celo-org/governance/blob/main/Governance%20Process.md) * [Types of Celo Governance Proposals](https://github.com/celo-org/governance/blob/main/Types%20of%20Celo%20Governance%20Proposals.md) * [Technical Guide - Nuts & Bolts of CGP Process](https://github.com/celo-org/governance/blob/main/Technical%20Guide%20-%20Nuts%20%26%20Bolts%20of%20the%20CGP%20Process.md) @@ -84,7 +87,7 @@ The following points summarize the key context for Celo governance: What is Celo Governance?   -Celo Governance is the structure and process that allows stakeholders to make changes to the Celo protocol. +Celo Governance is the structure and process that allows stakeholders to make changes to the Celo protocol or request fund from the [Celo Community Fund](https://www.celocommunityfund.xyz/).
@@ -98,14 +101,14 @@ Governance allows anyone to shape the direction of the Celo community. This is v Who is involved in governance?   -Key stakeholders in Celo’s governance process include: Proposal Creator, Editor, Approvers, Voters and Validators. See the Governance Process Roles section of this article below. +Key stakeholders in Celo’s governance process include: Proposal Creator, Celo Governance Guardians *(formerly known as 'CGP Editors')*, Approvers, Voters and Validators. See the Governance Process Roles section of this article below.
When and where do votes happen?   -Discussions about changes to the protocol happen on forum.celo.org and are announced in the Celo Discord [#celo-governance channel](https://discord.gg/celo). Token holders can vote on on-chain proposals at celo.stake.id. +Discussions about changes to the protocol happen on forum.celo.org and are announced in the Celo Discord [#📢︱governance-announc channel](https://discord.gg/celo). Token holders can vote on on-chain proposals at [Celo Mondo](https://mondo.celo.org/).
@@ -126,23 +129,23 @@ These are the minimum steps needed to move a proposal through the governance pro 1. Create Proposal 1. Create a JSON file that would execute the changes you’re proposing if passed. -1. Create a Celo Governance Proposal (CGP) with a description of the changes and submit to GitHub. -1. After submitting to GitHub, CGP Editors will review the clarity and feasibility of the CGP and may reach out with feedback. +1. Create a Celo Governance Proposal *(CGP)* with a description of the changes and submit to GitHub. +1. After submitting to GitHub, Celo Governance Guardians *(formerly known as 'CGP Editors')* will review the clarity and feasibility of the CGP and may reach out with feedback.
2. Submission -1. Submit your proposal using the Celo Command Line Interface (Celo CLI). This includes a 10,000 CELO deposit. +1. Submit your proposal using the Celo Command Line Interface *(Celo CLI)*. This includes a 10,000 CELO deposit. 1. Locked CELO holders vote on proposals in this phase each day, and the top 3 proposals each day move on to the Approval phase. -1. If your proposal is not in the top 3 on any day for 28 days, it expires and your deposit is burned. In practice, the volume of proposals is low enough that proposals generally clear this phase (i.e. not dozens of proposals per month). +1. If your proposal is not in the top 3 on any day for 28 days, it expires and your deposit is burned. In practice, the volume of proposals is low enough that proposals generally clear this phase *(i.e. not dozens of proposals per month)*.
3. Approval 1. Withdraw your deposit using Celo CLI. -1. To move on from this phase, the proposal needs to be approved by the Approvers (a 3 of 9 multi-signature address held by individuals selected by the Celo Foundation). +1. To move on from this phase, the proposal needs to be approved by the Approvers *(a 3 of 9 multi-signature address held by individuals selected by the Celo Foundation)*. 1. Approvers have 1 day to review the proposal. 1. The Approvers may reach out with questions, so be ready to communicate with them.
@@ -172,8 +175,8 @@ Celo governance is community-driven, and because of that, a lot of the tips belo 1. Before Drafting a Proposal 1. **Evaluate Whether Necessary:** Before doing any work, make sure the proposal is needed and isn’t already being worked on by checking on celo.forum.org and asking on Discord. Skim through active CGP proposals and the Celo forum to ensure that the idea isn’t already being discussed or proposed and warrants its own CGP. -1. **Initial Community Feedback:** Get high-level feedback from the community to improve and gauge your idea’s support. Create a forum post summarizing your idea and share it in the [Governance section of the Celo forum](https://forum.celo.org/c/governance/12) to get initial feedback. -1. **Targeted Feedback:** Reach out to stakeholders who would be impacted to get their opinion. Reach out to people with established reputations in the community for feedback (e.g. validators, cLabbers - reachable on the Discord), especially if the proposal would impact them. This can help build support among community members that will be helpful in later stages in the process. +1. **Initial Community Feedback:** Get high-level feedback from the community to improve and gauge your idea’s support. Create a forum post summarizing your idea and share it in the [Governance Proposals section of the Celo forum](https://forum.celo.org/c/governance/governance-proposals/) to get initial feedback. +1. **Targeted Feedback:** Reach out to stakeholders who would be impacted to get their opinion. Reach out to people with established reputations in the community for feedback *(e.g. validators, cLabbers - reachable on the Discord)*, especially if the proposal would impact them. This can help build support among community members that will be helpful in later stages in the process.
@@ -182,15 +185,15 @@ Celo governance is community-driven, and because of that, a lot of the tips belo 1. **Create Draft Proposal:** Make a GitHub account, create a fork in the governance repository, and draft a proposal. The CGP template can be found [here](https://github.com/celo-org/governance/blob/main/CGPs/cgp-template.md). 1. **Get Community Feedback:** This step should be the main feedback-gathering effort and will be crucial to finalizing your draft into a version you’re confident has broad support. 1. Post the draft proposal in the [Celo Forum](https://github.com/celo-org/governance/blob/main/CGPs/cgp-template.md) and get feedback on the draft from the community. The Celo Forum is the main place for discussion of governance proposals. - 1. Let people in [Discord](https://chat.celo.org/), [Celo Twitter community](https://twitter.com/CeloOrg), and [Celo Telegram groups](https://t.me/celoplatform) know about the discussion in the Celo Forum and encourage them to contribute their feedback. Consider posting in #Celo-Governance, #General-Operators, and #General-Core channels in Discord. To reach Validators, send an update in the Celo Signal newsletter. -1. **Discuss on Governance Call:** Give people a chance to discuss the proposal in real-time by discussing the proposal on a governance call. Sign up to [Celo Signal](https://docs.celo.org/validator-guide/celo-signal) and reply to a Celo Signal email to get an item on the agenda for governance calls. This will give stakeholders a final opportunity to contribute their opinion before you submit the proposal on-chain. To ensure the conversation is as effective as possible, let all active conversations (i.e., forum, Discord, etc.) know about the call. + 1. Let people in [Discord](https://chat.celo.org/), [Celo Twitter community](https://twitter.com/CeloOrg), and [Celo Telegram groups](https://t.me/celoplatform) know about the discussion in the Celo Forum and encourage them to contribute their feedback. Consider posting in [#🗳︱governance-general](https://discord.gg/celo), channel in Discord. To reach Validators, send an update in the Celo Signal newsletter. +1. **Discuss on Governance Call:** Give people a chance to discuss the proposal in real-time by discussing the proposal on a governance call. Sign up to [Celo Signal](https://docs.celo.org/validator-guide/celo-signal) and reply to a Celo Signal email to get an item on the agenda for governance calls. This will give stakeholders a final opportunity to contribute their opinion before you submit the proposal on-chain. To ensure the conversation is as effective as possible, let all active conversations *(i.e., forum, Discord, etc.)* know about the call. 1. **Pre-Vote Outreach:** Give the community a heads up about the timing of the vote, so they’re ready when it happens.
3. Shepherding Proposal through Voting -1. **Notify Community:** Engage the same groups you engaged in the pre-draft process to let them know that the vote is happening. This includes the Celo governance discord, Celo subReddit, Celo Telegram groups, validators, and other key stakeholders who the proposal would impact (see Step 2b for the full list). You can use these templates to share key information about the proposal simply: +1. **Notify Community:** Engage the same groups you engaged in the pre-draft process to let them know that the vote is happening. This includes the Celo governance discord, Celo subReddit, Celo Telegram groups, validators, and other key stakeholders who the proposal would impact *(see Step 2b for the full list)*. You can use these templates to share key information about the proposal simply: 1. [Social Media Post Template](https://docs.google.com/presentation/d/1B8NTXtTysX3tzf6RdttmN17ZwG8B47FgPgiPksJseSE/edit#slide=id.gcba387afa4_0_0) 1. [Medium Post Template](https://docs.google.com/document/d/1QpOS--Px2ClQg6PtJSjWxWM-eRZjZmD1pO7-DBCM4yg/edit) 1. **Engage Validators:** Once voting starts, engage with validators directly via the validator channel on Discord (can use @validators to notify them) to make sure they understand the proposal, why it’s important, and when the deadline for voting is. Validators may need multiple reminders, but make sure to be respectful in your outreach. @@ -210,10 +213,10 @@ Anyone with a minimum of 10,000 CELO can submit a proposal for a change to the C
- CGP Editors + Celo Governance Guardians *(formerly known as 'CGP Editors')*   -Editors review proposal drafts submitted on Github, either accepting pull requests or rejecting pull requests and providing feedback. This review is conducted to ensure the proposal draft conforms to the guidelines on Github. Editors are volunteer positions with ideally a majority filled by Celo community members outside of cLabs. +Celo Governance Guardians *(formerly known as 'CGP Editors')* review proposal drafts submitted on Github, either accepting pull requests or rejecting pull requests and providing feedback. This review is conducted to ensure the proposal draft conforms to the guidelines on Github. Celo Governance Guardians *(formerly known as 'CGP Editors')* are volunteer positions with ideally a majority filled by Celo community members outside of cLabs.
diff --git a/Technical Guide - Nuts & Bolts of the CGP Process.md b/Technical Guide - Nuts & Bolts of the CGP Process.md index 7f6c0549..ad3a27b5 100644 --- a/Technical Guide - Nuts & Bolts of the CGP Process.md +++ b/Technical Guide - Nuts & Bolts of the CGP Process.md @@ -12,9 +12,9 @@ This article explains the minimum steps you should take at each stage in the gov *JSON File*   -When a governance proposal passes, the Celo network runs a list of methods to implement the changes that are proposed. The parameters used in those methods are specified in a JSON file—this file is the list of method calls that would be made if the proposal passes (See an example JSON file [here](https://github.com/celo-org/celo-proposals/blob/master/CGPs/0024/mainnet.json)). To ensure your JSON file is not buggy, you can message the #​​general-core in Discord to ask someone to review the file. +When a governance proposal passes, the Celo network runs a list of methods to implement the changes that are proposed. The parameters used in those methods are specified in a JSON file—this file is the list of method calls that would be made if the proposal passes *(See an example JSON file [here](https://github.com/celo-org/celo-proposals/blob/master/CGPs/0024/mainnet.json))*. To ensure your JSON file is not buggy, you can message the #​​general-core in Discord to ask someone to review the file. -Each transaction step (or method call) should include the following parameters: +Each transaction step *(or method call)* should include the following parameters: - **Transaction Number**: This is the index of the transaction in the list, so it’s not actually listed. Transactions will run in order. - **Contract**: The contract with the desired function call for the transaction. - **Function**: The function in the above contract that will be called. @@ -32,11 +32,11 @@ Here’s an example: } ] -**Note:** A JSON file is only needed for on-chain changes. Some governance proposals - such as General Governance Proposals and Changes - don’t affect the Celo blockchain (e.g. changing name from Celo Gold to CELO). +**Note:** A JSON file is only needed for on-chain changes. Some governance proposals - such as General Governance Proposals and Changes - don’t affect the Celo blockchain *(e.g. changing name from Celo Gold to CELO)*. *Celo Governance Proposal* - In addition to creating the JSON file, you should create a Celo Governance Proposal (CGP) using the [CGP Template](https://github.com/celo-org/governance/blob/main/CGPs/cgp-template.md) and submit a pull request in the Celo Governance repo. Make sure to include enough detail that anybody who’s reasonably knowledgeable about Celo can understand why the proposal is needed and what the proposal will do. When submitted, the CGP Editors will review and may reach out to you with feedback to incorporate. When your CGP pull request has been merged, submit a post in the [Governance section](https://forum.celo.org/c/governance/12) of the Celo forum to allow the community to comment on it. It’s also helpful to include the JSON file in the Github repo as well so others can review—you can create a folder in the top level of the repo named for the CGP number and put the file in it. + In addition to creating the JSON file, you should create a Celo Governance Proposal *(CGP)* using the [CGP Template](https://github.com/celo-org/governance/blob/main/CGPs/cgp-template.md) and submit a pull request in the Celo Governance repo. Make sure to include enough detail that anybody who’s reasonably knowledgeable about Celo can understand why the proposal is needed and what the proposal will do. When submitted, the CGP Editors will review and may reach out to you with feedback to incorporate. When your CGP pull request has been merged, submit a post in the [Governance section](https://forum.celo.org/c/governance/12) of the Celo forum to allow the community to comment on it. It’s also helpful to include the JSON file in the Github repo as well so others can review—you can create a folder in the top level of the repo named for the CGP number and put the file in it. **Testing a Governance Proposal** @@ -44,12 +44,12 @@ Here’s an example: **Submitting a Governance Proposal** - Your proposal consists of the JSON file (if required) and a Celo Governance Proposal. + Your proposal consists of the JSON file *(if required)* and a Celo Governance Proposal. Before actually submitting the proposal, the community should have sufficient time to discuss in the forum, and you should have discussed the proposal on a governance call. See the Best Practices for Proposal Creators section of the == == for all best practices for championing a proposal. -When you’re ready to submit your proposal, send an email to governance@celo.org (Governance Approvers) letting them know when you will submit your proposal. You should do this no more than three days before submitting the proposal. The goal of this is to give the Approvers a heads-up so they can plan to evaluate the proposal when it gets to the Approval stage. +When you’re ready to submit your proposal, send an email to governance@celo.org *(Governance Approvers)* letting them know when you will submit your proposal. You should do this no more than three days before submitting the proposal. The goal of this is to give the Approvers a heads-up so they can plan to evaluate the proposal when it gets to the Approval stage. Governance proposals are submitted through the Celo Command Line Interface (CLI) using the >$ celocli governance:propose @@ -57,15 +57,15 @@ Governance proposals are submitted through the Celo Command Line Interface (CLI) command. See [here](https://docs.celo.org/command-line-interface/introduction) to get started with Celo CLI. This command has several parameters: -- **deposit** The amount of Celo to attach to Celo as a deposit. All amounts are given as wei, i.e units of 10^-18 CELO. For example, 1 CELO = 1000000000000000000. The minimum deposit is 100 CELO. -- **descriptionURL**: A URL where people can go to learn more about the proposal. In general, this should be the link to the CGP. +- **deposit** The amount of Celo to attach to Celo as a deposit. All amounts are given as wei, i.e units of 10^-18 CELO. For example, 1 CELO = 1000000000000000000. The minimum deposit is 10,000 CELO. +- **descriptionURL**: A URL where people can go to learn more about the proposal. In general, this should be the link to the CGP already merged into main celo-org/governance repo. - **from**: Your address - **jsonTransactions**: The path to the JSON file containing all of the transactions that are involved in the proposal. Here’s an example: -> propose --jsonTransactions ./transactions.json --deposit 100000000000000000000 --from -0x5409ed021d9299bf6814279a6a1411a7e866a631 --descriptionURL -https://gist.github.com/yorhodes/46430eacb8ed2f73f7bf79bef9d58a33 +> propose --jsonTransactions ./transactions.json --deposit 10000000000000000000000 --from +YourAddres --descriptionURL +https://github.com/celo-org/governance/blob/main/CGPs/cgp-XXXX.md ## Submission Stage Submitted proposals are added to a queue of proposals in the Submission stage. While a proposal is on this queue, voters may use their Locked Celo to upvote the proposal. Once per day, the top three proposals—by weight of the Locked Celo upvoting them—are dequeued and moved into the Approval phase. If a proposal has been on the queue for more than 4 weeks, it expires and the deposit is burned. @@ -79,7 +79,7 @@ Submitted proposals are added to a queue of proposals in the Submission stage. W Once your proposal reaches the Approval stage, you can withdraw your deposit using > celocli governance:withdraw. -In this phase, the proposal needs to be approved by the Approvers (a 3 of 9 multi-signature address held by individuals selected by the Celo Foundation). The Approval phase lasts 1 day, and if the proposal is not approved in this window, it is considered expired and does not move on to the Referendum phase. The Approvers may reach out with questions, so be ready to communicate with them. +In this phase, the proposal needs to be approved by the Approvers *(a 3 of 9 multi-signature address held by individuals selected by the Celo Foundation)*. The Approval phase lasts 1 day, and if the proposal is not approved in this window, it is considered expired and does not move on to the Referendum phase. The Approvers may reach out with questions, so be ready to communicate with them. - What should I do if my proposal is approved? - If your proposal is approved, it will automatically move on to the Referendum stage. @@ -100,4 +100,4 @@ The proposal creator is responsible for executing a proposal once it passes the in the Celo Command Line Interface. -If you don’t execute the proposal within 3 days, you lose the ability to execute the proposal and would need to go through the governance process again (i.e. resubmit proposal) in order to regain the ability to execute. +If you don’t execute the proposal within 3 days, you lose the ability to execute the proposal and would need to go through the governance process again *(i.e. resubmit proposal)* in order to regain the ability to execute.