Parsoid/Parser Unification/Confidence Framework

From mediawiki.org

The Parsoid Usage Confidence Framework is aimed at evaluating the readiness and efficacy of enabling Parsoid on diverse wikis. This guide delineates the steps and methodologies for operating the framework to ensure thorough evaluations and informed decisions regarding Parsoid deployments.

The output of this framework should not force us to use "cold numbers" to deploy Parsoid for the sake of achieving the goal. We should use to enquiry more profound product questions.

Metrics[edit]

These are the current metrics we can realistic use for decision making:

  • Supported Extensions Coverage
  • Visual diff coverage
  • Qualitative Reports

As the framework evolves and gaps are discovered we might want to look at the following metrics:

  • Linting errors
    • Linting errors might be a good indicator to triage low risk wikis to explore but it's still debatable whether it would be useful for confidence assessment
  • Number of bugs on the critical path
  • Parsoid metrics
  • Performance and Parsoid missing functionality in affected pages
    • Performance and missing functionalities are moving targets. Current parsoid metrics should be evaluated across the board, it's not clear what would be the value if we can differentiate per wiki so this will be out of scope in the initial experiments.

Confidence Score[edit]

Based on the combination of the metrics we should always have an answer for enabling Parsoid Read Views  for every wiki:

  • Not confident at all
  • Not confident
  • Somewhat confident
    • That means this wiki can be considered the next target and we should investigate the metrics
  • Confident
  • Extremely confident

With that we will be able to look at the reasons for not being confident with Parsoid and focus on its characteristics and architecture with a Product Strategy lens to mitigate the gaps that affect our confidence to deploy Parsoid for Read Views.

Goals[edit]

Turn on parsoid on self-contained and safe places to develop the framework for "Parsoid Usage Readiness".

Immediate Goals[edit]

  • Deploy Parsoid in controlled and safe environments to enable learning and development of the "Parsoid Usage Readiness Framework"
    • Globally for specific wikis
      • First candidates are Wikitech DiscussionTools and Officewiki Read Views
      • Next English Wikivoyage DiscussionTools
      • Later Hebrew Wikivoyage DiscussionTools
    • Allow users to opt-in to Parsoid in any wiki by using the ParserMigration extension

Next wikis[edit]

Wiki Name Visual Diff Coverage (%) Supported Extensions Coverage (%) Confidence Reason Status
Office Wiki N/A (Visual Diff can't run for private wikis) 100% Confident Investigating
Wikitech DiscussionTools 98.55% pixel perfect; 99.87% px perfect and minor vertical whitespace shifts; 0.096% contains known differences we won't fix; 0.032% contain real diffs to be fixed before roll-out Extensions critical for Wikitech DiscussionTools are presumed to be identified in the visual diff process Extremely Confident Report To deploy
English Wikivoyage Confident Investigating
Hebrew Wikivoyage Somewhat confident Not ready

Open questions[edit]

  • Decide how many features we need to turn on to avoid community discontent
  • This is not about having 100% of wikitext features done, but does coverage matters?
  • What will be the target metrics to get parsoid read views on testwiki?
  • What is the amount of wikitext that users focus on DiscussionTools?