Skip to content

Clarify fallback issue paths for manual PR creation - #56572

Open
dsyme with Copilot wants to merge 5 commits into
mainfrom
copilot/fix-fallback-issue-warning
Open

Clarify fallback issue paths for manual PR creation#56572
dsyme with Copilot wants to merge 5 commits into
mainfrom
copilot/fix-fallback-issue-warning

Conversation

Copilot AI commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Protected-file fallback issues buried the PR creation link below the original description and presented it as a warning, making the intended next step unclear.

  • Prominent recovery path

    • Add a positive top-level callout with the PR creation link.
    • State that changes are ready and require user review/confirmation.
  • Readable issue structure

    • Place the original PR description after the callout.
    • Move protected-file and permission details after a divider as contextual notes.
> [!TIP]
> **Your pull request is ready to create! 🎉 ✅**
>
> **[Create the pull request](...)**
>
> The original pull request description is below.

---
  • Consistency
    • Apply the same structure to permission-denied PR fallback issues.
    • Cover protected-file fallback body ordering with a regression test.

Run: https://github.com/github/gh-aw/actions/runs/33195749972

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 38.7 AIC · ⌖ 8.78 AIC · ⊞ 8.8K ·
Comment /souschef to run again

Co-authored-by: dsyme <7204669+dsyme@users.noreply.github.com>
Copilot AI changed the title [WIP] Update fallback issue warning for clarity Clarify fallback issue paths for manual PR creation Aug 28, 2026
Copilot AI requested a review from dsyme August 28, 2026 09:42
@dsyme
dsyme marked this pull request as ready for review August 28, 2026 09:46
Copilot AI balanced review requested due to automatic review settings August 28, 2026 09:46

@dsyme dsyme left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

See change

> [!TIP]
> **Your pull request is ready to create! 🎉 ✅**
>
> Everything is OK—the changes have been pushed to branch `{branch_name}`. Create the pull request when you are ready.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@copilot This should also explain that the PR changes some protected files, which the user needs to review

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Updated the permission-denied fallback callout to ask users to review the changes, including any protected files, before creating the PR. Commit: c3d474a.

@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

⚠️ Security scanning failed for Ponytail Reviewer. Review the logs for details.

Lean already. Ship.

Warning

Firewall blocked 4 domains

The following domains were blocked by the firewall during workflow execution:

  • ab.chatgpt.com
  • api.github.com
  • chatgpt.com
  • github.com

[!TIP]
api.github.com is blocked because GitHub API access uses the built-in GitHub tools by default. Instead of adding api.github.com to network.allowed, use tools.github.mode: gh-proxy for direct pre-authenticated GitHub CLI access without requiring network access to api.github.com:

tools:
  github:
    mode: gh-proxy

See GitHub Tools for more information on gh-proxy mode.

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "ab.chatgpt.com"
    - "api.github.com"
    - "chatgpt.com"
    - "github.com"

See Network Configuration for more information.

Generated by Ponytail Reviewer for #56572

@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Test Quality Sentinel completed test quality analysis.

Test Quality Sentinel skipped because pre-fetch PR data was unavailable: unable to fetch test file diff

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

🧪 Test quality analysis by Test Quality Sentinel

@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

PR Code Quality Reviewer completed the code quality review.

🔎 Code quality review by PR Code Quality Reviewer

@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer

@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Design Decision Gate 🏗️ completed the design decision gate check. See the comment below for the result and any generated ADR draft.

No ADR enforcement needed: PR does not have the 'implementation' label and has ≤100 new lines of code in business logic directories.

🏗️ ADR gate enforced by Design Decision Gate 🏗️

@github-actions

Copy link
Copy Markdown
Contributor

Comment Memory

reviewed_at: 2026-08-28T00:00:00Z
review_event: COMMENT
top_themes:
  - no actionable changed-line issues found
files_reviewed:
  - actions/setup/js/create_pull_request.test.cjs
  - actions/setup/md/manifest_protection_create_pr_fallback.md
  - actions/setup/md/pr_permission_denied_fallback.md
comment_count: 0

Note

This comment is managed by comment memory.

It stores persistent context for this thread in the code block at the top of this comment.
Edit only the text inside the backtick fences; workflow metadata and the footer are regenerated automatically.

Learn more about comment memory

