---
name: carbon-feedback
description: Create a private, scoped feedback loop for a URL, image, document, API, code surface, or other artifact. Record feedback locally in a modern CARBON workspace or explicitly invite a named reviewer through the separately deployable private Feedback Service.
user-invocable: false
---

# CARBON Feedback

Before inspection or tool calls, read [the CARBON command start preview](../../runtime/carbon/references/command-start-preview.md). Explain the high-level plan in chat, then open the live command-progress page.

CARBON Feedback is a human-feedback loop, not public cloud review. Its default
mode is entirely project-local. It creates a durable request in
`<project>/.carbon/feedback/requests.json`, opens a protected workspace beside
chat, and generates a branded report. Feedback is qualitative context: it can
change testing priorities, customer-value oracles, persona charters, and
release interpretation, but it never converts unobserved behavior into a pass.

## Create a scoped request

1. Inspect the named artifact and current project context. Identify the smallest
   decision-relevant focus: what should be evaluated, by whom, and what would
   make the feedback useful.
2. Call `carbon_feedback_context` with `action=create`, `root`, and `focus`.
   Include `title`, `artifact`, `artifactKind`, and concise non-secret `context`
   whenever available. Accept URLs, images, documents, APIs, code references,
   or other artifacts; do not put credentials, cookies, raw agent sessions, or
   sensitive query parameters into the request.
3. The resulting **CARBON Feedback workspace** opens beside chat by default.
   The local developer can select a rating, category, response, and context
   note. The workspace is the preferred response surface; `respond` and
   `comment` tool actions remain available for an agent to persist an explicit
   human answer.
4. Publish the required single-file command report. It must show request focus,
   response count, local/private delivery state, evidence boundary, and the
   next CARBON action.

## Invite an external reviewer only through private infrastructure

CARBON never falls back to a public CARBON, testers.ai, or provider cloud for
feedback. To invite someone external, the owner must deploy the bundled
`feedback-service/` to their own private environment and configure its API key
and optional email adapter.

After the owner has reviewed the exact target, selected context, recipient, and
private service endpoint, call `carbon_feedback_context action=create` with:

- `recipientEmail` and optional `recipientName`;
- `privateServiceUrl`, pointing at their self-hosted service;
- `privateServiceKey`, supplied for this dispatch only and never stored locally;
- `privateServiceConfirmed=true`.

The service queues the review and, when configured, sends a rich HTML email
invitation with a capability link to the private feedback web page. Do **not**
claim that an HTML form embedded inside email will reliably work: modern email
clients strip forms and scripts. The recipient completes the rich responsive
form on the protected private web page instead.

Never auto-invite, auto-send, expose a local file, tunnel a sensitive target,
or disclose a secret. If the required private service is absent, keep the
request local and say exactly what remains to be configured.

## Bring feedback back to CARBON

Use `carbon_feedback_context action=sync` with the same explicitly confirmed
private-service URL, one-time key, and request ID to retrieve only the scoped
responses from an external reviewer. Use `action=status` to inspect local
responses. Summarize only actual responses, not invitations as completed
feedback. Then use the returned human context to direct `/carbon-human`, `/carbon-test`,
`/carbon-confidence`, or a focused domain command. Keep these statements
separate:

- observed product/test evidence;
- explicit reviewer feedback;
- inferred implications and remaining questions.

Before final chat output, follow [command result reporting](../../runtime/carbon/references/command-result-reporting.md). Present the workspace link first, then the durable **Open the CARBON report** link.
