Skip to content

feat(cli): add feedback send and feedback consent commands - #162

Draft
manvesh wants to merge 3 commits into
mainfrom
manvesh/feedback-command
Draft

manvesh wants to merge 3 commits into
mainfrom
manvesh/feedback-command

Conversation

@manvesh

@manvesh manvesh commented Oct 22, 2026

Copy link
Copy Markdown

Draft. Blocked on the server: /v1beta/feedback is not deployed yet (shapleyai/code, DEV-194). It ships behind the agent_feedback_enabled flag, so these commands return 403 until an org is enabled.

Problem

When an agent using parallel-cli hits a significant problem with Parallel (wrong results for specific runs, a server error, data Parallel missed), it has no way to report it. The plugin's bundled MCP is anonymous, so skill users reach feedback through the CLI (DEV-194).

Solution

  • parallel-cli feedback send posts to POST /v1beta/feedback with user_consent=not_asked. The API returns a preview of exactly what Parallel would receive and sends nothing.
    • Interactive: the CLI shows the preview and asks: send, send and don't ask again, or no. On yes it resends with the preview's preview_id, so the server refuses a report that changed after the user approved it.
    • --json never prompts. An agent shows the preview to the user, then reruns with --consent this_report|always --preview-id <id>.
    • --example ID[:note] attaches request IDs (search_…, trun_…, …). IDs never contain :, so the note can.
    • A stored "always" sends on the first call.
  • parallel-cli feedback consent [ask|always] shows or sets "don't ask again" via GET/PUT /v1beta/feedback/consent. The server stores it only for personal credentials, which is what parallel-cli login issues.
  • Calls go through the SDK's raw client.post/get/put, like /v1beta/tasks/suggest in the planner, until the SDK is regenerated. Inputs are validated locally to match the server's limits.
  • The server labels these reports cli from the existing parallel-web-tools/… (cli) User-Agent.

Out of scope: the parallel-feedback agent skill (agent skills repo).

Testing

  • tests/test_feedback.py: local validation, request payloads, the interactive approve/decline flow, the agent --json → --consent --preview-id flow, stored "always", and consent get/set. The API client is mocked.
  • uv run ruff check, ruff format, tach check, ty check, and the full suite (867 passed) are green locally.
  • ⚠️ Not run against a real API: the endpoint isn't deployed yet.
  • ⚠️ Standalone (PyInstaller) binary not built.

🤖 Generated with Claude Code

https://claude.ai/code/session_0157KeK2RbX5ARs3g1ZcvmGt

manvesh-parallelai and others added 3 commits October 22, 2026 12:56
parallel-cli feedback send previews a report via POST /v1beta/feedback,
asks the user, and sends it with the approved preview_id. --json never
prompts, so agents show the preview and rerun with --consent and
--preview-id. feedback consent shows or sets "don't ask again".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0157KeK2RbX5ARs3g1ZcvmGt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0157KeK2RbX5ARs3g1ZcvmGt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0157KeK2RbX5ARs3g1ZcvmGt

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants