Repository navigation
Recognize verified compiler-owned checkout cleanup in artipacked lint - #71806
Conversation
Split the checkout lint concern from #71711. Preserve runtime authentication and standalone lint behavior, with provenance-scoped exceptions and independent regressions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Document exact-block provenance, exclusion boundaries, standalone lint behavior, and regression evidence in specification version 1.0.70. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve both compiler specification amendments, assigning the checkout lint exception version 1.0.71 after main's admission-gating version 1.0.70. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep standalone lint and runtime checkout authentication unchanged. Require current compiler provenance, a unique exact block, and immediate canonical cleanup plus verification. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve verified agent checkout cleanup alongside finalized safe-output provenance handling and upstream release checkout credential hardening. Reconcile specification history with the merged base. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
The credential-warning exemption can apply to checkouts that cleanup and verification never inspect.
1 open issue
What changed in this PR
Extends compiler-only artipacked filtering to recognize generated agent checkouts followed immediately by credential cleanup and verification, building on the existing PR-checkout exception.
Changes:
- Tracks per-compilation checkout provenance and requires unique, exact block matches.
- Adds regressions for ownership boundaries, multiple repositories, compiler reuse, and unchanged runtime YAML.
- Documents the compiler-only exemptions and their security constraints.
| File | Description |
|---|---|
specs/compiler-threat-detection-spec.md |
Defines checkout-exemption requirements and compatibility versions. |
specs/compiler-threat-detection-changelog.md |
Records the PR and agent checkout exemptions. |
pkg/workflow/compiler_yaml.go |
Resets checkout provenance between compilations. |
pkg/workflow/compiler_yaml_checkout.go |
Captures generated agent checkout blocks. |
pkg/workflow/compiler_types.go |
Stores compiler-owned checkout provenance. |
pkg/workflow/compiler_safe_outputs_steps.go |
Captures the generated PR checkout/authentication block. |
pkg/workflow/compiler_lint.go |
Filters eligible warning-level checkout diagnostics. |
pkg/workflow/compiler_lint_test.go |
Tests generated PR checkouts and provenance reset. |
pkg/workflow/compiler_lint_checkouts.go |
Matches unique compiler-owned PR checkout blocks. |
pkg/workflow/compiler_lint_checkouts_test.go |
Tests PR ownership boundaries and per-repository tokens. |
pkg/workflow/compiler_lint_checkout_cleanup.go |
Determines agent checkout cleanup exemptions. |
pkg/workflow/compiler_lint_checkout_cleanup_test.go |
Tests cleanup eligibility, reuse, and runtime YAML stability. |
docs/src/content/docs/reference/workflow-linters.md |
Explains compiler-only artipacked exemptions. |
Review effort: Max
Require statically provable workspace-relative paths within the cleanup and verification scripts' maxdepth 15 limit. Cover config depth 15 versus 16, normalized paths and unresolved path semantics without altering runtime cleanup. 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: 78c2db2
|
PR #71806 merged into |
|
🎉 This pull request is included in a new release. Release: |

artipackedwarns on compiler-generated agent checkouts usingforce-clean-git-credentials: true, even when the next step removes credentials and verifies their absence before agent execution. This fixes that false positive without changing checkout authentication or credential lifecycle.Approach
artipackedfindings inside a uniquely matching block when the immediately following step exactly matches compiler-owned cleanup plus verification.Validation
Passed
make build,make fmt, scoped Go lint (zero issues), and:Regressions cover provenance boundaries, multi-repository token preservation, compiler reuse, unchanged standalone lint, and identical runtime YAML with lint enabled or disabled. No corpus workflows were executed.
make agent-report-progresspassed impacted tests but was not fully green: its Go lint initially hit shared-runner contention (the separate scoped run passed), and custom lint reports pre-existing uncheckedfmt.Fprintfand slice accesses on unchanged lines incompiler_yaml_checkout.go. The new implementation has no custom-lint findings.