pr-shepherd 0.49.0 → 0.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +13 -6
  3. package/bin/cli/help-command-pages.d.mts +8 -8
  4. package/bin/cli/help-command-pages.mjs +8 -8
  5. package/bin/cli/help.d.mts +8 -8
  6. package/bin/cli/iterate-instructions.mjs +9 -2
  7. package/bin/cli/iterate-lean.mjs +11 -0
  8. package/bin/cli/poll-summary-emitter.mjs +15 -0
  9. package/bin/cli/poll-summary-formatter.mjs +10 -24
  10. package/bin/cli-parser.mjs +3 -0
  11. package/bin/commands/iterate/check-instructions.d.mts +2 -8
  12. package/bin/commands/iterate/check-instructions.mjs +2 -11
  13. package/bin/commands/iterate/escalate.mjs +30 -2
  14. package/bin/commands/iterate/fix-code.mjs +62 -20
  15. package/bin/commands/iterate/render.mjs +1 -1
  16. package/bin/commands/iterate/stall.mjs +30 -0
  17. package/bin/commands/iterate/thread-mutation-routing.d.mts +0 -2
  18. package/bin/commands/iterate/thread-mutation-routing.mjs +1 -2
  19. package/bin/commands/poll-quota.d.mts +2 -1
  20. package/bin/commands/poll-quota.mjs +12 -0
  21. package/bin/commands/poll-summary-explicit-instructions.d.mts +2 -0
  22. package/bin/commands/poll-summary-explicit-instructions.mjs +22 -0
  23. package/bin/commands/poll-summary-instructions.d.mts +3 -0
  24. package/bin/commands/poll-summary-instructions.mjs +139 -0
  25. package/bin/commands/poll-summary-signature.d.mts +2 -0
  26. package/bin/commands/poll-summary-signature.mjs +16 -0
  27. package/bin/commands/poll-summary.mjs +25 -39
  28. package/bin/commands/resolve-mutate.mjs +22 -68
  29. package/bin/comments/resolve.d.mts +5 -0
  30. package/bin/comments/resolve.mjs +2 -11
  31. package/bin/github/gql/poll-summary-fragment.gql +1 -0
  32. package/bin/github/poll-summary-projector.mjs +2 -1
  33. package/bin/github/poll-summary-raw.d.mts +1 -0
  34. package/bin/github/poll-summary-route.mjs +4 -1
  35. package/bin/github/poll-summary.d.mts +2 -1
  36. package/bin/github/poll-summary.mjs +19 -0
  37. package/bin/state/fix-attempts.d.mts +3 -4
  38. package/bin/state/fix-attempts.mjs +2 -3
  39. package/bin/types/escalate.d.mts +10 -0
  40. package/bin/types/poll-summary.d.mts +14 -0
  41. package/package.json +1 -1
  42. package/plugins/pr-shepherd/.codex-plugin/plugin.json +1 -1
  43. package/plugins/pr-shepherd/.codex.mcp.json +1 -1
  44. package/plugins/pr-shepherd/.mcp.json +1 -1
  45. package/plugins/pr-shepherd/skills/pr-shepherd/SKILL.md +6 -11
  46. package/plugins/pr-shepherd/skills/reduce-pr-noise/SKILL.md +17 -0
  47. package/plugins/pr-shepherd/skills/reduce-pr-noise/references/classifiers.md +24 -0
  48. package/plugins/pr-shepherd/skills/reduce-pr-noise/references/settings.md +27 -0
@@ -0,0 +1,27 @@
1
+ # Noise settings
2
+
3
+ Inspect the unwanted Shepherd output, any active `.pr-shepherdrc.yml` files, and the built-in defaults before editing. Shepherd deep-merges files from the user's home directory through the working directory: closer scalar values win, nested maps merge, and closer arrays replace farther arrays. Put shared policy in the project file and personal preferences in the home file. Preserve unrelated values and existing list entries when changing an array.
4
+
5
+ Choose the narrowest control for the observed source:
6
+
7
+ | Source | Setting | Effect |
8
+ | ----------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
9
+ | Repeated unchanged `WAIT` status | `poll.quietStatus: true` or one-run `--quiet-status` | Hides unchanged polling snapshots; it does not affect single-tick `iterate` or MCP calls. |
10
+ | Repetitive CI log lines | `checks.ignoreLogLines` | Drops matching raw log lines from failure excerpts and annotation deduplication input. Patterns are regex source strings. |
11
+ | An irrelevant check context | `ignoreChecks` | Removes detailed check status and readiness, triage, and stall effects; names remain in the `**ignored**` rollup. Patterns are case-insensitive globs; `actions.neverCancelRuns` can keep matching Actions runs visible. |
12
+ | Non-human PR comments or review summaries | `iterate.minimizeComments: all`, `bots`, or `none` | Controls eligible minimization; `all` is already the default. Excluded items still appear on first look and after edits. |
13
+ | Non-human approval reviews | `iterate.minimizeApprovals: true` | Also makes eligible approvals minimizable; the default is `false`. |
14
+
15
+ For example, a project that wants quieter polling and to remove a known teardown line from CI excerpts can use:
16
+
17
+ ```yaml
18
+ poll:
19
+ quietStatus: true
20
+ checks:
21
+ ignoreLogLines:
22
+ - "^\\[vitest-teardown\\]"
23
+ ```
24
+
25
+ Do not use `ignoreChecks` merely to hide a failing or required check: the check no longer contributes to Shepherd's readiness decision. `botUsernames` extends bot detection and handling, but configured-bot threads remain visible every tick until resolved, so it is not a general suppression setting. For a specific bot message, use the classifier guide instead. `actions.autoMinimizeSuppressed` only changes the treatment of classifier matches that set both `suppress` and `autoResolve` and is already `true` by default.
26
+
27
+ After editing, validate the YAML and regex syntax, check that the intended config file wins in the cascade, and compare representative output with the expected effect. If a live PR is used to verify behavior, account for any review mutation the configured action may authorize.