🔎 Code quality review by PR Code Quality Reviewer · pi · gpt54 · 2.74 AIC · ⌖ 7.31 AIC · ⊞ 4.6K ·
Comment /review to run again

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No actionable changed-line issues found in this PR.

Review notes

The template reordering is consistent across both fallback paths, the protected-files messaging is still present where it matters, and the regression test covers the new body ordering well enough to catch accidental reversions. I did not find a correctness, security, or maintainability problem in the changed lines that justifies blocking this merge.

🔎 Code quality review by PR Code Quality Reviewer · pi · gpt54 · 2.74 AIC · ⌖ 7.31 AIC · ⊞ 4.6K
Comment /review to run again

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Clarifies manual pull-request creation paths in fallback issues.

Changes:

  • Adds prominent creation links and reassuring guidance.
  • Reorders protected-file and permission details.
  • Tests protected-file fallback ordering.
Show a summary per file
File Description
actions/setup/md/pr_permission_denied_fallback.md Restructures permission fallback guidance.
actions/setup/md/manifest_protection_create_pr_fallback.md Promotes the protected-file recovery path.
actions/setup/js/create_pull_request.test.cjs Verifies protected-file body ordering.

Review details

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

  • Files reviewed: 3/3 changed files
  • Comments generated: 1
  • Review effort level: Balanced

>
> **[Create the pull request]({create_pr_url})**
>
> The original pull request description is below.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed the permission-denied fallback to pass the footer-free main body and footer separately, placing the permission guidance before the footer. Added ordering regression coverage. Commit: $(git rev-parse --short HEAD).

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed with clarify mode (documentation/copy changes only).

The restructuring is a clear UX improvement:

  • Front-loading a [!TIP] callout with a prominent CTA reduces cognitive friction for users who just need to create their PR.
  • Downgrading [!WARNING][!NOTE] for protected files is appropriate — the content is informational, not a hard blocker.
  • The pr_permission_denied_fallback.md NOTE is now tighter and avoids redundancy.
  • Tests correctly assert both content presence and relative ordering.

No blocking issues.

🧵 Reviewed using Impeccable skills by Impeccable Skills Reviewer · copilot · sonnet46 · 13.8 AIC · ⌖ 10.6 AIC · ⊞ 6.2K

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Skills-Based Review 🧠

Applied /tdd and /codebase-design — commenting on test coverage gap and template asymmetry.

📋 Key Themes & Highlights

Key Themes

  • Test coverage gap: the new ordering assertions cover the protected-file fallback but not the permission-denied fallback (pr_permission_denied_fallback.md).
  • Template asymmetry: the > [!NOTE] block in pr_permission_denied_fallback.md drops the "changes are pushed and ready" reassurance that the parallel template retains.

Positive Highlights

  • ✅ Promoting the PR link to a top-level [!TIP] callout is a clear UX improvement.
  • ✅ Downgrading [!WARNING][!NOTE] reduces alarm fatigue for a routine situation.
  • ✅ Good symmetry applied across both fallback templates.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · copilot · sonnet46 · 23.3 AIC · ⌖ 10.6 AIC · ⊞ 7.6K
Comment /matt to run again

expect(createCall.body).toContain("/compare/main...");
expect(createCall.body).not.toContain("gh run download");
expect(createCall.body).not.toContain("git am --3way");
expect(createCall.body).toContain("Your pull request is ready to create! 🎉 ✅");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[/tdd] The regression test covers the protected-file fallback body ordering, but there is no parallel test for pr_permission_denied_fallback.md — leaving that template's new heading order unverified.

💡 Suggested approach

Add equivalent indexOf-ordering assertions in the permission-denied fallback test, similar to the four lines added here:

expect(createCall.body).toContain("Your pull request is ready to create! 🎉 ✅");
expect(createCall.body.indexOf("Your pull request is ready to create! 🎉 ✅"))
  .toBeLessThan(createCall.body.indexOf(/* original body content */));

This ensures both fallback paths stay consistent as the templates evolve.

@copilot please address this.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Added parallel permission-denied fallback assertions covering tip → original body → permission details → footer ordering. Commit: $(git rev-parse --short HEAD).


{body}

---

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[/codebase-design] The > [!NOTE] block now loses the context that the changes were pushed and the user should review them. The manifest_protection_create_pr_fallback.md counterpart retains "Please review the protected files, then create the pull request when you are ready", but this template omits equivalent guidance.

