fluid-core/schemas/pressure.schema.json
tegwick fbbf56df7a Add FLUID wire contract schemas
Nine JSON Schemas covering the five record types from the schema spec,
plus backend requirements, feedback, the revision descriptor, routing
policy and the telemetry envelope. These are the integration boundary:
readable without any fluid-core code, so adapters may be written in any
language.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014KmVxhJ35tCo7rE7UnLwWu

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 1116572@bnt-lap001
Assistant-Session: 8ba9bb93-a72a-4883-b189-2499cce5c400
2026-09-04 01:55:47 +02:00

53 lines
2.3 KiB
JSON

{
"$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
}