draft_kpi_presentation.json 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504
  1. {
  2. "rounds":
  3. {
  4. "currentRound":
  5. {
  6. "round": 28,
  7. "reward": "$2375+$590",
  8. "fiatDiff": "$96.5",
  9. "councilMembers": 20,
  10. "electionRound": 30,
  11. "startBlock": 2883600,
  12. "startDate": "26.10.21",
  13. "endBlock": 2984400,
  14. "endDate": "02.11.21",
  15. "deadlineBlock": 3013200,
  16. "deadline": "04.11.21",
  17. "notes": "",
  18. "kpis": {
  19. "discussion": "",
  20. "termSummaries": "",
  21. "sections": [
  22. {
  23. "name": "Section I - Council work, Proposals and Bureaucracy",
  24. "id": "I",
  25. "kpis": [
  26. "..."
  27. ],
  28. "name": "Section II - Community Management",
  29. "id": "II",
  30. "kpis": [
  31. "..."
  32. ],
  33. "name": "Section III - Working Groups",
  34. "id": "III",
  35. "kpis": [
  36. "..."
  37. ],
  38. "name": "Section IV - Bounties",
  39. "id": "IV",
  40. "kpis": [
  41. "..."
  42. ],
  43. "name": "Working Group KPIs",
  44. "id": "OP",
  45. "kpis": [
  46. "..."
  47. ]
  48. }
  49. ]
  50. }
  51. },
  52. "previousRounds": [
  53. {
  54. "round": 26,
  55. "reward": "$2825+$900",
  56. "fiatDiff": "$1035",
  57. "councilMembers": 16,
  58. "electionRound": 28,
  59. "startBlock": 2696400,
  60. "startDate": "12.10.21",
  61. "endBlock": 2797200,
  62. "endDate": "19.10.21",
  63. "deadlineBlock": 2826000,
  64. "deadline": "21.10.21",
  65. "notes": "(Notes are the same as last week ones!) We're adding the new concept of having KPIs affect the fiat pool replenishment rate! As there hasn't been approved proposal to a KPI to this effect, it will work like so:\nEvery KPI now has a *Fiat Pool Factor*, where the minimum is 0. For this round, the maximum is 1, but that may change.\nThis determines how much the fiat pool will grow or shrink depending on the grading. The reasoning behind it's weighting is two-fold:\nImportant and/or urgent KPIs will get a higher number, to incentivize peer pressure and voting power behind getting it done.\nSome KPIs, although they can be important, will be set to zero as the reward doesn't always imply good/bad work has happened. A good examples is the Council Dissent.\nHow it works:\nSuppose a KPI rewards up to $100, and the *Fiat Pool Factor* is 1. Suppose it's the only KPI with a factor not equal to 0.\n- If nothing has been done, the fiat pool replenishment shrinks by $100\n- If it gets graded as partially completed, and rewarded $25, the fiat pool replenishment shrinks by $50\n- It it gets graded as partially completed, and rewarded $50, the fiat pool replenishment is unchanged\n- If it gets graded as partially completed, and rewarded $75, the fiat pool replenishment grows by $50\n- If it gets graded as fully completed, and rewarded $100, the fiat pool replenishment grows by $100\nIf the factor is 0.2, simply multiple the calculated change from the example with 0.2.\nThis will be another way for us to *force* the Council to act on some of the KPIs that has been neglected for a while, in addition to the existing ones (changing rewards, changing the scope, improving the writing).\nNote that if a KPI isn't completed in time for round x, but gets extended to round x+1 where it's fully completed, the net change will be zero. So although there is an incentive to deliver in time, a CM/WG Lead may *redeem* themselves!\nWe hope this will make things more fun, and allow for a gradual increase in the fiat pool replenishment!",
  66. "kpis": {
  67. "discussion": "https://testnet.joystream.org/#/forum/threads/672",
  68. "termSummaries": "https://testnet.joystream.org/#/forum/threads/685",
  69. "sections": [
  70. {
  71. "name": "Section I - Council work, Proposals and Bureaucracy",
  72. "id": "I",
  73. "kpis": [
  74. {
  75. "title": "Proposal Clearance",
  76. "reward": "$200",
  77. "fiatPool": 0,
  78. "distribution": "Shared",
  79. "process": "Automatic",
  80. "active": "Full Term",
  81. "purpose": "For the governance process to function properly, all proposals must be processed effectively, and dealt with within a reasonable time frame. Although we have increased number of proposals that can be open at any time from 5 to 20, it is still important that the community gets a quick result when possible.\nThis means the Council should be quick to vote when possible, and ask clarifying questions when information is missing.",
  82. "scope": ["For the individual Council Member, this means that they must check in frequently, and address each open proposal. If what is presented is reasonable and within the budget, the proposal should in general be approved.\nOf course, the Councils time must be respected, in the sense that the proposal should contain all the information needed to make their verdict. If this is not the case, the proposal discussion system can be used to ask for what is missing.\nWithout going in too much detail:\n- Most proposals will be of type Text or Spending. Along with some of the Working Group proposals, these should also be the most straight forward to vote on.\n- If the Spending proposal is for a Bounty, make sure the formalities, (eg. ask the Bounty Manager) are in order before casting your vote.\n- If you have all the information you need, vote right away.\n - Regardless of your decision, you should also make a brief comment outlining your reasoning.\n- If you don't have all the information, or don't fully understand, check the comments to see if it has already been addressed. If it hasn't, ask!\n- If you are not sure, you can always:\n - ask in the discussion, confer with other CMs on Discord and/or the forum\t- if so, this should be linked to or summarized in the discussion\n - vote abstain"],
  83. "rewardDistribution": "After the Term is over, we will get all the voting data from the proposals that were open during the Term. The reward will be divided by the number of total proposals.\n- Each time a CM voted for a proposal, they earn 1 point.\n- If they voted the same as the final outcome, they earn 3 more points.\n- If they voted abstain, they also earn 3 more points - as long as they didn't vote abstain on more than 20% of the total proposals.\n- Finally, the first 2 CMs that vote, AND vote *correctly* earns 2 more points.\nThe CMs reward for each proposal will be proportional to their points.\nNote: Once a proposal is finalized, voting stops, so if you want to *piggyback* on the others, you may find yourself not getting to vote in time.",
  84. "grading": [
  85. {
  86. "memberId": 1905,
  87. "memberHandle": "kate_fm",
  88. "voted": 27,
  89. "points": 101,
  90. "reward": 19
  91. },
  92. {
  93. "memberId": 2194,
  94. "memberHandle": "ilich",
  95. "voted": 24,
  96. "points": 95,
  97. "reward": 18
  98. },
  99. {
  100. "memberId": 644,
  101. "memberHandle": "lkskrn",
  102. "voted": 23,
  103. "points": 94,
  104. "reward": 18
  105. },
  106. {
  107. "memberId": 361,
  108. "memberHandle": "blackmass",
  109. "voted": 6,
  110. "points": 21,
  111. "reward": 4
  112. },
  113. {
  114. "memberId": 515,
  115. "memberHandle": "l1dev",
  116. "voted": 8,
  117. "points": 25,
  118. "reward": 5
  119. },
  120. {
  121. "memberId": 2096,
  122. "memberHandle": "svasilenko",
  123. "voted": 17,
  124. "points": 67,
  125. "reward": 13
  126. },
  127. {
  128. "memberId": 2531,
  129. "memberHandle": "nanapa6otaet",
  130. "voted": 16,
  131. "points": 55,
  132. "reward": 11
  133. },
  134. {
  135. "memberId": 321,
  136. "memberHandle": "freakstatic_council",
  137. "voted": 15,
  138. "points": 64,
  139. "reward": 11
  140. },
  141. {
  142. "memberId": 2462,
  143. "memberHandle": "chiffah",
  144. "voted": 19,
  145. "points": 78,
  146. "reward": 15
  147. },
  148. {
  149. "memberId": 2,
  150. "memberHandle": "tomato",
  151. "voted": 4,
  152. "points": 18,
  153. "reward": 3
  154. },
  155. {
  156. "memberId": 736,
  157. "memberHandle": "mmsaww",
  158. "voted": 11,
  159. "points": 35,
  160. "reward": 7
  161. },
  162. {
  163. "memberId": 2137,
  164. "memberHandle": "kalpakci",
  165. "voted": 16,
  166. "points": 61,
  167. "reward": 12
  168. },
  169. {
  170. "memberId": 2329,
  171. "memberHandle": "laura",
  172. "voted": 27,
  173. "points": 110,
  174. "reward": 21
  175. },
  176. {
  177. "memberId": 2130,
  178. "memberHandle": "maxlevush",
  179. "voted": 17,
  180. "points": 65,
  181. "reward": 13
  182. },
  183. {
  184. "memberId": 2435,
  185. "memberHandle": "zazik",
  186. "voted": 21,
  187. "points": 76,
  188. "reward": 15
  189. },
  190. {
  191. "memberId": 2154,
  192. "memberHandle": "marat_mu",
  193. "voted": 20,
  194. "points": 75,
  195. "reward": 14
  196. },
  197. {
  198. "memberId": "SUM",
  199. "memberHandle": 16,
  200. "voted": 271,
  201. "points": 1040,
  202. "reward": 200
  203. }
  204. ]
  205. },
  206. {
  207. "title": "Council Secretary",
  208. "reward": "$300",
  209. "fiatPool": 0.1,
  210. "distribution": "Individual",
  211. "process": "Manual",
  212. "active": "Full Term",
  213. "purpose": "Although this is not a formal role on the platform, having someone responsible for co-ordinating the Council is needed.\nThe role should be occupied by a 'seasoned' Council Member that:\n- is well versed in the platform workings\n- is familiar with github\n- has high availability\nThis role is applied for via text proposal, which happens once per term.",
  214. "scope": ["The Council Secretary will act as a bridge between the Council and Jsgenesis. This means:\n- Given write access to the Community Repo\n- For all new PRs made to the repo, the Secretary and/or is expected to:\n - perform a review\n - link to a spending or text proposal, confirming the Councils approval\n - request Jsgenesis review for all PRs that require their attention\n - merge the PR, under the conditions that the PR:\t- would not require Jsgenesis to perform any actions related to the tokenomics (payouts or pool increases)\t- does not violate any license\t- does not introduce any code users can run\t- it has also been approved by the Deputy Secretary\n- Signing off on all reports created\n- Assist and support other CMs\n- Monitor the bounties \n - propose/hire Bounty Managers, set their rewards and secure funding after the fact\n - follow up Bounty Managers (and replace if needed)\n - select the 'Weekly Bounty Managers' according to interest (they will be paid through KPI rewards)\n - ensure the bounty information presented on the website is up to date\n - report on progress after the end of the Term\n- Notify Jsgenesis of urgent and important matters on the testnet\n- Open a forum thread for the 'Term Summaries' where the CMs can report on their Council/KPI activities.\n- Ask Jsgenesis to refill the Council Mint in in the #council room on Discord\n* Not before all formalities has been completed, eg. approved by the Council"],
  215. "rewardDistribution": "Only a single member may be chosen for this role. If more than one proposal for the position is approved, only the first one is considered.",
  216. "grading":
  217. {
  218. "memberId": 2329,
  219. "memberHandle": "laura",
  220. "reward": 300,
  221. "report": "https://testnet.joystream.org/#/forum/threads/685?replyIdx=7"
  222. }
  223. },
  224. {
  225. "title": "Deputy Council Secretary",
  226. "reward": "$150",
  227. "fiatPool": 0.1,
  228. "distribution": "Individual",
  229. "process": "Manual",
  230. "active": "Core Term",
  231. "startBlock": 2703600,
  232. "endBlock": 2790000,
  233. "purpose": "The Council Secretary has been re-elected more than 10 times in a row. We believe the reason is that the Councils seem to recognize their excellent performance - an opinion shared by us.\nIt does however make the platform, albeit in a testnet stage, highly reliant on a single individual or entity, which may cause trouble down the road.\nWe believe it's time to add a deputy. This will hopefully have multiple benefits, the key being preparing more people to coordinate the Council and get a better overview of the recurring and, sometimes, critical tasks that needs to be performed.\nRequirements:\n- must have been on the Council before\n- must be able to check in at least once every day\n- must be eager to learn\n- preferably somewhat familiar with github",
  234. "scope": ["The main task for the Deputy Council Secretary is to assist and offload the Secretary.\n- Given triage access to the Community Repo\n- Assigning the Secretary, and/or Jsgenesis to review* all PRs made to the Community Repo, with a link to the text or spending proposals and other applicable information.\n- See the SoW for the Secretary for a full list of tasks\n* Not before all formalities has been completed, eg. approved by the Council"],
  235. "rewardDistribution": "Only a single member may be chosen for this role. If more than one proposal for the position is approved, only the first one is considered.",
  236. "grading":
  237. {
  238. "memberId": 2194,
  239. "memberHandle": "ilich",
  240. "reward": 150,
  241. "report": "https://testnet.joystream.org/#/forum/threads/685?replyIdx=9"
  242. }
  243. },
  244. {
  245. "title": "Council Minutes",
  246. "reward": "$100",
  247. "fiatPool": 0.5,
  248. "distribution": "Individual",
  249. "process": "Manual",
  250. "active": "Term end + 1 day",
  251. "startBlock": 2797200,
  252. "endBlock": 2811600,
  253. "purpose": "There needs to be some level of accountability and transparency for the Council. For each Council Term the Council must produce a report, that both summarizes their communication, covers all 'events' and generally explains what transpired during the Term.\nAs the KPIs now cover 2 Council Terms, these reports must be generated for both terms. The naming convention should be 19A and 19B to refer to the two terms.",
  254. "scope": ["1. The 21st & 22nd 'official' Councils (#1990800-#2091600 & #2091600-#2494800) produces a report covering any and all 'events' of interest:\n- Proposals\n- Decisions\n- Voting statistics\n- etc.\n2. The Council Produces a 'Tokenomics' report (for both Council Terms) covering the quantitative aspects of the Term. Must include:\n- Issuance statistics, through: \n - Spending from proposals\n - Role rewards\n - Bounties paid\n - Validator rewards\n - Total tokens minted\n - Total tokens burned\n- Media statistics \n - Note that this should only be a superficial report. A more comprehensive overview should be produced by the Curators.\n- Membership statistics\n- Role occupants, their recurring and earned rewards, hired dates, etc.\n- Forum statistics\nPrevious Council reports can be used as a guideline."],
  255. "rewardDistribution": "If multiple reports are proposed, only the best one will be rewarded. Ideally however, this would be a collaborative effort.",
  256. "grading":
  257. {
  258. "memberId": 2194,
  259. "memberHandle": "ilich",
  260. "reward": 100,
  261. "report": "https://testnet.joystream.org/#/forum/threads/685?replyIdx=9"
  262. }
  263. },
  264. {
  265. "title": "KPI Presentation",
  266. "reward": "$500",
  267. "fiatPool": 0.5,
  268. "distribution": "Individual",
  269. "process": "Manual",
  270. "active": "Core Term",
  271. "startBlock": 2703600,
  272. "endBlock": 2790000,
  273. "purpose": "There's been plenty of feedback on the rather crude way the KPI's are presented, and how it negatively impacts several aspects of the KPIs.\n- It's very hard to read and parse, scaring people away from even trying\n- There are often errors in the ToC and formatting\n- It's very hard to read and parse the results\n- The page is infinite\nI'm sure I could go on, but let's instead focus on how to improve it.\nThe first key part, which will be addressed separately, is to store the data in a json or yaml format, making so that it can be presented in a flexible way.\nThe second is to start thinking about the design. It's not if this is a task the Council is currently able to attempt, as design is hard. What can be done however, is to write a design brief. In order to do that, we need to establish what the page must and should contain.\nNote that what we're doing here, isn't solely being able to read a single, ungraded KPI, but create (a) page(s) where all the KPI information can be kept in a functional way.",
  274. "scope": ["1. List 'all of the things' such a page should contain. This can include, but is not limited to:\n- The current KPIs\n- Full (or at least covering a significant part of the) KPI history, with results and stats.\n - Links to all the work that was done\n - Links to all the old term summaries\n - Stats on how many KPIs were 'done' per round\n - Stats on how much was earned for each KPI\n - Stats on how many KPIs each member has done, how much they've earned, and how many councils they've been a part\n - etc.\n- Not clear if these belongs here, and much less clear if it should be prioritized early, but:\n - Should this 'page' also track the token value and inflation over time?\n - Should it include some way to 'claim' you want to work on a task, and other 'KPI manager' tools?\n - What else?\nUse what you find (as a group, this likely requires input from several sources) in one, to either:\n2. Write a design brief, covering at least current KPIs.\n3. Create a wireframe of (at least) the current KPIs. We have been using balsamiq for these things, and will re-imburse anyone giving it a go. If you prefer other tools, preferably open source, that would be even better!"],
  275. "rewardDistribution": "Grading will be shared across the contributors for 1, individual for 2 and 3.\nWeighting:\n1. 200\n2.100\n3.200",
  276. "grading": [
  277. {
  278. "memberId": 2096,
  279. "memberHandle": "svasilenko",
  280. "reward": 125,
  281. "report": "https://testnet.joystream.org/#/forum/threads/685?replyIdx=4"
  282. },
  283. {
  284. "memberId": 515,
  285. "memberHandle": "l1dev",
  286. "reward": 175,
  287. "report": "https://testnet.joystream.org/#/forum/threads/685?replyIdx=2"
  288. },
  289. {
  290. "memberId": "SUM",
  291. "memberHandle": 2,
  292. "reward": 300
  293. }
  294. ]
  295. }
  296. ],
  297. "name": "Section II - Community Management",
  298. "id": "II",
  299. "kpis": [
  300. {
  301. "title": "Discord & Telegram Channel Management",
  302. "reward": "$75",
  303. "fiatPool": 0,
  304. "distribution": "Individual",
  305. "process": "Manual",
  306. "active": "Full Term",
  307. "purpose": "To make the Joystream community more welcoming to newcomers on Discord, we need high availability and helpfulness there.",
  308. "note": "$75 will be added to the budget ref. proposal 393, and removed from this.",
  309. "scope": "For each of the above groups:\nCheck in multiple times every day, and welcome/assist every user that posts or asks a question. You need to have some knowledge of the particular topic, or read up on it. If you still don't know the answer, tag someone else!",
  310. "rewardDistribution": "Also note that you will 'keep' this role for 1 day (14,400 blocks) AFTER the term to allow a new CM to take over.\nGrading is individual.",
  311. "grading": [
  312. {
  313. "memberId": 2531,
  314. "memberHandle": "nanapa6otaet",
  315. "reward": 25,
  316. "report": "https://testnet.joystream.org/#/forum/threads/685?replyIdx=3"
  317. },
  318. {
  319. "memberId": 2435,
  320. "memberHandle": "zazik",
  321. "reward": 25,
  322. report: "https://testnet.joystream.org/#/forum/threads/685?replyIdx=5"
  323. },
  324. {
  325. "memberId": 1905,
  326. "memberHandle": "kate_fm",
  327. "reward": 25,
  328. "report": "https://testnet.joystream.org/#/forum/threads/685?replyIdx=6"
  329. },
  330. {
  331. "memberId": "SUM",
  332. "memberHandle": 3,
  333. "reward": 75
  334. }
  335. ]
  336. },
  337. {
  338. "title": "Create new KPIs",
  339. "reward": "$500",
  340. "fiatPool": 0,
  341. "distribution": "Individual",
  342. "process": "Automatic",
  343. "active": "Core Term",
  344. "startBlock": 2703600,
  345. "endBlock": 2790000,
  346. "purpose": "Sometimes, creating valuable KPIs for a new Term is easy, other times it not so obvious what to focus on. Let's get some inputs from the Community!",
  347. "scope": "1. Draft up one or more new (Council or WGs) KPIs, that follows the format of the existing system. Additionally, place it in the applicable group (or add new ones if needed), estimate the workload and propose a reward.\n2. If specifying it completely, as in the case for 1. is too difficult, or requires JSG input, simply outline what you want a KPI to cover, and what it's meant to achieve.",
  348. "rewardDistribution": "All CMs and WG Leads can contribute.\nIf your KPI makes it into one or more future set(s) of KPIs, you'll get:\n1. $25 + 25% of the Reward JSG sets (capped at $200)\n2. $25 + 10% of the Reward JSG sets (capped at $100)",
  349. "grading": [
  350. {
  351. "memberId": 2154,
  352. "memberHandle": "marat_mu",
  353. "reward": 40,
  354. "report": "https://testnet.joystream.org/#/forum/threads/685?replyIdx=8"
  355. },
  356. {
  357. "memberId": 2435,
  358. "memberHandle": "zazik",
  359. "reward": 40,
  360. report: "https://testnet.joystream.org/#/forum/threads/685?replyIdx=5"
  361. },
  362. {
  363. "memberId": 1905,
  364. "memberHandle": "kate_fm",
  365. "reward": 40,
  366. "report": "https://testnet.joystream.org/#/forum/threads/685?replyIdx=6"
  367. },
  368. {
  369. "memberId": "SUM",
  370. "memberHandle": 3,
  371. "reward": 120
  372. }
  373. ]
  374. },
  375. {
  376. "title": "Council Term Summary Videos",
  377. "reward": "$500",
  378. "fiatPool": 0,
  379. "distribution": "Individual",
  380. "process": "Automatic",
  381. "active": "Term end + 2 days",
  382. "startBlock": 2797200,
  383. "endBlock": 2926800,
  384. "purpose": "Although the community is diligently creating Council Minutes in text format every week, a video platform should have video updates!",
  385. "scope": ["1. Record a video (in English) presenting the "highlights" of the Term, from a community point of view. The video should be recorded after the following information is secured:\n- The Council Minutes\n- A KPI status update, made by the Council Secretary. Example\n- As many of the Term Summaries as possible.\nThis means the video should be recorded approximately two days after the end of the Term. Some potential topics:\n- Who were on the Council\n- Fiat Pool and exchange rate changes\n- Any changes to the workers or Leads?\n- Did something fun happen?\n2. We imagine the format will change over time, and with feedback, but in order to bootstrap it, someone has to give it a go. After you made your video, create a forum thread for feedback/discussion. Then create a text proposal with the format you opted for, and a link to the forum post.\n3. Have the video re-recorded in Russian, either by yourself, or someone else."],
  386. "note": "Ideally, this should be a running project (ie. no longer be a KPI) once it 'settles''. In the meantime, if you are fluent in both languages you can make both. If not, collaborate with someone that masters the 'other' language.",
  387. "rewardDistribution": "Individual grading. If more than one CM creates (a) video(s), the reward is not capped. So multiple people can all earn $400 each.\nWeighting:\n1. $300\n- Soft cap, an extremely good video may earn even more.\n- A 1 min short where someone is reading the Council Minutes will not earn anything.\n2. $50\n3. $150",
  388. "grading": [
  389. {
  390. "memberId": 2154,
  391. "memberHandle": "marat_mu",
  392. "reward": 250,
  393. "report": "https://testnet.joystream.org/#/forum/threads/685?replyIdx=8"
  394. },
  395. {
  396. "memberId": 2329,
  397. "memberHandle": "laura",
  398. "reward": 250,
  399. "report": "https://testnet.joystream.org/#/forum/threads/685?replyIdx=7"
  400. },
  401. {
  402. "memberId": "SUM",
  403. "memberHandle": 2,
  404. "reward": 500
  405. }
  406. ]
  407. }
  408. ],
  409. "name": "Section III - Working Groups",
  410. "id": "III",
  411. "kpis": [
  412. {
  413. "title": "Deputy Working Group Lead",
  414. "reward": "$200",
  415. "fiatPool": 0.2,
  416. "distribution": "Individual",
  417. "process": "Automatic",
  418. "active": "Core Term",
  419. "startBlock": 2703600,
  420. "endBlock": 2790000,
  421. "purpose": "The WG Lead is expected to be available and active, but just as any other job, it's impossible to be available 24/7.\nThe idea of having deputy leads was raised again last Term. As has having Leads in shifts. What should each working group do?",
  422. "scope": ["For each of the WGs:\n1. Is the groups output, productivity and/or efficiency hampered by the Lead? Is that person a bottleneck for getting things done? (This is not meant to imply the Lead is underperforming. As groups have grown, the workload has followed!)\n2. There are at least three options for each group:\n- Keep the leadership hierarchy as is\n- Assign a deputy Lead\n- Have two (or more) people share the title as Lead\n - Can be done on-chain, or off-chain (by sharing account)\n - What seems like the most 'applicable' for each group?\n3. What does the Leads themselves think of this?"],
  423. "rewardDistribution": "Grading is individual.\nWeighting:\n1,3: $50\n2: $100",
  424. "grading":
  425. {
  426. "memberId": 2329,
  427. "memberHandle": "laura",
  428. "reward": 50,
  429. "report": "https://testnet.joystream.org/#/forum/threads/685?replyIdx=7"
  430. }
  431. }
  432. ],
  433. "name": "Section IV - Bounties",
  434. "id": "IV",
  435. "kpis": [
  436. {
  437. "title": "Weekly Bounty Managers",
  438. "reward": "$300",
  439. "fiatPool": 0,
  440. "distribution": "Individual",
  441. "process": "Automatic",
  442. "active": "Full Term",
  443. "purpose": "Keeping track of all bounties is both too much for a single person, and it will require different skillsets. There are currently 4 'weekly' bounties, where 'weekly' means that the Bounty Manager isn't meant to have this role until the bounty is completed. Instead, the Council will choose one of their own to act as the Bounty Manager for each bounty during the Term.\nA new addition is to actually promote the bounties. It appears to be somewhat of a hurdle getting people to apply for, and start working on, our bounties.\nThe scope of work for each Bounty will vary quite a lot, depending on the specific bounty.\nSome general information can be found here.",
  444. "scope": ["1. Manage Bounty #9. After the Council Term has ended, create a brief 'handover' report for your successor (even if you are re-elected).\n2. Find someone, inside or outside of the community, to start working on a bounty. Any CM that manages to find someone (including themselves) to get assigned for any Bounty, a $100 bonus awaits!\n3. There are currently 10 more open Bounties, some of them not created/funded by Jsgenesis. Which one of these has a format which lends themselves to weekly Bounty Managers?"],
  445. "rewardDistribution": "Individual. The Council Secretary is responsible for assigning CMs for each Bounty.\nWeighting:\n1: $50\n2: $100\n3: $100",
  446. "grading":
  447. {
  448. "memberId": 2194,
  449. "memberHandle": "ilich",
  450. "reward": 50,
  451. "report": "https://testnet.joystream.org/#/forum/threads/685?replyIdx=9"
  452. }
  453. }
  454. ],
  455. "name": "Working Group KPIs",
  456. "id": "OP",
  457. "kpis": [
  458. {
  459. "title": "Runtime Upgrade Verification",
  460. "reward": "$300",
  461. "fiatPool": 1.5,
  462. "startBlock": 2696400,
  463. "endBlock": 2898000,
  464. "purpose": "With KPI 17.OP-1), the runtime upgrade was tested. However, the results weren't straight forward to parse. We need to verify exactly what happened, before we perform the upgrade on the real testnet!\nNote that an updated version of pioneer can be found here, and that you can use the endpoint wss://staging-3.joystream.app/rpc for both pioneer and the API. Also note that the noteworthy fixes in this runtime upgrade was to:\n1. Fix the bug that caused all stakes when applying to the operations group caused the role and application stakes to get burned.\n2. Increase the max mint capacity increase through proposals from 5,000,000 to 50,000,000.",
  465. "note": "Extended from last KPI round, with small reward increase.",
  466. "scope": ["1. After the proposed testing protocol was shared on Discord, I replied with some extra tasks. Although the tasks appear to have been performed, it's not easy to confirm from the results. Go through the list, and verify everything was done.\n2. Using the Member IDs, worker IDs, block heights, membership and worker accounts listed in the report, get the historical chain data from the applicable reports and test/verify for each opening and application:\n- What was the opening ID, opening parameters (max applicants, application/role stake, rewards and the various unstaking parameters)\n- Was the opening created before or after the runtime upgrade\n- What was the member ID, member handle, membership root/controller account, and role account\n- Was the application made before or after the runtime upgrade\n- What was the balance of each account, and the total issuance, on the block, and the block before, the member: \n - applied\n - was crowded out, not hired or hired\n - if hired:\t- fired or quit\n - note that if the unstaking parameter was >0, you need to check the block + the applicable unstaking value\n - note that if they were hired, they may have earned rewards that further complicates things\n - they may also have received tokens from other addresses/rewards in the window\n - also note that if the same member applied to multiple openings, you need to keep track of all stakes/values/rewards\nAfter having generated all this information, create a report containing all the numbers above, an explanation of what you think happened, and whether the bug was fixed."],
  467. "grading": "completed in the last term"
  468. },
  469. {
  470. "title": "Event Email Service",
  471. "reward": "$200",
  472. "fiatPool": 0,
  473. "startBlock": 2696400,
  474. "endBlock": 2998800,
  475. "purpose": "It can be quite useful to have notifications setup for various on chain events. The telegram/discord bots partially fulfills this role, but it could be equally, or more, useful to have email notifications as well!",
  476. "scope": ["1. Outline the feasibility of deploying a hosted service for this, where a user can sign up, and choose from a list of events to which they want subscribe.\n2. Outline the feasibility of building a self hosted service for users that are running nodes themselves. This would mean making the source code available on our community repo, where users can compile, configure and run it themselves.\n3. Estimate the hours and resource needed to build these tools, and the resource consumption for a user running it themselves like in 2."],
  477. "grading": "completed in the last term"
  478. },
  479. {
  480. "title": "Pioneer 2.0",
  481. "reward": "$400",
  482. "fiatPool": 0.5,
  483. "startBlock": 2696400,
  484. "endBlock": 2898000,
  485. "purpose": "Not that we are finally closing in on the release launching pioneer 2.0, we want to focus on something that we've wanted to for some time. Namely giving the community both an opportunity and reason to contribute.\nAs we've stated many times before, we wish for the community to take charge of the platform in the future, which means they have to understand the software they're working on. Starting early, on an something that's both unfinished and that will require lots of improvements and updates sounds ideal. To make things 'even better', there are both developer docs, contributor guides, and a fair amount of (good first) issues to start with!",
  486. "scope": ["1. Find your way in to the pioneer repo, try out the build, and play around a bit.\n2. Read through the aforementioned contribution guidelines and developer docs. If they're helpful and all you need, great! If not, make an issue with your feedback.\n3. Review the 'good first issue'(s), and estimate the time needed to solve each of them, assuming you are somewhat comfortable with the stack, but no knowledge of codebase. If anything is unclear in any of the issues, ask kindly for clarification.\n4. Provide feedback on how these issues would best be presented to the community. By that, I mean:\n- Should it be separate bounties for all the n issues?\n- Should there be n-k bounties for these n issues?\n- Should they instead be KPIs, or simply general tasks for (one or more of) the operations group(s) to tackle?\n- Other? Present your findinds not through an issue in the pioneer repo this time, but rather in the community repo."],
  487. "rewardDistribution": "Grading is individual.",
  488. "grading":
  489. {
  490. "memberId": 515,
  491. "memberHandle": "l1dev",
  492. "reward": 400,
  493. "report": "https://testnet.joystream.org/#/forum/threads/685?replyIdx=2"
  494. }
  495. }
  496. ]
  497. }
  498. ]
  499. }
  500. }
  501. ]
  502. }
  503. }