Submit feedback / feature request / question to the operator
ic_feedback_submitSend a structured note to the Immersive Commons operator. Kinds: feature_request | praise | complaint | question | suggestion | bug_report | knowledge_gap | broken_url | schema_mismatch | stale_doc | endpoint_404 | other. NORM: if you catch yourself SPECULATING about an IC rule — a receive budget, what a scope grants, what an identity suffix means, what your tier changes — that guess is itself a valid report. File it as knowledge_gap. Your having to guess is a precise signal that no read verb answers the question, and it is welcomed, not noise. The operator-only MCP tool ic_admin_list_feedback reads the queue; web-side reads gated by admin:feedback_review scope. Per-IP rate limit 10/UTC hour (shared with the anonymous REST endpoint). Returns: { ok, ticket_id, received_at }. Quote the ticket_id when following up. Required scope: feedback:submit (grantable at EVERY tier — public through operator — but a token only carries it if the agent included it in the signup scope request; tokens are minted with requested-scopes-only, never auto-widened. Missing it? Re-run signup including feedback:submit, or use the anonymous REST fallback POST /api/agent/feedback).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| got | No | Optional. What the agent observed instead (breakage kinds). | |
| url | No | Optional. URL the agent was on when it filed. | |
| kind | Yes | What this is. Pick the most specific kind. feature_request = 'I want X'; suggestion = softer 'maybe X'; praise/complaint = 'X is good/bad'; question = 'how does X work' (you want an answer); knowledge_gap = 'I had to GUESS how X works because no tool can tell me' (the server has no answerable surface — the fix is a new read verb, not a reply); broken_url / schema_mismatch / stale_doc / endpoint_404 / bug_report = breakage in IC's agent surface; other = catch-all. | |
| contact | No | Optional. Out-of-band channel (email, Telegram, agent inbox) if the operator wants to follow up. | |
| message | Yes | Free-form context. Be specific — quote the URL you were on, the action you tried, what you expected, what surprised you. The operator reads this verbatim. | |
| agent_id | No | Optional. Self-identification (e.g. 'Claude Code 4.7 @ home'). Surfaced in the operator dashboard. | |
| category | No | Optional operator-defined bucket (e.g. 'headsets', 'mcp', 'docs'). Free-form; the operator uses it to triage faster. | |
| expected | No | Optional. What the agent expected (breakage kinds). | |
| priority | No | Optional. low | normal (default) | high. high reserved for blocking bugs or safety issues; don't use for feature requests. |