Skip to content

Apply progressive disclosure to ready_for_review PR comment workflows#33836

Merged
pelikhan merged 2 commits into
mainfrom
copilot/review-agentic-workflows-progressive-disclosure
May 21, 2026
Merged

Apply progressive disclosure to ready_for_review PR comment workflows#33836
pelikhan merged 2 commits into
mainfrom
copilot/review-agentic-workflows-progressive-disclosure

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 21, 2026

PR comments from ready_for_review-triggered workflows (Test Quality Sentinel, Design Decision Gate, Matt Pocock Skills Reviewer, PR Code Quality Reviewer) dump large walls of text immediately visible on every PR. Restructure all four to use <details>/<summary> so only the actionable headline is visible by default.

Changes

test-quality-sentinel.md

  • Comment format: only score headline + one-sentence summary + verdict stay visible; metrics table, classification table, flagged tests, and language support each get their own <details> block
  • Drops the old "wrap tables with >10 rows" heuristic — all classification/flagged content collapses unconditionally

design-decision-gate.md

  • Blocking comment: headline + 🔒 notice visible; "What to do next", "Why ADRs Matter", and ADR format reference collapse
  • Verification comment: headline + one-line status visible; summary and divergences list collapse

mattpocock-skills-reviewer.md

  • Inline review comments: 1-sentence visible lead, code examples and analysis in <details><summary>💡 …</summary>
  • Overall review body: verdict + one-line summary visible, themes/highlights collapse

pr-code-quality-reviewer.md

  • Inline comments: 1-sentence impact statement visible, detailed fix suggestions in <details>
  • Formatting guidelines updated to mandate the pattern explicitly

Before / after (Test Quality Sentinel):

<!-- Before: entire table + per-test analysis + language support immediately visible -->
### Test Quality Score: 60/100
⚠️ Acceptable with suggestions
| Metric | Value |
| ... | ... |   ← immediately visible

<!-- After: only headline visible -->
⚠️ **Test Quality Score: 60/100 — Acceptable with suggestions**
> Analyzed 1 test(s): 1 design, 0 implementation, 0 violation(s).

<details>
<summary>📊 Metrics & Test Classification (1 tests analyzed)</summary>
...all tables here...
</details>

Copilot AI and others added 2 commits May 21, 2026 18:27
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…rkflows

- test-quality-sentinel: wrap metrics table, classification table, flagged
  tests, and language support in <details> elements; keep score headline,
  one-sentence summary, and verdict visible; update formatting guidelines
- design-decision-gate: wrap "What to do next", "Why ADRs Matter", and
  verification details in <details>; keep headline and blocking notice visible
- mattpocock-skills-reviewer: inline review comments now keep a brief visible
  sentence and collapse code examples/analysis into <details> blocks; overall
  review body uses progressive disclosure; Step 7 summary uses same pattern
- pr-code-quality-reviewer: inline comments lead with one-sentence impact
  statement; detailed fix suggestions collapse into <details>; formatting
  guidelines updated to mandate progressive disclosure pattern

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title Apply progressive disclosure to all ready_for_review agentic workflows Apply progressive disclosure to ready_for_review PR comment workflows May 21, 2026
Copilot AI requested a review from pelikhan May 21, 2026 18:33
@pelikhan pelikhan marked this pull request as ready for review May 21, 2026 18:35
Copilot AI review requested due to automatic review settings May 21, 2026 18:35
@pelikhan pelikhan merged commit d8d03d1 into main May 21, 2026
@pelikhan pelikhan deleted the copilot/review-agentic-workflows-progressive-disclosure branch May 21, 2026 18:35
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Restructures multiple ready_for_review-triggered workflow comment templates to use progressive disclosure (<details>/<summary>) so PRs show only short, actionable headlines by default, with verbose analysis collapsed.

Changes:

  • Updated Test Quality Sentinel / Design Decision Gate / Matt Pocock Skills Reviewer / PR Code Quality Reviewer comment formats to collapse long sections under <details>.
  • Adjusted formatting guidelines in the workflow templates to mandate progressive disclosure patterns.
  • Regenerated issue-monster.lock.yml, updating action sourcing/versioning and several workflow steps.
Show a summary per file
File Description
.github/workflows/test-quality-sentinel.md Collapses metrics/classification/flagged test details under <details> and updates formatting requirements.
.github/workflows/design-decision-gate.md Collapses “next steps”, ADR background, and verification details under <details> blocks.
.github/workflows/mattpocock-skills-reviewer.md Updates inline comment/review body examples to keep a brief lead visible and collapse details.
.github/workflows/pr-code-quality-reviewer.md Requires one-sentence visible lead in comments, with detailed suggestions in <details>.
.github/workflows/issue-monster.lock.yml Large regenerated lock workflow with updated setup mechanics, image versions, and metadata.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comments suppressed due to low confidence (6)

