54 lines
2.5 KiB
JSON
54 lines
2.5 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"type": "object",
|
|
"required": ["experiment-id", "subject", "arm-id", "model-id", "request-sha256", "first-result-only", "revision-count-at-capture", "output-ref", "output-sha256", "screenshots", "evaluator-blinded", "metrics"],
|
|
"properties": {
|
|
"experiment-id": {"type": "string", "minLength": 1},
|
|
"subject": {"type": "string", "minLength": 1},
|
|
"arm-id": {"enum": ["A", "B"]},
|
|
"model-id": {"type": "string", "minLength": 1},
|
|
"request-sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
|
"first-result-only": {"const": true},
|
|
"revision-count-at-capture": {"const": 0},
|
|
"output-ref": {"type": "string", "minLength": 1},
|
|
"output-sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
|
"screenshots": {
|
|
"type": "object",
|
|
"required": ["desktop", "mobile"],
|
|
"properties": {
|
|
"desktop": {"$ref": "#/definitions/fileEvidence"},
|
|
"mobile": {"$ref": "#/definitions/fileEvidence"}
|
|
}
|
|
},
|
|
"evaluator-blinded": {"const": true},
|
|
"metrics": {
|
|
"type": "object",
|
|
"required": ["product-purpose-understood-in-5s", "primary-action-found", "information-hierarchy", "category-quality-parity", "visual-craft", "mobile-clarity", "design-system-consistency", "human-preference", "revision-count-to-acceptance", "tokens-to-acceptance"],
|
|
"properties": {
|
|
"product-purpose-understood-in-5s": {"type": "integer", "minimum": 1, "maximum": 5},
|
|
"primary-action-found": {"type": "integer", "minimum": 1, "maximum": 5},
|
|
"information-hierarchy": {"type": "integer", "minimum": 1, "maximum": 5},
|
|
"category-quality-parity": {"type": "integer", "minimum": 1, "maximum": 5},
|
|
"visual-craft": {"type": "integer", "minimum": 1, "maximum": 5},
|
|
"mobile-clarity": {"type": "integer", "minimum": 1, "maximum": 5},
|
|
"design-system-consistency": {"type": "integer", "minimum": 1, "maximum": 5},
|
|
"human-preference": {"type": "integer", "minimum": 1, "maximum": 5},
|
|
"revision-count-to-acceptance": {"type": "integer", "minimum": 0},
|
|
"tokens-to-acceptance": {"type": "integer", "minimum": 0}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"definitions": {
|
|
"fileEvidence": {
|
|
"type": "object",
|
|
"required": ["path", "sha256"],
|
|
"properties": {
|
|
"path": {"type": "string", "minLength": 1},
|
|
"sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|