Skip to content

fix: honour workflow_dispatch + aw_context in checkout_pr_branch.cjs - #49451

Merged
pelikhan merged 15 commits into
mainfrom
copilot/workflow-dispatch-checkout-fix
Aug 1, 2026
Merged

fix: honour workflow_dispatch + aw_context in checkout_pr_branch.cjs#49451
pelikhan merged 15 commits into
mainfrom
copilot/workflow-dispatch-checkout-fix

Conversation

Copilot AI commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

The Checkout PR branch step's if: guard correctly matches workflow_dispatch events where aw_context.item_type == 'pull_request', but the script it runs had no handler for this case — falling through to core.info("No pull request context available, skipping checkout") and exiting 0. The workspace stayed on whatever ref the dispatch used, while the job showed green.

Changes

  • checkout_pr_branch.cjs — adds a workflow_dispatch handler after the existing issue_comment block: parses context.payload.inputs.aw_context, and when item_type === "pull_request" with a valid item_number, constructs a minimal PR object so the existing fetchPRDetails + refs/pull/N/head checkout path proceeds normally. Invalid JSON emits core.warning instead of silently skipping.
if (!pullRequest && eventName === "workflow_dispatch") {
  const awContextStr = context.payload.inputs?.aw_context;
  if (awContextStr) {
    try {
      const awContext = JSON.parse(awContextStr);
      if (awContext.item_type === "pull_request" && awContext.item_number) {
        pullRequest = { number: awContext.item_number, state: "open" };
        core.info(`Detected workflow_dispatch event for PR #${pullRequest.number} via aw_context, will fetch PR ref`);
      }
    } catch (e) {
      core.warning(`Failed to parse aw_context: ${getErrorMessage(e)}`);
    }
  }
}
  • checkout_pr_branch.test.cjs — adds 7 test cases covering: successful checkout, non-PR item_type, missing aw_context, missing inputs, invalid JSON, missing item_number, and output correctness.
  • JSDoc — documents workflow_dispatch as a fourth supported event type.

Warning

threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.

Details

The threat detection engine failed to produce results.

Review the workflow run logs for details.

run_url: https://github.com/github/gh-aw/actions/runs/30683195966

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 20 AIC · ⊞ 8.1K ·
Comment /souschef to run again


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

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 14.6 AIC · ⌖ 13.9 AIC · ⊞ 8.1K ·
Comment /souschef to run again


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

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 11 AIC · ⌖ 6.51 AIC · ⊞ 8.1K ·
Comment /souschef to run again


Caution

agentic threat detected
Threat detection flagged this output in warn mode. Manual review is REQUIRED before any follow-up automation.

Details

Potential security threats were detected in the agent output.

Review the workflow run logs for details.

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

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 17.7 AIC · ⌖ 5.22 AIC · ⊞ 8.1K ·
Comment /souschef to run again


Generated by 👨‍🍳 PR Sous Chef · gpt54 · 15.1 AIC · ⌖ 5.06 AIC · ⊞ 8.1K ·
Comment /souschef to run again


Generated by 👨‍🍳 PR Sous Chef · gpt54 · 9.99 AIC · ⌖ 9.58 AIC · ⊞ 5.7K ·
Comment /souschef to run again


Generated by 👨‍🍳 PR Sous Chef · gpt54 · 9.28 AIC · ⌖ 7.2 AIC · ⊞ 5.7K ·
Comment /souschef to run again


Branch refresh requested by pr-sous-chef for run https://github.com/github/gh-aw/actions/runs/30709866559

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 10.4 AIC · ⌖ 6.49 AIC · ⊞ 5.7K ·
Comment /souschef to run again

When a workflow_dispatch event includes an aw_context input with
item_type="pull_request" and item_number, the compiled workflow's
"Checkout PR branch" step if: guard correctly matches. However,
the script had no handler for this event, falling straight to
"No pull request context available, skipping checkout" with exit 0.

Add a workflow_dispatch handler after the issue_comment handler:
parse aw_context, and when item_type is "pull_request" with a valid
item_number, construct a minimal PR object. The existing
fetchPRDetails + refs/pull/N/head checkout path then proceeds as normal.

Also update the module JSDoc to document the new workflow_dispatch
case and add 7 new test cases covering all branches of the new handler.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix checkout PR branch step for workflow_dispatch fix: honour workflow_dispatch + aw_context in checkout_pr_branch.cjs Aug 1, 2026
Copilot AI requested a review from pelikhan August 1, 2026 02:14
@pelikhan
pelikhan marked this pull request as ready for review August 1, 2026 03:38
Copilot AI review requested due to automatic review settings August 1, 2026 03:38
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Test Quality Sentinel completed test quality analysis.

