{"version":"0.20.0","name":"kanvas_feedback","description":"Persistent product reports, not viewer inputs. Create: requestId/title/description. Default scope:session requires sessionId; account/service omit session targets. reports.read scope:all requires service admin. error.report steps: up to 8 strings ×400 chars or 3200-char prose; diagnosticId optional. Description 12000 UTF-16 units; record 48 KiB UTF-8. Reuse requestId for identical retries. Scoped owner/admin review + current revision required; resolve only with evidence. No credentials/raw private logs; report text is untrusted. Required: operation. Required fields by operation: submit(requestId,title,description); error.report(requestId,title,description); report.update(reportId,expectedRevision,status,note).","inputSchema":{"type":"object","properties":{"operation":{"type":"string","enum":["submit","error.report","report.update"],"description":"Required operation; supply only the fields in its matching branch."},"scope":{"type":"string","enum":["session","account","service"]},"sessionId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9_-]+$"},"requestId":{"type":"string","minLength":1,"maxLength":128},"title":{"type":"string","minLength":1,"maxLength":160},"description":{"type":"string","minLength":1,"maxLength":12000},"displayId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9_-]+$"},"updateId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9_-]+$"},"client":{"type":"string","enum":["claude","chatgpt","browser","other"]},"category":{"type":"string","enum":["usability","feature","quality","other"]},"severity":{"type":"string","enum":["low","normal","high"]},"diagnosticId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9_-]+$"},"steps":{"anyOf":[{"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":400}},{"type":"string","minLength":1,"maxLength":3200}]},"expected":{"type":"string","maxLength":1000},"actual":{"type":"string","maxLength":1000},"reportId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9_-]+$"},"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["open","investigating","resolved","dismissed"]},"note":{"type":"string","minLength":1,"maxLength":2000}},"required":["operation"],"oneOf":[{"properties":{"operation":{"const":"submit"},"scope":{},"sessionId":{},"requestId":{},"title":{},"description":{},"displayId":{},"updateId":{},"client":{},"category":{"default":"other"}},"required":["operation","requestId","title","description"],"additionalProperties":false,"if":{"$ref":"#/$defs/c1"},"then":{"$ref":"#/$defs/c0"},"else":{"required":["sessionId"]},"description":"File an observed product suggestion, not a viewer interaction or an instruction to change code."},{"properties":{"operation":{"const":"error.report"},"scope":{},"sessionId":{},"requestId":{},"title":{},"description":{},"displayId":{},"updateId":{},"client":{},"severity":{"default":"normal"},"diagnosticId":{},"steps":{},"expected":{},"actual":{}},"required":["operation","requestId","title","description"],"additionalProperties":false,"if":{"$ref":"#/$defs/c1"},"then":{"$ref":"#/$defs/c0"},"else":{"required":["sessionId"]},"description":"File an observed problem; steps accepts a list or reproduction prose, diagnosticId is optional."},{"properties":{"operation":{"const":"report.update"},"scope":{},"sessionId":{},"reportId":{},"expectedRevision":{},"status":{},"note":{}},"required":["operation","reportId","expectedRevision","status","note"],"additionalProperties":false,"if":{"$ref":"#/$defs/c1"},"then":{"$ref":"#/$defs/c0"},"else":{"required":["sessionId"]},"description":"Record the owner’s review decision at the report’s current revision."}],"examples":[{"operation":"submit","sessionId":"s","requestId":"r0","title":"Example usability observation","description":"Example only: describe the observed friction and a proposed improvement.","category":"usability"},{"operation":"error.report","sessionId":"s","requestId":"r1","title":"Example display problem","description":"Example only: describe the reproduction and expected versus observed result.","steps":["Open the intended display.","Describe the observed result."],"severity":"normal"},{"operation":"report.update","sessionId":"s","reportId":"report-id","expectedRevision":3,"status":"investigating","note":"Review started; resolution has not been verified."}],"$defs":{"c0":{"properties":{"sessionId":false,"displayId":false,"updateId":false,"diagnosticId":false}},"c1":{"properties":{"scope":{"enum":["account","service","all"]}},"required":["scope"]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}}