fluid-core/schemas/pressure.schema.json

54 lines
2.3 KiB
JSON
Raw Normal View History

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://fluid.dev/schemas/pressure.schema.json",
"title": "FLUID pressure record",
"description": "Evidence that the interface differs materially from consumer needs. Pressure is evidence, not truth (FluidAPIStandards.md section 13).",
"type": "object",
"properties": {
"fluid_pressure": {
"type": "object",
"properties": {
"schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" },
"id": { "$ref": "common.schema.json#/$defs/pressureId" },
"interface_id": { "$ref": "common.schema.json#/$defs/interfaceId" },
"class": { "$ref": "common.schema.json#/$defs/pressureClass" },
"first_seen": { "$ref": "common.schema.json#/$defs/timestamp" },
"last_seen": { "$ref": "common.schema.json#/$defs/timestamp" },
"affected_cohorts": {
"type": "array",
"items": { "$ref": "common.schema.json#/$defs/cohortId" }
},
"frequency": {
"type": "object",
"properties": {
"observations": { "type": "integer", "minimum": 0 },
"independent_consumers": { "type": "integer", "minimum": 0 }
},
"additionalProperties": false
},
"severity": { "$ref": "common.schema.json#/$defs/unitInterval" },
"confidence": { "$ref": "common.schema.json#/$defs/unitInterval" },
"summary": { "type": "string", "minLength": 1 },
"evidence_refs": {
"type": "array",
"items": { "$ref": "common.schema.json#/$defs/evidenceRef" },
"minItems": 1,
"description": "A pressure record without evidence references is not auditable and must be rejected."
},
"status": {
"enum": ["OPEN", "ANALYZING", "EXPLAINED", "ADDRESSED", "DISMISSED", "OUT_OF_SCOPE"],
"description": "ArchitectureBlueprint.md section 9. Pressure may remain unresolved on purpose."
},
"linked_hypotheses": {
"type": "array",
"items": { "$ref": "common.schema.json#/$defs/hypothesisId" }
}
},
"required": ["schema_version", "id", "interface_id", "class", "first_seen", "last_seen", "summary", "evidence_refs", "status"],
"additionalProperties": false
}
},
"required": ["fluid_pressure"],
"additionalProperties": false
}