| { |
| "$schema": "http://json-schema.org/draft-07/schema#", |
| "title": "VersionedCausalClaim", |
| "type": "object", |
| "properties": { |
| "id": { "type": "string", "format": "uuid" }, |
| "cause": { "type": "string" }, |
| "effect": { "type": "string" }, |
| "scope": { |
| "type": "object", |
| "properties": { |
| "market_phase": { "type": "string" }, |
| "context_constraints": { "type": "object" } |
| }, |
| "required": ["market_phase"] |
| }, |
| "time_window": { |
| "type": "object", |
| "properties": { |
| "valid_from": { "type": "string", "format": "date-time" }, |
| "valid_to": { "type": "string", "format": "date-time" }, |
| "lag_order": { "type": "integer", "minimum": 0 } |
| }, |
| "required": ["valid_from", "valid_to"] |
| }, |
| "effect_spec": { |
| "type": "object", |
| "properties": { |
| "estimand": { "type": "string", "enum": ["CATE", "ATT", "ATE"] }, |
| "estimate": { "type": "array", "items": { "type": "number" } }, |
| "uncertainty": { "type": "number", "minimum": 0 } |
| }, |
| "required": ["estimand", "estimate", "uncertainty"] |
| }, |
| "claim_confidence": { |
| "type": ["number", "null"], |
| "minimum": 0, |
| "maximum": 1, |
| "description": "Null while CANDIDATE; assigned numerically only by the epistemic validation plane" |
| }, |
| "provenance": { "type": "string" }, |
| "version": { "type": "integer", "minimum": 1 }, |
| "status": { |
| "type": "string", |
| "enum": [ |
| "CANDIDATE", |
| "VALIDATED", |
| "REJECTED", |
| "QUARANTINED", |
| "EXPIRED", |
| "SUPERSEDED", |
| "REVOKED", |
| "REVALIDATION_REQUIRED" |
| ] |
| } |
| }, |
| "required": [ |
| "id", |
| "cause", |
| "effect", |
| "scope", |
| "time_window", |
| "effect_spec", |
| "claim_confidence", |
| "provenance", |
| "version", |
| "status" |
| ], |
| "allOf": [ |
| { |
| "if": { "properties": { "status": { "const": "CANDIDATE" } } }, |
| "then": { "properties": { "claim_confidence": { "const": null } } } |
| }, |
| { |
| "if": { "properties": { "status": { "const": "VALIDATED" } } }, |
| "then": { "properties": { "claim_confidence": { "type": "number" } } } |
| } |
| ] |
| } |
|
|