💡 Suggested fix

Add a brief reassurance sentence:

> [!NOTE]
> GitHub Actions is not permitted to create or approve pull requests in this repository.
> The changes have been pushed to branch `{branch_name}` and are ready to review.

This keeps the two templates symmetric and ensures users understand the state of their changes.

@copilot please address this.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Added explicit guidance that the pushed changes are ready for review in the permission-denied fallback note. Commit: $(git rev-parse --short HEAD).

@github-actions

Copy link
Copy Markdown
Contributor

✅ Test Quality Sentinel: Approve

PR #56572 — Regression test additions to verify fallback issue body ordering

Analysis Summary

This PR modifies markdown templates for fallback issues and enhances existing test coverage with regression assertions. No new test functions were added—only strategic additions to verify critical behavior.

Test Modifications

File: actions/setup/js/create_pull_request.test.cjs
Test Modified: it("should push branch with compare URL for protected-files fallback (patch transport)") (lines 2082–2121)

4 Assertion Lines Added:

  1. Content assertions verifying callout and description text presence
  2. Order assertions using .indexOf() to ensure:
    • ✅ Callout appears first (user sees action items immediately)
    • ✅ Original description appears second (provides context)
    • ✅ Protected file details appear last (technical notes after main content)

Quality Assessment

Criterion Result
Design Invariant ✅ Behavioral contract — locks in critical UX structure
Regression Value ✅ High — prevents hiding action items through bad ordering
Test Type ✅ Design test — verifies user-visible behavior
Assertions ✅ Precise — uses .indexOf() for ordering verification
Violations ✅ None — no mocking issues, no missing build tags
Alignment ✅ Perfect — directly validates markdown template changes

Verdict

✅ APPROVE — Regression test assertions are well-crafted and provide concrete validation of the new fallback issue structure. The modifications ensure the critical UX improvement (prominent recovery path) cannot regress.


Analysis Note: Pre-fetched test data was unavailable; analysis performed against live repository.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

🧪 Test quality analysis by Test Quality Sentinel · copilot · haiku45 · 31 AIC · ⌖ 9.31 AIC · ⊞ 8.3K ·
Comment /review to run again

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

✅ Test Quality Sentinel: Score N/A—Regression test only (4 assertion lines added to verify fallback issue body ordering). No new test functions. Classification: High-value design test with no violations. Regression assertions ensure critical UX structure (prominent recovery path) cannot break.

Co-authored-by: dsyme <7204669+dsyme@users.noreply.github.com>
Copilot AI requested a review from dsyme August 28, 2026 09:59
@github-actions

Copy link
Copy Markdown
Contributor

Category: docs | Risk: low | Score: 45/100 (impact 20/50, urgency 10/30, quality 15/20) | Action: auto_merge | Batch: workflow-ux

Generated by 🔧 PR Triage Agent · copilot · mai10 · 16.9 AIC · ⌖ 2.63 AIC · ⊞ 16.6K ·

@github-actions

Copy link
Copy Markdown
Contributor

Category: docs | Risk: low | Score: 45/100 (impact 20/50, urgency 10/30, quality 15/20) | Action: auto_merge | Batch: workflow-ux

Generated by 🔧 PR Triage Agent · copilot · mai10 · 16.9 AIC · ⌖ 2.63 AIC · ⊞ 16.6K ·

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot There is still unresolved review feedback on this PR. Please cover the permission-denied fallback path with the same ordering/regression assertions or explain why the asymmetry is intentional, refresh the branch if needed, and then run the pr-finisher skill before handing back.

Current blocking feedback, newest first:

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • github.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 38.7 AIC · ⌖ 8.78 AIC · ⊞ 8.8K ·
Comment /souschef to run again

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>

Copilot AI commented Aug 28, 2026

Copy link
Copy Markdown
Contributor Author

@copilot There is still unresolved review feedback on this PR. Please cover the permission-denied fallback path with the same ordering/regression assertions or explain why the asymmetry is intentional...

Addressed the permission fallback asymmetry: main body and footer are now separate placeholders, permission guidance appears before the footer, and ordering regression assertions cover the permission path. Commit: $(git rev-parse --short HEAD).

Copilot AI requested a review from gh-aw-bot August 28, 2026 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The "fallback issue" action path to convert to PR is not very obvious/clear/friendly/encouraging

4 participants