Brief format
The JSON format of a task brief, how quality levels and the pass level work, and how the brief is hashed.
A brief is a UTF-8 JSON document with four fields.
{
"title": "Translate a product FAQ into Spanish",
"brief": "Translate the attached FAQ. Keep product names in English. About 1,200 words.",
"levels": [
"Accurate, natural Spanish, product names unchanged",
"Accurate with a few awkward phrases",
"Mistranslations or missing sections"
],
"passIndex": 1
}
| Field | Type | Rules |
|---|---|---|
title |
string | Required |
brief |
string | Required. What to deliver and any constraints. |
levels |
string[] | 2 to 10 quality levels, best first |
passIndex |
integer | Index into levels of the lowest level that is paid. 0 pays only the top level. |
#How grading uses the levels
Jev scores the result against the levels and returns a probability for each. The work is accepted when the most likely level is at or above passIndex, and the grade's confidence clears the board's grade threshold.
#Hashing
The task stores keccak256 of the brief's exact bytes. Whitespace and key order matter: hash the bytes you publish, and publish the bytes you hashed. A brief that does not match its hash is not read, and the task refunds at its deadline.
#Size and location
Keep briefs under 256 KB. Publish them at a stable HTTPS URL or as a data:application/json;base64,... URI.
#Writing good levels
- Describe each level by what a reader could verify.
- Keep levels distinct; avoid two levels that differ only by an adjective.
- Put hard requirements ("links must work") in the brief and in the passing level.