Allow merge-based update-branch flow in PR assistant guidance#600
Allow merge-based update-branch flow in PR assistant guidance#600
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThis PR updates many GitHub Actions workflows and fragments. Changes include: adding an optional workflow input Possibly related PRs
Suggested labels
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
♻️ Duplicate comments (1)
.github/workflows/gh-aw-pr-review-addresser.lock.yml (1)
1115-1163:⚠️ Potential issue | 🟠 MajorAnchor the self-review inputs to
headRefOidfor merge-based updates.
pr_head_shais loaded here, but the saved diff/stat/log still come from@{upstream}. After merging the base branch into the PR branch, that pulls base-only hunks and commits into/tmp/self-review, so the sub-agent reviews unrelated upstream work instead of just the conflict-resolution changes. Please switch the sharedgh-aw-fragments/safe-output-push-to-pr.mdsource to diff/log fromheadRefOid(or otherwise filter merged-base-only changes) before recompiling. Based on learnings: files under.github/workflowswith the.lock.ymlextension are auto-generated by runninggh aw compilefrom corresponding.mdsource files, so fixes belong in the source fragment rather than this lockfile.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/gh-aw-pr-review-addresser.lock.yml around lines 1115 - 1163, The diff/stat/log generation use @{upstream} even when pr_head_sha (headRefOid) is available, causing merged base commits to be included; update the logic that builds diff_text, stat_text and commits_text to prefer/anchor git commands to the PR head (pr_head_sha) when pr_head_sha is non-empty (e.g., use ['git', 'diff', f'{pr_head_sha}..HEAD'] or ['git', 'diff', pr_head_sha, 'HEAD'] and similarly for --stat and git log ranges) instead of @{upstream}; make this change in the source fragment gh-aw-fragments/safe-output-push-to-pr.md (not the generated .lock.yml) so the compiled workflow uses pr_head_sha to produce diffs/logs/stat that are limited to PR changes.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/gh-aw-fragments/safe-output-add-comment-pr-hide-older.md:
- Line 9: The fragment sets target using target: '${{ inputs.target-pr-number ||
"triggering" }}', which forces a hardcoded "triggering" fallback into all
importers and breaks workflow_run contexts; remove the fallback or require
callers to provide target-pr-number. To fix, update the fragment to use only
inputs.target-pr-number (e.g., target: '${{ inputs.target-pr-number }}') and
either add a required input declaration for target-pr-number in this fragment or
update each importer (.github/workflows/gh-aw-estc-pr-buildkite-detective.md and
.github/workflows/gh-aw-pr-actions-detective.md) to pass target-pr-number
explicitly; ensure any logic that relied on "triggering" is adjusted in the
comment-posting step that reads the target variable.
In @.github/workflows/gh-aw-mention-in-pr.lock.yml:
- Line 2309: The reply_to_pull_request_review_comment handler in the
GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG lacks the target setting so replies can land
on the wrong PR; update the JSON entry for
"reply_to_pull_request_review_comment" inside GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG
to include "target":"${{ inputs.target-pr-number || \"triggering\" }}" (matching
the other PR-mutating handlers) so it respects explicit inputs.target-pr-number;
make this change in the source .md that generates the .lock.yml and recompile
with gh aw compile.
In @.github/workflows/gh-aw-pr-actions-fixer.lock.yml:
- Around line 611-617: The workflow is referencing the input name
target-pr-number but that input is not declared in the source workflow inputs,
causing the .lock.yml to fallback to "triggering"; add a new inputs.entry named
target-pr-number (matching the exact symbol target-pr-number) to the source
workflow's inputs block in gh-aw-pr-actions-fixer.md with an appropriate
description and default (or leave empty) and then regenerate the lock file so
.github/workflows/gh-aw-pr-actions-fixer.lock.yml is updated to use the declared
input in all places (including the safe-outputs JSON entries that reference ${ {
inputs.target-pr-number } }).
---
Duplicate comments:
In @.github/workflows/gh-aw-pr-review-addresser.lock.yml:
- Around line 1115-1163: The diff/stat/log generation use @{upstream} even when
pr_head_sha (headRefOid) is available, causing merged base commits to be
included; update the logic that builds diff_text, stat_text and commits_text to
prefer/anchor git commands to the PR head (pr_head_sha) when pr_head_sha is
non-empty (e.g., use ['git', 'diff', f'{pr_head_sha}..HEAD'] or ['git', 'diff',
pr_head_sha, 'HEAD'] and similarly for --stat and git log ranges) instead of
@{upstream}; make this change in the source fragment
gh-aw-fragments/safe-output-push-to-pr.md (not the generated .lock.yml) so the
compiled workflow uses pr_head_sha to produce diffs/logs/stat that are limited
to PR changes.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 92ab706d-e806-481b-9de6-90caab2d215c
📒 Files selected for processing (25)
.github/workflows/agentics-maintenance.yml.github/workflows/gh-aw-create-pr-from-issue.lock.yml.github/workflows/gh-aw-create-pr-from-issue.md.github/workflows/gh-aw-dependency-review.lock.yml.github/workflows/gh-aw-estc-docs-pr-review.lock.yml.github/workflows/gh-aw-estc-pr-buildkite-detective.lock.yml.github/workflows/gh-aw-fragments/safe-output-add-comment-pr-hide-older.md.github/workflows/gh-aw-fragments/safe-output-add-comment-pr.md.github/workflows/gh-aw-fragments/safe-output-push-to-pr.md.github/workflows/gh-aw-fragments/safe-output-resolve-thread.md.github/workflows/gh-aw-fragments/safe-output-review-comment.md.github/workflows/gh-aw-fragments/safe-output-submit-review.md.github/workflows/gh-aw-mention-in-issue-by-id.lock.yml.github/workflows/gh-aw-mention-in-issue-by-id.md.github/workflows/gh-aw-mention-in-pr-by-id.lock.yml.github/workflows/gh-aw-mention-in-pr-by-id.md.github/workflows/gh-aw-mention-in-pr-no-sandbox.lock.yml.github/workflows/gh-aw-mention-in-pr.lock.yml.github/workflows/gh-aw-pr-actions-detective.lock.yml.github/workflows/gh-aw-pr-actions-fixer.lock.yml.github/workflows/gh-aw-pr-ci-detective.lock.yml.github/workflows/gh-aw-pr-review-addresser.lock.yml.github/workflows/gh-aw-pr-review.lock.ymlMakefiletests/test_safe_input_ready_to_make_pr.py
💤 Files with no reviewable changes (1)
- .github/workflows/gh-aw-mention-in-pr-by-id.md
✅ Files skipped from review due to trivial changes (1)
- .github/workflows/gh-aw-fragments/safe-output-add-comment-pr.md
🚧 Files skipped from review as they are similar to previous changes (8)
- .github/workflows/gh-aw-estc-pr-buildkite-detective.lock.yml
- .github/workflows/gh-aw-pr-review.lock.yml
- .github/workflows/gh-aw-pr-ci-detective.lock.yml
- .github/workflows/gh-aw-mention-in-issue-by-id.lock.yml
- .github/workflows/gh-aw-fragments/safe-output-push-to-pr.md
- .github/workflows/gh-aw-estc-docs-pr-review.lock.yml
- .github/workflows/gh-aw-create-pr-from-issue.lock.yml
- .github/workflows/gh-aw-dependency-review.lock.yml
.github/workflows/gh-aw-fragments/safe-output-add-comment-pr-hide-older.md
Show resolved
Hide resolved
…erge-conflicts Made-with: Cursor # Conflicts: # .github/workflows/gh-aw-create-pr-from-issue.lock.yml # .github/workflows/gh-aw-create-pr-from-issue.md # .github/workflows/gh-aw-dependency-review.lock.yml # .github/workflows/gh-aw-estc-docs-pr-review.lock.yml # .github/workflows/gh-aw-estc-pr-buildkite-detective.lock.yml # .github/workflows/gh-aw-mention-in-issue-by-id.lock.yml # .github/workflows/gh-aw-mention-in-pr-by-id.lock.yml # .github/workflows/gh-aw-mention-in-pr-no-sandbox.lock.yml # .github/workflows/gh-aw-mention-in-pr.lock.yml # .github/workflows/gh-aw-pr-actions-detective.lock.yml # .github/workflows/gh-aw-pr-actions-fixer.lock.yml # .github/workflows/gh-aw-pr-ci-detective.lock.yml # .github/workflows/gh-aw-pr-review-addresser.lock.yml # .github/workflows/gh-aw-pr-review.lock.yml
Pin the compiler build to e0993dfc79bafc3e268b143cd957374b70b33e77, document same-run issue-to-PR chaining guidance, and regenerate workflow outputs/lockfiles using the locally built binary to avoid remote clone stalls. Made-with: Cursor
Use PR head SHA as the preferred baseline for diff/stat/log context so merge-based conflict resolution does not flood self-review artifacts with upstream-only changes. Made-with: Cursor
Initialize pr_head_sha before PR-context checks so readiness logic works when /tmp/pr-context/pr.json is absent and pytest no longer fails with NameError. Made-with: Cursor
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/gh-aw-fragments/safe-output-push-to-pr.md (1)
16-21:⚠️ Potential issue | 🔴 CriticalInitialize
pr_head_shabefore the PR-context check.
pr_head_shais assigned only at line 20 inside theif os.path.isfile(pr_json_path):block, but read at lines 36, 50, and 65 outside that block. When/tmp/pr-context/pr.jsonis absent, execution skips the block and raisesUnboundLocalErroron the first read, breaking the diff/stat/log fallback mechanism.Proposed fix
pr_json_path = '/tmp/pr-context/pr.json' + pr_head_sha = '' if os.path.isfile(pr_json_path): with open(pr_json_path) as f: pr_data = json.load(f) pr_head_sha = pr_data.get('headRefOid', '')🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/gh-aw-fragments/safe-output-push-to-pr.md around lines 16 - 21, pr_head_sha is only set inside the conditional that checks pr_json_path, causing UnboundLocalError when the file is missing; initialize pr_head_sha (e.g., to an empty string or None) before the if-block that reads pr_json_path so later reads (the fallback logic referencing pr_head_sha) always have a defined value and the diff/stat/log fallback can run safely.
♻️ Duplicate comments (1)
.github/workflows/gh-aw-mention-in-pr.lock.yml (1)
1938-1938:⚠️ Potential issue | 🟠 MajorAdd
targetto review-comment replies.
reply_to_pull_request_review_commentis still the only PR-mutating handler here without atarget. Intarget-pr-numberruns, replies will still default to the triggering PR unless the agent manually setspull_request_number, so follow-up on addressed feedback can land on the wrong PR.Minimal fix
-"reply_to_pull_request_review_comment":{"max":10} +"reply_to_pull_request_review_comment":{"max":10,"target":"${{ inputs.target-pr-number || \"triggering\" }}"}Based on learnings,
.github/workflows/*.lock.ymlfiles here are generated from the source.md, so this should be fixed in the source workflow markdown and then recompiled.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/gh-aw-mention-in-pr.lock.yml at line 1938, The handler config GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG is missing a target for the reply_to_pull_request_review_comment entry, so replies default to the triggering PR; add "target":"${{ inputs.target-pr-number || \"triggering\" }}" to the reply_to_pull_request_review_comment object in the config (mirror how target is used in create_pull_request_review_comment and others) and then update the source workflow markdown that generates this .github/workflows/*.lock.yml so the compiled lock file is regenerated with the new target field.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/gh-aw-dependency-review.md:
- Around line 37-41: The workflow adds an input "target-pr-number" but still
uses the hard-coded github.event.pull_request.number in the visible PR context
and in Step 1's pull_request_read instructions; update the workflow to resolve
the PR number once (e.g., compute a single variable like pr_number =
inputs.target-pr-number || github.event.pull_request.number) and use that
variable everywhere the PR number is referenced (replace occurrences of
github.event.pull_request.number in the visible PR context, the
pull_request_read step, and any other PR-number references) so manual/dispatch
runs honor the provided target-pr-number consistently.
In @.github/workflows/gh-aw-estc-docs-pr-review.lock.yml:
- Around line 92-96: The workflow adds an input named target-pr-number but the
prompt construction still reads github.event.pull_request.number; update the
prompt generation steps that build the review prompt (the places currently using
github.event.pull_request.number) to instead use inputs.target-pr-number as a
fallback when github.event.pull_request.number is empty — e.g., set a variable
like pr_number: ${{ github.event.pull_request.number || inputs.target-pr-number
}} and use that variable wherever the prompt or agent reads PR state; after
changing the prompt interpolation for all occurrences (the three prompt blocks
noted), recompile the source .md into the .lock.yml using gh aw compile so the
lockfile reflects the new input plumbing.
In @.github/workflows/gh-aw-mention-in-pr-no-sandbox.md:
- Around line 48-52: The workflow declares the input target-pr-number but the
prompt still uses github.event.issue.number; update all places the prompt
anchors the PR (where the prompt templates currently reference `${{
github.event.issue.number }}`) to use the effective expression `${{
inputs.target-pr-number || github.event.issue.number }}` so manual/dispatch
triggers use the provided target-pr-number; search for occurrences in the prompt
blocks (e.g., the two places currently anchoring the prompt) and replace them
with the combined expression to ensure consistency between the declared input
(target-pr-number) and prompt context.
---
Outside diff comments:
In @.github/workflows/gh-aw-fragments/safe-output-push-to-pr.md:
- Around line 16-21: pr_head_sha is only set inside the conditional that checks
pr_json_path, causing UnboundLocalError when the file is missing; initialize
pr_head_sha (e.g., to an empty string or None) before the if-block that reads
pr_json_path so later reads (the fallback logic referencing pr_head_sha) always
have a defined value and the diff/stat/log fallback can run safely.
---
Duplicate comments:
In @.github/workflows/gh-aw-mention-in-pr.lock.yml:
- Line 1938: The handler config GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG is missing a
target for the reply_to_pull_request_review_comment entry, so replies default to
the triggering PR; add "target":"${{ inputs.target-pr-number || \"triggering\"
}}" to the reply_to_pull_request_review_comment object in the config (mirror how
target is used in create_pull_request_review_comment and others) and then update
the source workflow markdown that generates this .github/workflows/*.lock.yml so
the compiled lock file is regenerated with the new target field.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 7618c7c7-87aa-45fc-b200-91ccd603aabc
📒 Files selected for processing (79)
.github/workflows/agent-deep-dive.lock.yml.github/workflows/agent-efficiency.lock.yml.github/workflows/gh-aw-agent-suggestions.lock.yml.github/workflows/gh-aw-autonomy-atomicity-analyzer.lock.yml.github/workflows/gh-aw-branch-actions-detective.lock.yml.github/workflows/gh-aw-breaking-change-detect.lock.yml.github/workflows/gh-aw-breaking-change-detector.lock.yml.github/workflows/gh-aw-bug-exterminator.lock.yml.github/workflows/gh-aw-bug-hunter.lock.yml.github/workflows/gh-aw-code-duplication-detector.lock.yml.github/workflows/gh-aw-code-duplication-fixer.lock.yml.github/workflows/gh-aw-code-quality-audit.lock.yml.github/workflows/gh-aw-code-simplifier.lock.yml.github/workflows/gh-aw-create-pr-from-issue.lock.yml.github/workflows/gh-aw-deep-research.lock.yml.github/workflows/gh-aw-dependency-review.lock.yml.github/workflows/gh-aw-dependency-review.md.github/workflows/gh-aw-docs-drift.lock.yml.github/workflows/gh-aw-docs-patrol.lock.yml.github/workflows/gh-aw-duplicate-issue-detector.lock.yml.github/workflows/gh-aw-estc-actions-resource-not-accessible-detector.lock.yml.github/workflows/gh-aw-estc-docs-patrol-external.lock.yml.github/workflows/gh-aw-estc-docs-pr-review.lock.yml.github/workflows/gh-aw-estc-docs-pr-review.md.github/workflows/gh-aw-estc-downstream-health.lock.yml.github/workflows/gh-aw-estc-newbie-contributor-patrol-external.lock.yml.github/workflows/gh-aw-estc-pr-buildkite-detective.lock.yml.github/workflows/gh-aw-estc-pr-buildkite-detective.md.github/workflows/gh-aw-flaky-test-investigator.lock.yml.github/workflows/gh-aw-fragments/safe-output-push-to-pr.md.github/workflows/gh-aw-framework-best-practices.lock.yml.github/workflows/gh-aw-information-architecture.lock.yml.github/workflows/gh-aw-internal-gemini-cli-web-search.lock.yml.github/workflows/gh-aw-internal-gemini-cli.lock.yml.github/workflows/gh-aw-issue-fixer.lock.yml.github/workflows/gh-aw-issue-triage.lock.yml.github/workflows/gh-aw-mention-in-issue-by-id.lock.yml.github/workflows/gh-aw-mention-in-issue-no-sandbox.lock.yml.github/workflows/gh-aw-mention-in-issue.lock.yml.github/workflows/gh-aw-mention-in-pr-by-id.lock.yml.github/workflows/gh-aw-mention-in-pr-no-sandbox.lock.yml.github/workflows/gh-aw-mention-in-pr-no-sandbox.md.github/workflows/gh-aw-mention-in-pr.lock.yml.github/workflows/gh-aw-mention-in-pr.md.github/workflows/gh-aw-newbie-contributor-fixer.lock.yml.github/workflows/gh-aw-newbie-contributor-patrol.lock.yml.github/workflows/gh-aw-performance-profiler.lock.yml.github/workflows/gh-aw-plan.lock.yml.github/workflows/gh-aw-pr-actions-detective.lock.yml.github/workflows/gh-aw-pr-actions-detective.md.github/workflows/gh-aw-pr-actions-fixer.lock.yml.github/workflows/gh-aw-pr-actions-fixer.md.github/workflows/gh-aw-pr-ci-detective.lock.yml.github/workflows/gh-aw-pr-labeler.lock.yml.github/workflows/gh-aw-pr-review-addresser.lock.yml.github/workflows/gh-aw-pr-review.lock.yml.github/workflows/gh-aw-product-manager-impersonator.lock.yml.github/workflows/gh-aw-project-summary.lock.yml.github/workflows/gh-aw-refactor-opportunist.lock.yml.github/workflows/gh-aw-release-update.lock.yml.github/workflows/gh-aw-scheduled-audit.lock.yml.github/workflows/gh-aw-scheduled-fix.lock.yml.github/workflows/gh-aw-small-problem-fixer.lock.yml.github/workflows/gh-aw-stale-issues-investigator.lock.yml.github/workflows/gh-aw-stale-issues-remediator.lock.yml.github/workflows/gh-aw-stale-issues.lock.yml.github/workflows/gh-aw-test-coverage-detector.lock.yml.github/workflows/gh-aw-test-improvement.lock.yml.github/workflows/gh-aw-test-improver.lock.yml.github/workflows/gh-aw-text-auditor.lock.yml.github/workflows/gh-aw-text-beautifier.lock.yml.github/workflows/gh-aw-update-pr-body.lock.yml.github/workflows/gh-aw-ux-design-patrol.lock.yml.github/workflows/internal-downstream-health.lock.yml.github/workflows/upgrade-check.lock.yml.github/workflows/workflow-patrol.lock.ymlMakefiledocs/upgrading.mddocs/workflows/detector-fixer-chaining.md
✅ Files skipped from review due to trivial changes (1)
- .github/workflows/gh-aw-stale-issues-investigator.lock.yml
🚧 Files skipped from review as they are similar to previous changes (4)
- .github/workflows/gh-aw-pr-actions-detective.lock.yml
- .github/workflows/gh-aw-dependency-review.lock.yml
- .github/workflows/gh-aw-pr-review.lock.yml
- .github/workflows/gh-aw-pr-ci-detective.lock.yml
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/gh-aw-fragments/safe-output-push-to-pr.md (1)
15-27:⚠️ Potential issue | 🔴 CriticalTest expectations do not match the new code behavior—merge commits will not be rejected as the test expects.
The test at
tests/test_safe_input_ready_to_make_pr.py::TestPushGuards::test_merge_commit_detected(lines 539–556) was not updated. It creates a merge commit and asserts that the guard returns an error with "Merge commit" in the message (lines 555–556), expecting merge commits to be rejected.However, the code at lines 15–27 uses a
git merge-base --is-ancestorcheck that allows merge commits: the PR head remains an ancestor after a merge, so the check passes without error. This will cause the test to fail when run against the new code.Either update the test to expect success for merge commits, or revert the code to reject them.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/gh-aw-fragments/safe-output-push-to-pr.md around lines 15 - 27, The guard currently uses git merge-base --is-ancestor (anc) which allows merge commits, causing the test expecting merge commits to be rejected to fail; update the guard (around pr_head_sha, pr_json_path, and the run(...) call that sets anc) to also detect and reject merge commits by running a rev-list check (e.g. run git rev-list --merges pr_head_sha..HEAD) and, if that returns any commits, emit the same error/exit path as the existing ancestor check so merge commits are rejected as the test expects.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In @.github/workflows/gh-aw-fragments/safe-output-push-to-pr.md:
- Around line 15-27: The guard currently uses git merge-base --is-ancestor (anc)
which allows merge commits, causing the test expecting merge commits to be
rejected to fail; update the guard (around pr_head_sha, pr_json_path, and the
run(...) call that sets anc) to also detect and reject merge commits by running
a rev-list check (e.g. run git rev-list --merges pr_head_sha..HEAD) and, if that
returns any commits, emit the same error/exit path as the existing ancestor
check so merge commits are rejected as the test expects.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 42ba1afe-ea04-48d2-a3d1-b9b6d1d8b1d2
📒 Files selected for processing (1)
.github/workflows/gh-aw-fragments/safe-output-push-to-pr.md
Plumb target-pr-number through prompt context and add reply_to_pull_request_review_comment targeting, then regenerate lockfiles so compiled workflow verification passes for manual/dispatch runs. Made-with: Cursor
Summary
ready_to_push_to_prguidance while still blocking history-rewrite flows (git rebase,git reset --hard+ cherry-pick).ready_to_push_to_prkeeps the ancestry/history-rewrite guard but no longer rejects merge commits, and anchor self-review diff/stat/log generation to the original PR head when available.mention-in-prinstructions to callready_to_push_to_prbeforepush_to_pull_request_branch, defer merge-conflict/update-branch mechanics to shared guidance, and rerun required repo checks ifready_to_push_to_prresults in additional edits.ready_to_push_to_prguidance togh-aw-mention-in-pr-no-sandbox.md.target: '$\{\{ inputs.target-pr-number || "triggering" }}') to PR-related safe-output fragments (add_comment,create_pull_request_review_comment,submit_pull_request_review,resolve_pull_request_review_thread,push_to_pull_request_branch) and remove duplicated per-workflow targeting config fromgh-aw-mention-in-pr-by-id.md.target-pr-numberworkflow input togh-aw-mention-in-pr-no-sandbox.mdfor explicit PR targeting on manual/dispatch runs.agentics-maintenancedispatch operation sentinel from'none'to''for compiled workflow consistency.Makefilecompiler pinning sosetup-gh-awinstallsgh-awfromstrawgate/gh-awate0993dfc79bafc3e268b143cd957374b70b33e77, then regenerate lockfiles.gh-aw-create-pr-from-issuechaining and compiler output propagation (docs/upgrading.md,docs/workflows/detector-fixer-chaining.md).Test plan
make compilemake lint-workflowsmention-in-prnow callsready_to_push_to_prbeforepush_to_pull_request_branch.ready_to_push_to_prwhile history rewrites are still blocked (seetests/test_safe_input_ready_to_make_pr.py).The body of this PR is automatically managed by the Trigger Update PR Body workflow.