FILE · 4.9 KB
test/fixtures/lp-result.schema.json
Workspace snapshot · 08/31 23:51
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"additionalProperties": false,
"required": ["headlines", "sections", "qualityGate"],
"properties": {
"headlines": { "type": "array", "minItems": 3, "maxItems": 3, "items": { "type": "object", "additionalProperties": false, "required": ["id", "axis", "copy", "reason"], "properties": { "id": {"type":"string"}, "axis": {"type":"string"}, "copy": {"type":"string"}, "reason": {"type":"string"} } } },
"sections": { "type": "array", "minItems": 12, "maxItems": 22, "items": { "$ref": "#/$defs/section" } },
"qualityGate": {
"type": "object",
"additionalProperties": false,
"required": ["applied", "skipped", "known", "hypotheses", "unconfirmed"],
"properties": {
"applied": { "type": "array", "items": { "type": "string" } },
"skipped": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["item", "reason"],
"properties": {
"item": { "type": "string" },
"reason": { "type": "string" }
}
}
},
"known": { "type": "array", "items": { "type": "string" } },
"hypotheses": { "type": "array", "items": { "type": "string" } },
"unconfirmed": { "type": "array", "items": { "type": "string" } }
}
}
},
"$defs": {
"item": { "type":"object", "additionalProperties":false, "required":["eyebrow","title","description","proof"], "properties":{"eyebrow":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"proof":{"type":"string"}} },
"metric": { "type":"object", "additionalProperties":false, "required":["value","label","source"], "properties":{"value":{"type":"string"},"label":{"type":"string"},"source":{"type":"string"}} },
"section": { "type":"object", "additionalProperties":false, "required":["id","type","layoutVariant","label","role","userQuestion","title","body","proof","content","contentModel","asset","implementation","cta","layout","imageBrief"], "properties": {
"id":{"type":"string"},"type":{"type":"string"},"layoutVariant":{"type":"string"},"label":{"type":"string"},"role":{"type":"string"},"userQuestion":{"type":"string"},"title":{"type":"string"},"body":{"type":"string"},"proof":{"type":"string"},"content":{"type":"string"},"asset":{"type":"string"},"implementation":{"type":"string"},"cta":{"type":"string"},"layout":{"type":"string"},
"imageBrief":{"anyOf":[{"type":"null"},{"type":"object","additionalProperties":{"type":"string"}}]},
"contentModel":{"type":"object","additionalProperties":false,"required":["items","steps","metrics","faqs","plans","comparison","beforeAfter","caseStudy","quote","quoteAttribution","sourceNote"],"properties":{
"items":{"type":"array","items":{"$ref":"#/$defs/item"}},"steps":{"type":"array","items":{"$ref":"#/$defs/item"}},"metrics":{"type":"array","items":{"$ref":"#/$defs/metric"}},
"faqs":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["question","answer"],"properties":{"question":{"type":"string"},"answer":{"type":"string"}}}},
"plans":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["name","price","period","description","features","note","cta"],"properties":{"name":{"type":"string"},"price":{"type":"string"},"period":{"type":"string"},"description":{"type":"string"},"features":{"type":"array","items":{"type":"string"}},"note":{"type":"string"},"cta":{"type":"string"}}}},
"comparison":{"anyOf":[{"type":"null"},{"type":"object","additionalProperties":false,"required":["columns","rows"],"properties":{"columns":{"type":"array","items":{"type":"string"}},"rows":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["label","cells"],"properties":{"label":{"type":"string"},"cells":{"type":"array","items":{"type":"string"}}}}}}}]},
"beforeAfter":{"anyOf":[{"type":"null"},{"type":"object","additionalProperties":false,"required":["before","after"],"properties":{"before":{"$ref":"#/$defs/item"},"after":{"$ref":"#/$defs/item"}}}]},
"caseStudy": {
"anyOf": [
{ "type": "null" },
{
"type": "object",
"additionalProperties": false,
"required": ["subject", "issue", "action", "result", "source", "metrics"],
"properties": {
"subject": { "type": "string" },
"issue": { "type": "string" },
"action": { "type": "string" },
"result": { "type": "string" },
"source": { "type": "string" },
"metrics": { "type": "array", "items": { "$ref": "#/$defs/metric" } }
}
}
]
},
"quote":{"type":"string"},"quoteAttribution":{"type":"string"},"sourceNote":{"type":"string"}
}}
} }
}
}