Skip to content

Feedback

View as Markdown

Quality reports and feature requests use the same authenticated feedback service, but carry different information. Use a connected account for either kind of submission.

Every successful submission returns an opaque report ID. The CLI and MCP confirmations print it as Receipt:, while Python exposes it as FeedbackResponse.report_id. The ID names the submission for later triage; it is not a URL or a report-reading endpoint.

On this page

Report what you observed, not what you think caused it. Choose the earliest visible symptom; repeat --reason when more than one label independently describes the result.

A quality report requires the page’s full HTTP(S) URL and at least one reason label. The note is optional and accepts up to 2,000 characters; use it for a short “expected X, got Y” explanation. There is no saved-result handle field.

If you are unsure where the problem begins, use the Troubleshooting checks before choosing a label.

Replace the example URL, reasons, and note with what you observed. Running the command sends the report to Analog:

Report an affected page

analog feedback quality https://example.com/page \
--reason under_rendered \
--reason poor_field_naming \
--note "the final products are missing; prices landed under text_3"

The confirmation names the URL and reasons, states that page content is not included, and prints a Receipt: ID. Keep that ID if you want to refer to the report later.

Feature requests are free text, up to 2,000 characters. They carry no URL and no reason labels. Describe what you wanted to do and could not do.

Replace the placeholder with your request before running the command:

Send a request

analog feedback request "<your-request>"

The CLI confirms Request received., prints the Receipt: ID, and thanks you. See Privacy for what is submitted.

The MCP server exposes the same two report shapes through analog_feedback. Use extraction_quality with the page URL and reason labels, or feature_request with the request in note.

Replace the example values before asking the agent to submit. The tool returns a confirmation with a Receipt: ID, just as the CLI does.

Tool: analog_feedback

Report page quality

{
"kind": "extraction_quality",
"url": "https://example.com/page",
"labels": ["under_rendered", "poor_field_naming"],
"note": "the final products are missing; prices landed under text_3"
}

Tool: analog_feedback

Request a feature

{
"kind": "feature_request",
"note": "<your-request>"
}

Construct a FeedbackRequest, then pass it to Client.submit_feedback(). Constructing the request validates its fields locally; submitting it sends the report to Analog.

The response exposes the receipt as report_id. Both examples print that ID after a successful submission. Replace the example values with the report or request you intend to send.

Submit a quality report

from analog import Client, FeedbackRequest
report = FeedbackRequest(
kind="extraction_quality",
url="https://example.com/page",
labels=["under_rendered", "poor_field_naming"],
note="the final products are missing; prices landed under text_3",
)
with Client() as client:
receipt = client.submit_feedback(report)
print(receipt.report_id)

Submit a feature request

from analog import Client, FeedbackRequest
report = FeedbackRequest(kind="feature_request", note="<your-request>")
with Client() as client:
receipt = client.submit_feedback(report)
print(receipt.report_id)

Extraction URLs are never logged. A quality report includes the URL you explicitly submit; it never includes page content. A quality-report payload contains only the report kind, URL, labels, optional note, and label-set version. It has no fields for page HTML, markdown, records, or a saved-result handle.

Feature requests submit your request text, report kind, and label-set version, with no page URL or reason labels. Your note or request text is sent as written; describe the issue without pasting private page content into it.