funded

Incremental CA assessments

$3,675.00 Received
$4,200.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Addresses Challenge
Feasibility
Auditability
Solution

Allow CAs to start writing assessments earlier. Even when ideas are not completely finished. As ideas are getting refined so can assessments

Problem:

Time available in the Assess stage alone is maybe not enough to garner a larger assessment rate which are also of high quality.

Yes Votes:
₳ 48,563,493
No Votes:
₳ 4,000,912
Votes Cast:
173

Team

This proposal was approved and funded by the Cardano Community via Project F8: Community Advisor Improvements Catalyst funding round.

  • download
  • download

[IMPACT]

Proposed CA-specific process changes as well as CA tool modifications:

  • Have CA registrations at the start of a Fund.

  • Allow CAs to start writing their draft assessments from the get-go (or at least from the "Refine" stage onwards).

  • Make the existing external CA assessment tool (see link) available earlier for this purpose.

  • Adapt the tool so that the drafts are accessible, persisted and modifiable until the "Asses QA" stage.

  • Adapt the tool to save the time of creation and last modification of the assessment

  • Adapt the tool to save the history of changes of the assessment

  • (if deemed necessary) Adapt the tool to include a "private notes" field, where the CA could jot down quick notes like open concerns about the proposal, what is missing, etc.

  • When the CA has written an assessment and afterwards the proposal has changed, then highlight the differences between the previous* and current version, so that the CA can see the changes quicker.

  • *previous = the version against which the CA has written an assessment

  • Before the "Assess QA" stage, delete all assessments which are linked to a deleted proposal or a proposal which have not made it into the aforementioned stage.

Proposed vCA-specific process changes as well as vCA tool modifications:

  • Adapt the vCA tool to make the time of assessment creation and last modification as well as history of changes available to the vCA, so that the vCA can quickly observe the discrepancy.
  • Furthermore, introduce an attention-grabbing visual element for those assessments which have not been adapted after the accompanying proposal have had larger changes.

Proposed CA backend script modifications:

  • Adapt the JSON schema of the proposals.json JSON file by:
  • inserting a new nested JSON Array named "history", which accepts JSON Objects with the following JSON Attributes:
  • uint changeId - incrementing identifier, starts with 0
  • string text - snapshot of proposal's full content at the given timestamp
  • datetime timestamp - snapshot's timestamp
  • Adapt the CA backend script to periodically pull proposal's content through IdeaScale API
  • Detect change in each proposals' contents
  • Append proposal contents to the proposals.json JSON file for each time a change was detected in the proposal contents

.

The CAs will have more time to write more meaningful assessments. Because of the incremental approach, they will have the opportunity to start very early in the process. Even if only 50% of the mandatory fields were filled, one can start assessing the existing content. Even if the content changes in the future and is added upon, the time to catch-up to the changes is relatively low.

It also addresses the issue of some CAs not being available in the allotted time for "Assess" stage. Furthermore, many CAs have full-time jobs and families which occupy most of their time. This approach will give CAs more flexibility to schedule their time for reading and understanding proposals and giving meaningful assessments.

Some CAs might not have time to dedicate a large block of time to work on one thing. Some may prefer a more flexible and "scattered" approach, where they can allocate smaller portions of their time across a larger time contingent so that they can continuously improve their assessments. This leads to less stress in trying to cram as many assessments under ones belt in a short time-span.

With CAs trying to understand the proposals sooner, could lead to them being more involved in the proposals via asking questions, giving constructive criticism, giving advice, or simply mentioning what they feel is missing for them.

I foresee no risk of nondelivery, however there are other risks one must be aware of.

The risk is that CAs will not update their assessments which could lead to them being invalid. Luckily this can be easily detectable through the creation/last modified timestamp and the history of changes. Unfortunately, the risk of having to trash these assessments still remain.

There is a possibility of proposals not making it to the "Assess QA" stage after assessing has started. This would lead to wasted time and dissatisfaction on the part of the CAs.

[FEASIBILITY]

I will allocate about 16 hours of work per month to the project.

The solution will be delivered in 6 months. Prototypes and earlier versions of the solution will be constantly shared with the community (i.e. devs, CAs, vCAs, Cardano IdeaScale admins…) in order to receive valuable feedback.

Setup - 10 hours

I will check out the existing CA tool and vCA tool projects from Github in order to get better acquainted with how it's structured and what are it's inputs and outputs.

I will get in contact with the developer(s) of the projects.

I will setup the working environment (IDE, Node and packages) on my local development machine.

I will make the tools run successfully on my local development machine.

Analysis - 10 hours

I will analyse the code in order to gain comfortable understanding about the tools.

