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

feat: elected committee #6631

Closed
wants to merge 2 commits into from
Closed

Conversation

mul53
Copy link
Contributor

@mul53 mul53 commented Dec 5, 2022

closes: #6485

Description

Adds a governance component that creates a committee that will be elected

Security Considerations

Documentation Considerations

Testing Considerations

@mul53 mul53 marked this pull request as ready for review December 14, 2022 21:13
@mul53
Copy link
Contributor Author

mul53 commented Dec 14, 2022

hey @Chris-Hibbert this is a draft, let me know if it's the right direction

@dckc dckc requested a review from Chris-Hibbert December 14, 2022 23:35
@mul53
Copy link
Contributor Author

mul53 commented Dec 19, 2022

hey @Chris-Hibbert, are you available to review this?

@Chris-Hibbert
Copy link
Contributor

The two components I'm expecting to see are a new committee and a charter for it.

The committee would allow replacing some or all of the members, and know how to send out new invitations to distribute the new voting rights.

The Charter would control the ability to call for votes so the following would be possible

  • replace a single member
  • determine that there would be periodic (perhaps annual) elections for all the members
  • specify whether only one member (a "chairman") could call for votes, or any committee member could, or any member of the public who puts up a sufficient bond could.
  • when holding periodic elections, accept nominations for slates of candidates, and make the question sufficiently legible that voters can tell who is included in each slate.

I don't believe there's any need for a new ballot counter. The one from #6515 should be sufficient.

Once the new code has been written, duplicate code with any of the existing governance code should be factored out to a common place.

@mul53
Copy link
Contributor Author

mul53 commented Jan 1, 2023

@Chris-Hibbert still working on this, was out of office, i have a few questions.

Will the charter act like the contractGovenor in this instance?

Okay i have added a addElection method in the committee which returns the outcome for the election, we store a list of addresses in the committee and we expose methods for the charter to use to modify the committee addCommitteeMember and replaceCommitteMember

And for the distribution i have added the method getCommitteeMemberInvitations which the charter uses to distribute the invitations.

In the charter, plan on adding voteOnCommittee and voteOnCommiteeMemberReplacement

is that ideal?

@dckc
Copy link
Member

dckc commented Jan 4, 2023

Will the charter act like the contractGovenor in this instance?

No; it plays the role of an election manager (see governance core architecture diagram). One existing precedent is econCommitteeCharter.js

@dckc
Copy link
Member

dckc commented Jan 4, 2023

one possible scenario...

We're electing a 9 member executive board, so we start a Book club member-level charter contract to do that.

Valencia, V2, V3, V4, V5, V30 are the voters (a book club, say); they have invitations to the member-level charter.

Valencia nominates Charles (at address c) by exercising her invitation and calling some method on the offer result.
Likewise 12 other nominates.
We have 12 nominees when a timer for nominations expires and the member-level charter puts a question to itself to decide who is on the committee.

Each member can vote for up to 9 nominees (identified by addresses).
The ballot counter (launched when the above question was put) figures out the winners.

Then something like distributeInvitation to the 9 people (by address).

Replacing a member.

Doug stops attending meetings, which makes the board less effective. Eric puts a question to vacate his seat. A super-majority of the executive board concurs, and they choose a replacement...

@mul53 mul53 closed this Mar 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Agoric governance: Open Electorate Created by Public Vote
3 participants