Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tracking
volcano-feedbackskill that tells agents when and how to run this)Why
Summary
volcano feedbackwith--category(cli_bug,docs_mismatch,missing_capability,platform_error,confusing_ux,instruction_conflict),--summary,--details, repeatable--command,--expected,--actual,--workaround, and--dry-run; required fields and length limits are checked on the text as written, so an agent can shorten and rerun--input: the report as one JSON object with keyscategory,summary,details,commands,expected,actual,workaround, given inline (a value starting with{), as a file path, or as-for stdin; unknown keys and trailing data are errors, and--inputcannot be combined with the field flags; validation messages name the field without a--prefix so they read right in both modesinternal/feedback: thePOST /cli/feedbackwire contract (Report), validation, and a synchronous send with a 10s timeout and the saved login token when present; the CLI generatesfeedback_id, so it prints the ID without reading the responsetelemetry.Recorder.Client(); the server joins a report to the same device's usage events around its timestamp to find the failing command, so the CLI keeps no run historyFeedback not sentand exits 0 so an agent does not retryfeedbackcmd.SetRecorder, so the process still reads the telemetry setting oncetelemetry.ScrubText: the error-message scrubbing (home dir to~, ANSI and control characters removed, Unicode spaces normalized, secrets redacted) applied per line, keeping line breaks; every text field goes through itconfig.Load), never a local-mode servervolcano telemetry --help, anddocs/telemetry.md, since turning telemetry off also turns feedback offdocs/feedback.mdand link it fromdocs/README.mdPOST /cli/feedbackendpoint in volcano-hosting, not built yet; until it ships the send returns HTTP 404, the command exits 1, and the skill tells agents to retry once and drop itPOST /cli/feedbackendpoint in volcano-hosting, then feat(feedback): add volcano feedback command for agent-reported issues #319 in a release, then feat(feedback): add volcano-feedback skill for reporting Volcano problems volcano-skills#63; the skills sync to the plugin as soon as they merge, so merging chore(main): release 0.1.2 #63 before the endpoint is live would send agents into a 404 and a retry for every noteVerification
make lintgo test ./...HOMEagainst a local sink: the first run printed the telemetry notice andFeedback not sent(exit 0) and posted nothing; the next run posted one report to/cli/feedbackwith the device ID matching the telemetry event, the home dir replaced with~, andtoken=abc123redacted;--dry-runprinted the report and posted nothing; aftervolcano telemetry disableit printedFeedback not sent(exit 0); a bad category and missing--detailsexited 1 with both errors--input -and a heredoc JSON report against the local sink: it posted the report with line breaks kept andtoken=abcredacted;--input -with--summaryexited 1--inputgiven inline, as a file, and on stdin with--dry-run: each printed the report; the file form kept a single quote in the error text