# Council Secretary Workflow

The Council Secretary is and [stays](https://github.com/Joystream/joystream/issues/2322) an informal role to keep track of council duties and inform the Deputy Council Secretaty and other council members about open tasks. It does not have fixed rewards or a fixed scope of work, so the workflow and responsibilities are heavily influenced by given KPIs and what happens during a particular council session.

This document serves as a basic workflow and overview of what the Council Secretary role involves.

# Council Secretary Tasks

Basic requirements & responsibilities:
- Keep a close eye on Github updates concerning the operations of the council, proposals and coming updates
- Identify limitations or potential improvements for reports, elections, proposals. 

## Open communication
- Help push along the process of voting for proposals and elections. Communicate processes and workflow in a transparent manner as much as possible.
- Promote use of the forums and governance systems. Also help users to know what categories of the forum are relevant for their posts.
- Maintain a neutral stance as much as possible for everything. Although the council secretary can vote on proposals as an individual, when helping to share information about creating proposals (for example a hiring proposal) they should not point to a preferred candidate or try to influence personnel decisions on the platform.
- Help users to interact with the council and be aware of how proposals work. Highlight less used proposals and provide as neutral as possible instructions on how to use them.
- Maintain an account with tokens, funded by the council mint, for distributing to newer, genuine users who are interested in applying for worker or lead positions or for users who wish to create proposals.

## Council Budget
- Budget thread + proposals or assign/propose consul as treasury (make it clear on the council page which tasks are delegated and to whom).
- Maintain `spending_proposal_categories.csv` so that users are aware of how the Council's mint is being used. Produce periodic information concerning this.

## Council Leaderboard
- Collect data for each council term in a [council leaderboard](https://docs.google.com/spreadsheets/d/1l_aFoN2GxFpxi7pZS3rUh9wCsVHUi8um4YYiNRWMBW8/edit?usp=sharing) spreadsheet. This should track as much information and data that is available and should be shared whenever possible to let users know about ongoing trends on the platform. This spreadsheet should include as much information as possible and constantly add new information and perspectives of the data that is gathered (this is planned to be made publicly available soon)
- Communicate wishes for [community tools](https://github.com/Joystream/community-repo/issues/650) to the Builders WG (on discord, with a new [issue](https://github.com/Joystream/community-repo/issues/new) or task proposal, see [Builders workflow](../../working-groups/operations-group/operations_tasks_budget_workflow.md)).

This task was regularly done by @tomato manually: [January 2022](https://discord.com/channels/811216481340751934/813361923172335648/945452315391959101), [November 2021](https://discord.com/channels/811216481340751934/813361923172335648/913399295728832543), [September](https://discord.com/channels/811216481340751934/812343711870091285/884490397647265892) and before. The goal is to [add all information](https://discord.com/channels/811216481340751934/812344832424280136/816332864646938666) to https://joytstreamstats.live/ ([#512](https://github.com/Joystream/community-repo/issues/518)).
> I want to build into the council leaderboard, some sort of history of all elections on one page--showing who was successful/not and produce statistics from each round

## Council log

- Find a solution for [#499 Building a better platform-wide reporting standard](https://github.com/Joystream/community-repo/issues/499) (related: [Report Manager](https://github.com/Joystream/community-repo/issues/510))
- Governance: track and log issues that are relevant for council members, WG leads and current as well as future (testnet) governance in general

## Contact to JSG
- Keep track of the council mint and bounties that are pending reimbursement from Jsgenesis
* Communicate with Jsgenesis regarding essential platform issues
- maintain a public council log about important issues (together with deputy secretary lead)
- Communicate with CMs and users, create threads and make sure everyone is aware of work that needs to be done or proposals that need to be voted on
- Keep up to date on the future of the platform, including what features are being developed but are not deployed yet. Help to guide users to use the platform in the best way possible in close alignment with what the platform will be instead of what it is currently. This includes monitoring the main [Joystream repo](https://github.com/Joystream/joystream), [Pioneer repo](https://github.com/Joystream/pioneer) and the [Atlas repo](https://github.com/Joystream/atlas).

## Contact to Working Group Leads
- Maintain a broad overview of how each Working Group is doing.
- Check with leads about their WG status and publish noteworthy changes in the Council log.
- [Adjust lead rewards](https://pioneer.joystreamstats.live/#/proposals/new/set-working-group-leader-reward).
- Inform Builders if essential services are not working or need an update (minutes scripts, bot, ..)
- Highlight potential platform issues, such as inconsistent validator performance and extreme user/storage growth.

## Community Repo
- Documented processes on the community repo and keep them up to date.
- Manage PRs to the community repo: When approved by proposal or approved by ruleset, merge PRs. If PRs require code review, assign review to Jsgenesis.
- Assign issue labels: [good first issue](https://github.com/Joystream/community-repo/labels/good%20first%20issue) [help wanted](https://github.com/Joystream/community-repo/labels/help%20wanted) [community bounty](https://github.com/Joystream/community-repo/labels/community-bounty) [bounty draft](https://github.com/Joystream/community-repo/labels/bounty%20draft) [question](https://github.com/Joystream/community-repo/labels/question)  [JSG](https://github.com/Joystream/community-repo/labels/jsg) [documentation](https://github.com/Joystream/community-repo/labels/documentation) [council minutes](https://github.com/Joystream/community-repo/labels/council%20minutes) [bot](https://github.com/Joystream/community-repo/labels/bot) [jsstats](https://github.com/Joystream/community-repo/labels/jsstats)
- Update and extend [documentation](https://github.com/Joystream/community-repo/labels/documentation)

## Other Tasks
* Periodic user feedback capture
	* If required, help to create threads and mechanisms for user feedback.
* Periodic report generation
	* If required by KPIs, help to produce initial templates for reports and identify what important information needs to be shown at minimum.
* Rolling Github Community Repo proposals
	* Periodically collect outstanding PRs which have had no proposals made, and create a proposal listing them for the council.
	* Separate any problematic PRs and create separate proposals for them.
* Github Issues
	* Create and manage Github issues. If issues need Jsgenesis' attention, then highlight this.
	* Periodically create Github issues to try and capture feedback on improving reports.

## Council Elections

1. Before the next election starts create a forum thread for council applicants to post an introduction.

### After new election started
2. Make people in the community aware and be helpful with questions
3. Make sure to highlight any concerns (such as low candidacy and deadlines)
4. Pay attention to application/vote/reveal stages and communicate any needs to the userbase
5. Make sure users are aware of potential benefits of participating in the council voting process, also share the potential of KPI rewards available by participating in the platform's governance processes.
6. Make sure users are aware of the best way they can apply themselves when it comes to Jsgenesis votes on elections.

### After new council is elected
1. Create proposal to elect council secretary
	* Include Github link
2. Look through KPIs, produce forum thread breaking down each KPI and start discussion of each
	* If there are significant annihilation terms for the KPIs, ensure that these are highlighted
3. Regular checking on KPIs and making update posts in appropriate threads to ensure everyone is aware of what the current status of KPIs are
4. Add thread for council round feedback

After council term is completed:
* Create thread for term summaries and highlight this thread, as well as the associated deadline to the community.