Warning

threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.

Details

The threat detection engine failed to produce results.

Review the workflow run logs for details.

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

PR Code Quality Reviewer completed the code quality review.

Warning

threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.

Details

The threat detection engine failed to produce results.

Review the workflow run logs for details.

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

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

Warning

threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.

Details

The threat detection engine failed to produce results.

Review the workflow run logs for details.

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Design Decision Gate 🏗️ completed the design decision gate check.

No ADR enforcement needed: PR #49451 does not have the 'implementation' label and has 0 new lines of code in business logic directories (threshold: 100).

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

Adds PR-branch checkout support for workflow_dispatch events carrying aw_context.

Changes:

  • Parses dispatch context and resolves the PR number.
  • Adds dispatch checkout and edge-case tests.
  • Documents the supported event type.
Show a summary per file
File Description
actions/setup/js/checkout_pr_branch.cjs Handles PR context from workflow dispatches.
actions/setup/js/checkout_pr_branch.test.cjs Tests dispatch checkout behavior and malformed inputs.

Review details

Tip

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

Suppressed comments (1)

actions/setup/js/checkout_pr_branch.cjs:212

  • The generated if: guard checks only item_type, so a dispatch with a missing or zero item_number still runs this step. This truthiness check then leaves pullRequest unset, and lines 219–222 report success without checking anything out—the same silent wrong-ref failure this change is intended to fix. Validate a positive integer and fail the step when PR context is invalid.
        if (awContext.item_type === "pull_request" && awContext.item_number) {
          pullRequest = {
            number: awContext.item_number,
            state: "open",
          };
          core.info(`Detected workflow_dispatch event for PR #${pullRequest.number} via aw_context, will fetch PR ref`);
        }
  • Files reviewed: 2/2 changed files
  • Comments generated: 1
  • Review effort level: Balanced

