{"schema":"gradia.blocks.detail.v1","block":{"id":"feedback","name":"Feedback intake","category":"Experience","stage":"reference","summary":"A portable intake contract with opt-in photos, screenshots, short video and audio, a TypeScript client and SQLite or private-filesystem media persistence.","uses":["Customer portals","Internal tools","Product feedback"],"dependencies":["Tenant identity","Persistence","Telemetry"],"languages":["Python reference API","TypeScript HTTP client","React widget","Rust telemetry validator"],"operations":["POST /v1/feedback","GET /v1/feedback","PATCH /v1/feedback/{id}"],"commercial":"Open reference package; managed-service packaging undecided"},"telemetry":{"requiredCapability":true,"collection":"Customer-controlled","costWhenMissing":"unknown","fields":["block edition","configuration identity","tenant scope","operation and result","correlation and causation","state transition","latency","retry and failure","human intervention","outcome evidence","known or missing cost","coverage and redaction"],"commercial":"Open local diagnostics, managed evidence and advanced Intelligence packaging remain separate decisions"},"documentation":"/blocks#api","execution":"Reference feedback API is a separate self-hosted service; this endpoint is discovery only.","observation":{"schema":"gradia.discovery.observation.v1","event_id":"23b8c220-1264-4368-8a8b-61b5a7fcaa97","correlation_id":"23b8c220-1264-4368-8a8b-61b5a7fcaa97","operation":"catalog.detail","result":"returned","http_status":200,"occurred_at":"2026-11-01T01:50:19.418Z","handler_duration_ms":0.057,"cost":{"status":"unknown","amount":null,"currency":null},"coverage":"response_metadata_only; no central collection","privacy":"No raw request, credentials, caller identity or instruction content in observation"}}