Repository navigation
Bind safe-output patch and bundle application to validated bytes - #68732
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
Great work binding patch/bundle application to validated bytes! Focused, tested, and well described — this looks ready for review.
|
Reject nonregular artifacts without blocking, exclude permanent integrity failures from transient retries, preserve filesystem diagnostics, and permit only registered local Git cleanup after failure. Avoid full artifact scans around unrelated commands while retaining byte verification at trust boundaries. Fixes #68786 Fixes #68787 Fixes #68788 Fixes #68789 Fixes #68790 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Document PTI-001 through PTI-007, map runtime conformance evidence, and clarify the compiler threat boundary without adding a CTR rule. Add a bounded transport model with patch/bundle profiles, negative controls, reachability witnesses, and a pinned-runtime checker that cleans temporary artifacts. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🔵 Needs a closer look
Security-sensitive integrity, recovery, and publication changes retain unresolved gaps and require final human review.
5 open findings
Integrity failures bypass custom retry classification · New Rewrite rebase lacks scoped cleanup on integrity failure · New Unconditional git am abort masks malformed patch errors · New Missing post-creation integrity check enables follow-on actions · New Missing post-issue integrity check enables agent assignment · New
What changed in this PR
Strengthens gh-aw safe-output handling by binding patch and bundle validation, application, and publication to captured bytes.
Changes:
- Adds captured-byte integrity checks and private Git snapshots.
- Guards transformations, retries, and remote publication.
- Expands cleanup, diagnostics, and regression coverage.
| File | Description |
|---|---|
actions/setup/js/transport_integrity.test.cjs |
Tests integrity, snapshots, cleanup, and I/O limits. |
actions/setup/js/transport_integrity.cjs |
Implements capture, verification, snapshots, and cleanup. |
actions/setup/js/transport_integrity_handlers.test.cjs |
Tests handler tampering and publication boundaries. |
actions/setup/js/transport_integrity_git.test.cjs |
Tests cleanup with real Git. |
actions/setup/js/push_to_pull_request_branch.test.cjs |
Updates snapshot and transformation assertions. |
actions/setup/js/push_to_pull_request_branch.cjs |
Integrates integrity guards into branch updates. |
actions/setup/js/push_signed_commits.cjs |
Checks integrity before remote writes. |
actions/setup/js/extra_empty_commit.cjs |
Guards CI-trigger commit publication. |
actions/setup/js/error_recovery.test.cjs |
Tests permanent integrity-error classification. |
actions/setup/js/error_recovery.cjs |
Excludes integrity errors from default retries. |
actions/setup/js/create_pull_request.test.cjs |
Updates bundle snapshot tests and fixtures. |
actions/setup/js/create_pull_request.cjs |
Guards application, transformations, and publication. |
actions/setup/js/create_or_update_pull_request.test.cjs |
Tests integrity checks across API retries. |
actions/setup/js/create_or_update_pull_request.cjs |
Checks integrity before each creation attempt. |
🧠 Review effort: Max
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
…tion Preserve both runtime checkout and transport-integrity specifications, advance the safe-output spec to 1.29.12, and retain both formal-model descriptions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
@copilot address the following outstanding work in one pass:
Push the necessary fixes, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved. Use the pr-finisher skill and stop when only human review or CI remains; do not trigger CI. Sous-chef head: 1fbab21
|
…ssertion-for-patch-validation Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
|
@copilot address the following outstanding work in one pass:
Push the necessary fixes, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved. Use the pr-finisher skill and stop when only human review or CI remains; do not trigger CI. Sous-chef head: fa22065
|
…ssertion-for-patch-validation # Conflicts: # docs/src/content/docs/specs/safe-outputs-specification.md # specs/compiler-threat-detection-changelog.md # specs/compiler-threat-detection-spec.md Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
|
/smoke |
|
🍳 skillet has started processing this pull request comment |
Generate patch and bundle names with the authorized qualified slug in both PR producers. Resolve the same target before privileged capture, reject competing or mixed namespaces permanently, and preserve only a unique legacy namespace. Add producer/consumer, handler, and formal-model regression coverage. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Pick up environment-resolved checkout, session parser dependencies, runtime publishing, and work-queue fixes. Regenerate workflows and verify environment-target patch/bundle names round-trip through privileged transport resolution. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Prevent salts from reviving empty normalized branch names and reject invalid transport filename components on both producers and consumers. Clarify the verified review-fix contracts for publication, retries, and cleanup. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
🎉 This pull request is included in a new release. Release: |


Summary
Bind safe-output patch validation, bundle import, and publication to the same captured bytes. Both
create_pull_requestandpush_to_pull_request_branchreject changed or ambiguous artifacts instead of applying or publishing unvalidated content.ERR_TRANSPORT_INTEGRITY, with a safe diagnostic, before capture, Git commands, publication, retries, or fallback issues;allow-emptydoes not bypass it.Integration with main
Merged
origin/mainthrough727195a53b, including the environment-resolved cross-repository checkout fix, session parser dependencies, runtime publishing, and work-queue fixes. Preserved qualified transport resolution and added producer/consumer round-trip coverage for environment-selected side repositories. Regenerated workflow locks to include the upstream target-repository environment forwarding.Validation
TMPDIR=/tmpto match their hardcoded recovery paths on macOS and a 60-second test timeout. The initial default-environment failures were rerun successfully with those settings.Related issues
Addresses #68786, #68787, #68788, #68789, and #68790; all five are closed.
Readiness
The PR is open and not draft. Local validation above covers the integrated code; GitHub CI/review readiness for the newly pushed HEAD has not been verified by this pass. No workflow runs, merge, or auto-merge were triggered.