{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://fluid.dev/schemas/feedback.schema.json", "title": "FLUID explicit consumer feedback", "description": "Structured feedback from a consumer. Treated as evidence and never as authority to change anything (FluidAPIStandards.md section 15).", "type": "object", "properties": { "fluid_feedback": { "type": "object", "properties": { "schema_version": { "$ref": "common.schema.json#/$defs/schemaVersion" }, "id": { "$ref": "common.schema.json#/$defs/feedbackId" }, "interface_id": { "$ref": "common.schema.json#/$defs/interfaceId" }, "received_at": { "$ref": "common.schema.json#/$defs/timestamp" }, "cohort": { "$ref": "common.schema.json#/$defs/cohortId" }, "revision": { "$ref": "common.schema.json#/$defs/revisionId" }, "goal": { "type": "string" }, "attempt": { "type": "string" }, "attempted_operations": { "type": "array", "items": { "type": "string" } }, "outcome": { "type": "string" }, "missing_capability": { "type": "string" }, "workaround": { "type": ["string", "array"], "items": { "type": "string" } }, "impact": { "type": "object", "properties": { "description": { "type": "string" }, "calls": { "type": "integer", "minimum": 0 }, "latency_ms": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, "confidence": { "$ref": "common.schema.json#/$defs/unitInterval" } }, "required": ["schema_version", "id", "interface_id", "received_at", "goal"], "additionalProperties": false } }, "required": ["fluid_feedback"], "additionalProperties": false }