I will get acquainted with the current state of features which are already available and which are currently in progress of development.

I will brush up on my knowledge of Vue. I have only used Vue on two projects in the past - one as a hobbyist another as a small professional project at work.

Implementation - 44 hours

I will be making changes to the tools:

  • Legend: [tools_to_be_modified] system_parts_to_be_modified: description estimated_time_needed_to_implement_in_hours
  • [CA & vCA] storage and frontend: add date and time of creation of assessment 0,5h
  • [CA & vCA] storage and frontend: add date and time of last modification of assessment 0,5h
  • [CA] storage/schema: add an additional object to the local storage schema in order to store changes to assessments 1h
  • [CA & vCA] frontend: highlight differences between previous* and current version of proposal content 15h
  • *previous = the version against which the CA has written an assessment
  • [vCA] frontend: add an action which will reveal full history of assessments with their timestamps 3h
  • [CA-backend] storage: detect (significant) change to proposals w.r.t. assessment 14h
  • use: GET /v1/ideas - the "text" attribute - https://a.ideascale.com/api-docs/idea-api-index.html#/rest-api-controller-v-1/allNonPendingIdeasUsingGET_3
  • alternatively use: https://a.ideascale.com/api-docs/idea-api-index.html#/rest-api-controller-v-1/getIdeaUsingGET_1
  • [CA & vCA] frontend: display a attention-grabbing visual element (e.g. large text in red) when the proposal has changed significantly, but the assessment has not been updated (or confirmed that it is still valid) 4h
  • CA will have the option to explicitly confirm that the assessment is still valid, even though there has been a significant change in the proposal
  • vCA will be notified (e.g. through red text) about the possibly obsolete assessment regardless
  • [CA & vCA] CSV exporter: add the history of proposal contents 2h
  • [all] all: refactorings, optimizations, code-quality improvements 4h

Continuous Testing & Feedback - 20 hours

  • Testing while coding 4h
  • Acceptance testing (with feedback from developers, CAs, vCAs and Cardano Ideascale admins) 12h
  • Intuitive and Checklist testing (e.g. error-guessing and going through standard website errors) 2h
  • Monkey testing (basically trying to produce weird input combinations which could lead to failures) 1h
  • Gauging community's feedback for future improvements 1h

Hours are assigned to individual tasks above.

10+10+44+20 = 84 hours total

84 * $50 = $4200

Jan Bezget, a 10 years full-stack web developer

  • with strong hobbyist and professional experiences in Node, JS, CSS, HTML5, etc.

  • with some hobbyist and professional experiences in Python and Vue

  • for more info see enclosed CV.

    [AUDITABILITY]

I have already defined tasks above which will be auditable through the Github commits of the already forked projects:

<https://github.com/gormih3/ca-tool>

<https://github.com/gormih3/vca-tool>

<https://github.com/gormih3/ca-tool-backend>

  • Old and new (v)CAs will accept the change (and have ideas on further refinement/improvements)
  • CAs will enjoy the extended time to engross themselves into more proposals…
  • …and will therefore be able to write more high quality assessments
  • CAs will make more frequent comments to the proposers

Entirely new one.

Community Reviews (1)

Comments

Monthly Reports

indirectly related: I'm building a house, which will probably impede my progress here

Disbursed to Date
$3,675
Status
Still in progress
Completion Target
11/30/2022
Comments 0

Login or Register to leave a comment!

No.

Disbursed to Date
$3,675
Status
Still in progress
Completion Target
11/30/2022
Comments 0

Login or Register to leave a comment!

The work on the house is getting more intense in the following months. Possible impediment for scheduled launch.

Disbursed to Date
$3,675
Status
Still in progress
Completion Target
3. In the next 6 months
Attachment(s)
Comments 0

Login or Register to leave a comment!

A

Disbursed to Date
$3,675
Status
Still in progress
Completion Target
4. After 6 months
Comments 0

Login or Register to leave a comment!

I have been following the github repos

Disbursed to Date
$3,675
Status
Still in progress
Completion Target
3. In the next 6 months
Comments 0

Login or Register to leave a comment!

I have set up a dev environment for the pa-tool repository. I have started to implement the Created and LastModified dates in the pa-tool frontend. With that I have started to re-learn Vue.

Disbursed to Date
$3,675
Status
Still in progress
Completion Target
3. In the next 6 months
Comments 0

Login or Register to leave a comment!

I have continued with analysis of the existing code by implementing the Created and Last Modified dates to UI and the store. I've made check-ins to my ca-tool and vca-tool repos.

Disbursed to Date
$3,675
Status
Still in progress
Completion Target
3. In the next 6 months
Attachment(s)
Comments 0

Login or Register to leave a comment!

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00