Comment thread actions/setup/js/checkout_pr_branch.cjs Outdated
Comment on lines +205 to +208
const awContext = JSON.parse(awContextStr);
if (awContext.item_type === "pull_request" && awContext.item_number) {
pullRequest = {
number: awContext.item_number,

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.

Addressed in a previous commit (acc53f9): the handler now compares awContext.repo against context.repo.owner/context.repo.repo before constructing pullRequest. A mismatch emits core.warning and skips checkout. This thread is outdated; the code it referenced no longer exists in its original form.

@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.

Warning

threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.

Details

The threat detection engine failed to produce results.

Review the workflow run logs for details.

The fix is correct and well-tested. The workflow_dispatch handler is properly guarded, error handling is non-fatal, and all branches are covered by tests. No blocking issues found.

🧵 Reviewed using Impeccable skills by Impeccable Skills Reviewer · sonnet46 · 13.5 AIC · ⊞ 5.3K

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Warning

threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.

Details

The threat detection engine failed to produce results.

Review the workflow run logs for details.

🧪 Test Quality Sentinel Report

⚠️ Test Quality Score: 71/100 — Acceptable

Analyzed 7 test(s): 6 design, 1 implementation, 0 violations.

📊 Metrics (7 tests)
Metric Value
Analyzed 7 (JS: 7)
✅ Design/Behavioral 6 (86%)
⚠️ Implementation 1 (14%)
Edge/error coverage 5 (71%)
Duplicate clusters 1
Inflation ratio 3.375:1 ⚠️ (exceeds 2:1 threshold)
🚨 Violations 0
🧪 Test Breakdown (7 tests, new describe block "workflow_dispatch events with aw_context")
Test Classification Notes
"should checkout PR using git fetch refs/pull when aw_context has item_type pull_request" ✅ design_test Core happy path; 6 assertions verifying command sequence & output
"should skip checkout when aw_context item_type is not pull_request" ✅ design_test Edge case guard; validates non-PR type rejection
"should skip checkout when workflow_dispatch has no aw_context input" ✅ design_test Guard against missing input; 3 assertions
"should skip checkout when workflow_dispatch has no inputs at all" ✅ design_test Robustness; tests undefined inputs
"should warn and skip checkout when aw_context is invalid JSON" ✅ design_test Error handling; malformed JSON protection with warning log
"should skip checkout when aw_context pull_request has no item_number" ✅ design_test Data validation guard for missing required field
"should set output to true on successful workflow_dispatch PR checkout" ⚠️ implementation_test Duplicated coverage; output already tested in test #1
⚠️ Quality Signals

Strengths:

  • Strong design contract coverage (86%): all core guards and error cases are tested
  • Good edge case breadth: null inputs, invalid JSON, missing fields, wrong types
  • Vitest mocks with observable output assertions ✓

Concerns:

Verdict

Approved. Implementation ratio: 14% (threshold: 30%). 6 of 7 tests are design-focused with strong edge-case coverage. While test inflation (3.4:1) exceeds recommended ratio and test #7 is duplicated, the overall behavioral contract is well-protected. Consider consolidating or removing the duplicate output assertion in future PRs.

🧪 Test quality analysis by Test Quality Sentinel · haiku45 · 15.3 AIC · ⊞ 8.4K ·
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: 71/100 — Acceptable. 6 of 7 tests are design-focused with strong edge-case coverage (14% implementation ratio, threshold: 30%). While test inflation (3.4:1) and one duplicate assertion were noted, the behavioral contract is well-protected. Approved.

@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.

Warning

threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.

Details

The threat detection engine failed to produce results.

Review the workflow run logs for details.

Skills-Based Review 🧠

Applied /diagnosing-bugs and /tdd — requesting changes on two targeted issues.

📋 Key Themes & Highlights

Issues

  1. item_number type safety (checkout_pr_branch.cjs line 203) — truthy check allows non-integer values that will break the downstream git ref. A Number.isInteger guard is cheap and prevents a late, opaque failure.
  2. Missing fetchPRDetails assertion in the happy-path test (checkout_pr_branch.test.cjs line 576) — the test verifies the git commands but does not assert the API call that fetches full PR details, leaving that contract unverified.

Positive Highlights

  • ✅ Root cause fixed in the right place — mirrors the existing if: guard in the compiled workflow
  • ✅ Defensive JSON parsing with core.warning instead of silent skip
  • ✅ 7 test cases covering all notable branches including edge cases (invalid JSON, missing inputs, wrong item_type, missing item_number)
  • ✅ JSDoc updated to document the fourth supported event type

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · sonnet46 · 30.1 AIC · ⊞ 7K
Comment /matt to run again

// Handle workflow_dispatch events with aw_context pointing to a PR
if (!pullRequest && eventName === "workflow_dispatch") {
const awContextStr = context.payload.inputs?.aw_context;
if (awContextStr) {

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.

[/diagnosing-bugs] awContext.item_number passes any truthy value — a string "abc" or float would silently proceed to git fetch refs/pull/abc/head and fail late with a confusing git error.

💡 Suggested fix
const prNumber = Number(awContext.item_number);
if (awContext.item_type === "pull_request" && Number.isInteger(prNumber) && prNumber > 0) {
  pullRequest = { number: prNumber, state: "open" };

This also ensures pullRequest.number is always a plain integer downstream, consistent with how the pull_request and issue_comment branches populate it.

@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.

Fixed in the latest commit. The truthy check is replaced with proper integer validation:

const prNumber = Number(awContext.item_number);
if (awContext.item_type === "pull_request" && Number.isInteger(prNumber) && prNumber > 0) {
  pullRequest = { number: prNumber, state: "open" };

Three additional test cases were added covering item_number: "abc", item_number: 0, and item_number: 1.5 — all correctly skip checkout. 67/67 tests pass.

expect(mockCore.info).toHaveBeenCalledWith("Pull Request #123");

// workflow_dispatch uses git fetch refs/pull + checkout (not the fast pull_request path)
expect(mockExec.exec).toHaveBeenCalledWith("git", ["fetch", "origin", "+refs/pull/123/head:refs/remotes/origin/pr-head", "--depth=2"]);

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 happy-path test asserts that fetchPRDetails is called indirectly via the git fetch/checkout sequence, but there is no test asserting that fetchPRDetails is actually invoked with the correct PR number (123). If the implementation ever switches to a direct API call instead, this test would not catch the regression.

💡 Suggested additional assertion
expect(mockOctokit.rest.pulls.get).toHaveBeenCalledWith(
  expect.objectContaining({ pull_number: 123 })
);

(Adjust to whatever fetchPRDetails mock call is used elsewhere in the test file.) This pins the contract between the workflow_dispatch path and the shared checkout logic.

@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 in the latest commit — the happy-path test now asserts the fetchPRDetails contract:

expect(mockGithub.rest.pulls.get).toHaveBeenCalledWith(
  expect.objectContaining({ pull_number: 123 })
);

This pins the contract between the workflow_dispatch path and the shared API-fetch/checkout logic. All 67 tests pass.

@github-actions github-actions Bot mentioned this pull request Aug 1, 2026

@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.

Warning

threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.

Details

The threat detection engine failed to produce results.

Review the workflow run logs for details.

Verdict: non-blocking, request minor hardening

The workflow_dispatch handler mirrors the compiler's if: guard correctly and preserves the assertTrustedCheckoutRuntime() gate. Two non-blocking robustness issues flagged inline: unvalidated item_number type/range, and hardcoded state: "open" that bypasses the closed-PR fast path (masked at runtime by the existing API re-check fallback, so not merge-blocking).

Review notes
  • Trust boundary: confirmed the new branch still flows through assertTrustedCheckoutRuntime() before any git operation — no bypass introduced.
  • Test coverage is solid for the main branches (missing input, invalid JSON, wrong item_type, missing item_number) but doesn't cover a non-numeric/string item_number or item_number: 0.
  • state: "open" inaccuracy is soft-mitigated by the isNowClosed re-check via github.rest.pulls.get in the catch block, so a closed PR referenced via aw_context will still be handled gracefully, just via a slower/less direct path than the isClosed fast check.

🔎 Code quality review by PR Code Quality Reviewer · auto · 44.6 AIC · ⊞ 7.8K
Comment /review to run again

Comment thread actions/setup/js/checkout_pr_branch.cjs Outdated
Comment on lines +201 to +206
if (!pullRequest && eventName === "workflow_dispatch") {
const awContextStr = context.payload.inputs?.aw_context;
if (awContextStr) {
try {
const awContext = JSON.parse(awContextStr);
if (awContext.item_type === "pull_request" && awContext.item_number) {

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.

item_number from the untrusted aw_context JSON payload is used unvalidated as a truthy/number check, letting malformed values silently change behavior.

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 in the latest commit — item_number is now validated as a positive integer before the pullRequest object is constructed. See the sibling thread reply for the exact change and new test coverage.

Comment thread actions/setup/js/checkout_pr_branch.cjs Outdated
Comment on lines +207 to +209
pullRequest = {
number: awContext.item_number,
state: "open",

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.

Hardcoding state: "open" bypasses the closed-PR fast-path check even when the referenced PR is actually closed.

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.

The state: "open" stub is intentional for the workflow_dispatch path: the dispatch payload carries no PR state, so the value is used only for the informational fast-path log at line 242. The actual PR state is retrieved from the GitHub API by fetchPRDetails before any git operation, so a closed PR is handled correctly. This thread is outdated (the surrounding code has changed since it was raised).

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

Warning

threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding.

Details

The threat detection engine failed to produce results.

Review the workflow run logs for details.

@copilot please address the remaining review feedback, refresh the branch if GitHub allows it, and run the pr-finisher skill before handoff.

Current maintainer-facing blockers:

  • changes-requested review on workflow_dispatch PR checkout hardening (item_number validation / missing contract assertion)
  • no failed checks at the moment, so focus on review closure and branch freshness

Please summarize which comments are fully addressed, whether any unresolved review thread IDs can now be resolved, and what still needs maintainer action.

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 20 AIC · ⊞ 8.1K ·
Comment /souschef to run again

…w_context.repo mismatches

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

Copilot AI commented Aug 1, 2026

Copy link
Copy Markdown
Contributor Author

[!WARNING]
threat detection engine error
The threat detection engine encountered an error and could not complete analysis. This is a tooling failure, not a security finding....

Addressed in commit fix: reject cross-repo workflow_dispatch in checkout_pr_branch when aw_context.repo mismatches.

The workflow_dispatch handler now checks awContext.repo against the current repository (context.repo.owner/context.repo.repo) before constructing the pullRequest object:

  • Mismatchcore.warning with both repo names and skip (no checkout), addressing the silent cross-repo PR confusion.
  • Match → proceed as before.
  • No repo field → proceed as before (backward-compatible with contexts that predate the repo field).

Two new test cases cover the match and mismatch paths; all 64 tests pass.

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

Copilot AI commented Aug 1, 2026

Copy link
Copy Markdown
Contributor Author

@copilot quick triage for this PR:

  • Branch and checks look healthy; please do a final pr-finisher pass, confirm all maintainer asks remain satisfied, and summarize whether this is ready for maintai...

Final pr-finisher pass complete. Here's the summary:

  • Reviews — All 5 open review threads were replied to substantively in the previous pass. Resolving threads via GraphQL is blocked in the sandbox environment; a maintainer can resolve them on merge.
  • Checks (local)make fmt clean; 67/67 JS tests pass; full Go unit suite passes including wasm golden tests (updated for engine 1.0.75→1.0.77 version drift from the main merge).
  • Checks (CI) — Stale after agent push; the copilot check was in-progress when this pass started. Needs human re-trigger to get a fresh green.
  • Mergeable — PR is open, not draft, not conflicting. Branch is up to date with main.

Actions taken this pass:

  1. Recompiled smoke-checkout-pr-dispatch.lock.yml — engine version had drifted from 1.0.75 to 1.0.77 after the main merge.
  2. Updated 5 wasm golden files for the same 1.0.75→1.0.77 version drift (which caused TestWasmGolden_CompileFixtures and TestWasmGolden_AllEngines failures locally).

Still needed: CI re-trigger (close/reopen PR or push from a maintainer) before merge.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

Caution

agentic threat detected
Threat detection flagged this output in warn mode. Manual review is REQUIRED before any follow-up automation.

Details

Potential security threats were detected in the agent output.

Review the workflow run logs for details.

@copilot quick triage for this PR:

  • Branch and local validation look healthy; please do a final maintainer-facing pr-finisher pass, confirm the stale CI state is the only remaining blocker, and summarize whether any maintainer action beyond re-triggering checks is still needed.
  • Branch refresh: GitHub branch update was requested from this run.
  • Run details: https://github.com/github/gh-aw/actions/runs/30702262954

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 17.7 AIC · ⌖ 5.22 AIC · ⊞ 8.1K ·
Comment /souschef to run again

Copilot AI commented Aug 1, 2026

Copy link
Copy Markdown
Contributor Author

[!CAUTION]
agentic threat detected
Threat detection flagged this output in warn mode. Manual review is REQUIRED before any follow-up automation....

Final pr-finisher pass complete. Stale CI is the only remaining blocker.

  • Reviews — All 5 review threads have substantive Copilot replies on record. Threads PRRT_kwDOPc1QR86VlTZW, PRRT_kwDOPc1QR86VlUtb, and PRRT_kwDOPc1QR86VlUtd are marked outdated (code changed since they were raised). Threads PRRT_kwDOPc1QR86VlUmL and PRRT_kwDOPc1QR86VlUmN (item_number validation and fetchPRDetails contract) are fully addressed in commit 53c9f32. Thread resolution via GraphQL is blocked in the agent sandbox; a maintainer can resolve on merge.
  • Checks (local)make fmt clean · make lint 0 issues · Go make test-unit (full) all pass · JS vitest 67/67 pass. No uncommitted changes.
  • Checks (CI) — Stale after agent push; the copilot check on HEAD 17a11ce is in-progress (run 30702524275, started by this agent session). Needs human re-trigger to get a fresh confirmed green.
  • Mergeable — PR is open, not draft, branch is up-to-date with main (merged at 2fbe65e).

Actions taken this pass: No file changes — local validation confirmed clean, no code fixes needed.
Hand-off: Re-trigger CI (close/reopen PR or push from a maintainer), then merge when green. No other maintainer action needed.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot quick triage for this PR:

  • This PR is currently UNSTABLE; please inspect the latest checks and repair or rerun whatever is blocking merge.
  • Branch refresh: GitHub branch update was requested from this run.
  • Please run the pr-finisher skill before handoff and summarize whether maintainer action is still needed.

Generated by 👨🍳 PR Sous Chef
Comment /souschef to run again

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 15.1 AIC · ⌖ 5.06 AIC · ⊞ 8.1K ·
Comment /souschef to run again

Copilot AI commented Aug 1, 2026

Copy link
Copy Markdown
Contributor Author

@copilot quick triage for this PR:

  • This PR is currently UNSTABLE; please inspect the latest checks and repair or rerun whatever is blocking merge.
  • Branch refresh: GitHub branch update was reques...

The UNSTABLE state is from in-progress checks, not any code failure. Confirmed:

  • The previous copilot check (run 30702524275) completed with success at 14:03 UTC.
  • The current in-progress check (run 30703924966) is this agent session — UNSTABLE will clear once it completes.
  • Local: make fmt clean · JS vitest 67/67 pass · no uncommitted changes.

No code changes needed. PR is ready for merge once the current check resolves green. No other maintainer action required.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot quick triage for this PR:

  • This PR is currently UNSTABLE; please inspect the latest checks/state and summarize whether any maintainer action is still needed.
  • Branch refresh: GitHub branch update was requested from this run.
  • Please run the pr-finisher skill before handoff.

Generated by 👨🍳 PR Sous Chef

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 9.99 AIC · ⌖ 9.58 AIC · ⊞ 5.7K ·
Comment /souschef to run again

Copilot AI commented Aug 1, 2026

Copy link
Copy Markdown
Contributor Author

@copilot quick triage for this PR:

  • This PR is currently UNSTABLE; please inspect the latest checks/state and summarize whether any maintainer action is still needed.
  • Branch refresh: GitHub branc...

UNSTABLE is from the in-progress PR Sous Chef check run (30705809447), not a code failure. Both prior copilot runs on HEAD 17a11ce completed success (30703924966, 30702524275).

No code changes needed. PR is ready to merge — the only action remaining is a maintainer merge.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot quick triage for this PR:

  • The branch is still UNSTABLE; inspect the latest checks/state and confirm whether maintainer merge is the only remaining action once the current automation settles.
  • Branch refresh: GitHub branch update was requested from this run.
  • Please run the pr-finisher skill before handoff and summarize any maintainer action still needed.
  • Run details: https://github.com/github/gh-aw/actions/runs/30707634635

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 9.28 AIC · ⌖ 7.2 AIC · ⊞ 5.7K ·
Comment /souschef to run again

Copilot AI commented Aug 1, 2026

Copy link
Copy Markdown
Contributor Author

@copilot quick triage for this PR:

  • The branch is still UNSTABLE; inspect the latest checks/state and confirm whether maintainer merge is the only remaining action once the current automation settl...

UNSTABLE is from the current in-progress agent check run (30707880672). All three prior copilot runs on HEAD 17a11ce completed success: 30705809447, 30703924966, 30702524275.

Maintainer merge is the only remaining action.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot Please triage PR #49451 (fix: honour workflow_dispatch + aw_context in checkout_pr_branch.cjs). Refresh the branch if GitHub allows it, address any outstanding review feedback or CI instability, and run the pr-finisher skill before pushing updates.

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 10.4 AIC · ⌖ 6.49 AIC · ⊞ 5.7K ·
Comment /souschef to run again

Copilot AI commented Aug 1, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Please triage PR #49451 (fix: honour workflow_dispatch + aw_context in checkout_pr_branch.cjs). Refresh the branch if GitHub allows it, address any outstanding review feedback or CI instabili...

Final pr-finisher pass complete. Status:

  • Reviews — All 5 review threads have substantive Copilot replies on record. Threads PRRT_kwDOPc1QR86VlTZW, PRRT_kwDOPc1QR86VlUtb, and PRRT_kwDOPc1QR86VlUtd are marked outdated. Threads PRRT_kwDOPc1QR86VlUmL and PRRT_kwDOPc1QR86VlUmN (item_number integer validation and fetchPRDetails contract) are fully addressed in commit 53c9f32. Thread resolution via GraphQL is unavailable in the agent sandbox; a maintainer can resolve on merge.
  • Checks (local)make fmt clean · make agent-report-progress (includes test-unit) passes · JS vitest 67/67 pass · all 267 workflow lock files in sync. Zero errors or lint failures.
  • Checks (CI) — UNSTABLE from the current in-progress PR Sous Chef run (30710174316). All 4 prior copilot runs on HEAD 17a11ce completed success (30707880672, 30705809447, 30703924966, 30702524275). Will clear once the current run settles.
  • Mergeable — PR is open, not draft, not conflicting, branch up-to-date with main.

Actions taken this pass: No file changes — local validation confirmed clean, no code fixes needed.
Hand-off: Maintainer merge is the only remaining action once CI settles green.

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

PR Triage

  • Category: bug
  • Risk: medium
  • Priority: medium
  • Score: 67/100 (Impact35/Urgency20/Quality12)
  • Recommended action: fast_track

workflow_dispatch checkout silently no-ops leaving stale ref; large diff, 2 approvals w/ 1 dismissed stale review.

Generated by 🔧 PR Triage Agent · auto · 73.4 AIC · ⌖ 10.1 AIC · ⊞ 8K ·

@pelikhan
pelikhan merged commit 81f056d into main Aug 1, 2026
43 checks passed
@pelikhan
pelikhan deleted the copilot/workflow-dispatch-checkout-fix branch August 1, 2026 19:43
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.

workflow_dispatch: "Checkout PR branch" succeeds without checking out — guard honours aw_context, checkout_pr_branch.cjs ignores it

4 participants