JADE/Integration

This page describes what data can be included in JADE content. It's intended for developers and integrators. It is provided by a pre-release extension, only available on the Beta Cluster until further notice.

Judgments and endorsements
We currently support judgments about three types of wiki entities.


 * Diff - Any edit to a page, for example https://en.wikipedia.org/?diff=12345678
 * Revision - Snapshot of a page's content, for example https://en.wikipedia.org/w/index.php?title=Sinharaja_Forest_Reserve&oldid=12345678
 * Page - Attributes of a page which won't change as the page evolves. For example, categories or WikiProjects it might be associated with, or whether the subject is notable.

Each judgment may include several endorsements, by which editors can show their support. To challenge a judgment, create and endorse an alternative judgment. As you might have guessed, we've built-in assumptions loosely supporting Wikipedia's Bold-Revert-Discuss and !vote standards for building consensus.

We encourage users to offer justifications for their judgments, in the edit comment where they create the judgment.

Wiki, namespace, and title
Judgments are stored on the same wiki as the page being judged, in the  namespace. Permissions for this namespace should be the same as for regular content namespaces. There is also a  namespace for discussion about each JADE page.

The title must correspond to the entity being judged. For example, judgments about the edit https://en.wikipedia.org/?diff=12345678 must appear at https://en.wikipedia.org/wiki/Jade:Diff/12345678. Each type of wiki entity has its own page title structure:


 * Jade:Diff/12345678
 * Jade:Revision/12345678
 * Jade:Page/582115

Data structure
JADE pages contain a reference to the wiki entity being judged, then a list of judgments organized by schema. Judgment schemas currently follow the ORES model types, see our configuration for the defaults, under the  key.

One judgment per schema may be chosen as the  value, which represents the current consensus.

A list of endorsements may be included for each judgment.

The minimum valid  judgment page:

A more interesting example, with conflicting judgments (this is fine), some endorsements, and both  schemas represented.

Each wiki entity type supports different schemas, see how the  judgment only supports the   article quality schema.

Page judgments aren't specific to a revision, note that we have a  but no.

Validation
JADE pages are validated before they are saved to the database, and if the data format is incorrect the edit will be aborted. Internally, we specify most of our validation rules as a JSON schema, which you can read here. You can run your own validation locally using the JSON schema libraries available for many programming languages.

Judgment content must refer to a real revision or page.

An additional validation is done on the page title, which must match the entity being judged as described above.

Detailed validation errors are generated internally, but aren't made available to frustrated users—please follow progress in https://phabricator.wikimedia.org/T197653

Bots, abuse, notability
The JADE service can only handle a small volume of judgments at the moment, so we ask that discretion is used when writing any automation against it. There is storage available for judgments, but only for a human-scale magnitude of them. Please do not create judgments for any type of "autopatrolled" predictions.

We don't have notability requirements for JADE, enjoy!