Report Command
GitHub issue submission flow for reusable Harness friction
punks report and hi report submit reusable Harness friction to the control-plane API. The API validates the report, checks open GitHub issues for duplicates, generates the final issue title/body, and creates the GitHub issue with server credentials.
Use reports for CLI bugs, stale generated guidance, wiki surface problems, skill-pack drift, setup pain, or shared workflow/tooling issues. Keep project product backlog items out of reports unless maintainers intentionally promote the issue.
Inputs
The command accepts raw report text through --message, with deprecated --title and --body only as optional hints. Rich classification fields make the server-generated issue easier to triage:
--type bug | docs | workflow | tooling | other--severity low | medium | high--area cli | wiki | skill | docs | workflow | backoffice | other--skill-pack <name>--command <command>--expected <text>--actual <text>--steps <text>--labels <comma-separated-labels>--json
Flow
- Build a safe report draft from raw text, classifiers, CLI version, and observed repository metadata.
- Submit the draft to
/api/reportsthrough the typed control-plane client. - Validate relevance and reject trolling, profanity, non-coding, or non-project reports.
- Generate deterministic public GitHub title/body, with AI SDK + OpenRouter metadata reserved for authenticated backoffice operator sessions.
- Check open
harness-reportissues for duplicates before creating a new issue. - Create the issue server-side with the API GitHub token, labels, and hidden
harness-report.v1metadata block. - Emit
cli.harness.report.submittedonly after the API accepts the report.
Backoffice Contract
GitHub is the report source of truth. The backoffice reports table fetches harness-report issues from GitHub and uses GitHub open/closed state for current status. The API also persists accepted reports for audit, operator context, and local smoke tests.
Example
hi report \
--message "Generated guidance created duplicate docs roots after initialization." \
--type docs \
--severity high \
--area wiki \
--skill-pack docs-ingest-phase \
--command "hi init" \
--expected "Generated guidance projects into the existing wiki route tree." \
--actual "Generated guidance created duplicate wiki/project docs." \
--steps "Run hi init -o apps/wiki and inspect generated docs roots."