.github/workflows/issue-monster.lock.yml:775

  • actions/checkout is configured with repository: github/gh-aw but no ref, which will default to the repository’s default branch rather than the workflow’s commit/PR SHA. Because the next step runs a local action (./actions/setup), this can execute code from the wrong revision; set ref to the current commit (or remove repository: when checking out the current repo) so the local action matches the workflow revision.
      - name: Checkout actions folder
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          repository: github/gh-aw
          sparse-checkout: |
            actions
          persist-credentials: false
      - name: Setup Scripts

.github/workflows/issue-monster.lock.yml:1407

  • actions/checkout is configured with repository: github/gh-aw but no ref, which will default to the repository’s default branch rather than the workflow’s commit/PR SHA. Because the next step runs a local action (./actions/setup), this can execute code from the wrong revision; set ref to the current commit (or remove repository: when checking out the current repo) so the local action matches the workflow revision.
      - name: Checkout actions folder
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          repository: github/gh-aw
          sparse-checkout: |
            actions
          persist-credentials: false

.github/workflows/issue-monster.lock.yml:1556

  • actions/checkout is configured with repository: github/gh-aw but no ref, which will default to the repository’s default branch rather than the workflow’s commit/PR SHA. Because the next step runs a local action (./actions/setup), this can execute code from the wrong revision; set ref to the current commit (or remove repository: when checking out the current repo) so the local action matches the workflow revision.
      - name: Checkout actions folder
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          repository: github/gh-aw
          sparse-checkout: |
            actions
          persist-credentials: false

.github/workflows/issue-monster.lock.yml:1769

  • actions/checkout is configured with repository: github/gh-aw but no ref, which will default to the repository’s default branch rather than the workflow’s commit/PR SHA. Because the next step runs a local action (./actions/setup), this can execute code from the wrong revision; set ref to the current commit (or remove repository: when checking out the current repo) so the local action matches the workflow revision.
      - name: Checkout actions folder
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          repository: github/gh-aw
          sparse-checkout: |
            actions
          persist-credentials: false

.github/workflows/issue-monster.lock.yml:2244

  • actions/checkout is configured with repository: github/gh-aw but no ref, which will default to the repository’s default branch rather than the workflow’s commit/PR SHA. Because the next step runs a local action (./actions/setup), this can execute code from the wrong revision; set ref to the current commit (or remove repository: when checking out the current repo) so the local action matches the workflow revision.
      - name: Checkout actions folder
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          repository: github/gh-aw
          sparse-checkout: |
            actions
          persist-credentials: false

.github/workflows/issue-monster.lock.yml:1692

  • This workflow now sets GH_AW_VERSION: dev, which makes runs non-reproducible and weakens provenance compared to a pinned release version. If this file is meant to be a lockfile, consider compiling it with a released/pinned gh-aw version so the runtime metadata reflects an immutable version.
          GH_AW_PHASE: detection
          GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
          GH_AW_VERSION: dev
          GITHUB_API_URL: ${{ github.api_url }}
          GITHUB_AW: true
  • Files reviewed: 5/5 changed files
  • Comments generated: 6

> {One-sentence summary: e.g. "Analyzed {TOTAL} test(s): {DESIGN_COUNT} design, {IMPL_COUNT} implementation, {VIOLATIONS} guideline violation(s)."}

<details>
<summary>📊 Metrics & Test Classification ({TOTAL} tests analyzed)</summary>
Comment on lines +92 to +108
Example:
```markdown
**Potential nil dereference**: `user.Profile` is accessed without a nil check and will panic if the user has no profile.

<details>
<summary>💡 Suggested fix</summary>

```go
if user.Profile == nil {
return ErrNoProfile
}
```

Callers that pass users without profiles (e.g., in tests) will hit this panic silently.

</details>
```
Comment on lines 342 to +346
This PR {has been labeled `implementation` / makes significant changes to core business logic (>100 new lines)} but does not have a linked Architecture Decision Record (ADR).

**AI has analyzed the PR diff and generated a draft ADR** to help you get started:
📄 **Draft ADR committed**: `docs/adr/{NNNN}-{title}.md` — review and complete it before merging.

📄 **Draft ADR**: `docs/adr/{NNNN}-{title}.md`
> 🔒 *This PR cannot merge until an ADR is linked in the PR body.*
- name: Checkout actions folder
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
repository: github/gh-aw
GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
GH_AW_SAFE_OUTPUTS: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS }}
GH_AW_VERSION: v0.74.8
GH_AW_VERSION: dev
Comment on lines +491 to 503
- name: Checkout actions folder
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
repository: github/gh-aw
sparse-checkout: |
actions
persist-credentials: false
- name: Setup Scripts
id: setup
uses: github/gh-aw-actions/setup@v0.74.8
uses: ./actions/setup
with:
destination: ${{ runner.temp }}/gh-aw/actions
job-name: ${{ github.job }}
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.

3 participants