Skip to content

Refactor expression helper semantics into a single workflow source and remove duplicate CLI version state#27198

Merged
pelikhan merged 6 commits intomainfrom
copilot/refactor-expression-detection-helpers
Apr 19, 2026
Merged

Refactor expression helper semantics into a single workflow source and remove duplicate CLI version state#27198
pelikhan merged 6 commits intomainfrom
copilot/refactor-expression-detection-helpers

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 19, 2026

Expression detection logic in pkg/workflow had drifted into multiple near-duplicate helpers with different semantics, and CLI/workflow versioning maintained two mutable copies that required manual synchronization. This PR consolidates expression checks behind shared helpers and makes workflow version the only version state.

  • Expression helper consolidation (pkg/workflow)

    • Centralized expression checks in expression_patterns.go:
      • hasExpressionMarker (permissive ${{ marker check)
      • containsExpression (complete, non-empty ${{ ... }} containment)
      • isExpression (entire string is an expression)
    • Removed duplicate local helpers from:
      • dispatch_repository_validation.go
      • shell.go
      • safe_outputs_validation.go
      • templatables.go
    • Updated downstream call sites to use shared semantics in:
      • tools_parser.go
      • safe_outputs_max_validation.go
      • frontmatter_extraction_metadata.go
    • Resolved helper-name collision in expression_safety_validation.go by renaming list membership helper to containsExpressionInList.
  • Version state unification (pkg/cli)

    • Removed local version variable and init synchronization path in pkg/cli/version.go.
    • cli.GetVersion() now delegates directly to workflow.GetVersion().
    • cli.SetVersionInfo(v) now delegates directly to workflow.SetVersion(v).
  • Tests aligned with new semantics

    • Added focused helper coverage in pkg/workflow/expression_patterns_test.go.
    • Updated target-validation expression test naming/calls in pkg/workflow/safe_outputs_target_validation_test.go.
    • Added pkg/cli/version_test.go to verify CLI↔workflow version delegation behavior.
    • Added additional review-requested coverage in:
      • pkg/workflow/shell_test.go for embedded expressions, incomplete marker input (${{ ...), and empty expression body (${{}}) handling in shell escaping.
      • pkg/workflow/dispatch_repository_test.go for permissive marker-based bypass behavior in repository/allowed repository validation, with explicit runtime-behavior documentation for malformed expressions.
// pkg/workflow/expression_patterns.go
func hasExpressionMarker(s string) bool { ... }   // "${{" exists
func containsExpression(s string) bool { ... }    // contains non-empty "${{ ... }}"
func isExpression(s string) bool { ... }          // full-string "${{ ... }}"

[!WARNING]

Copilot AI changed the title [WIP] Refactor expression detection helpers in pkg/workflow Refactor expression helper semantics into a single workflow source and remove duplicate CLI version state Apr 19, 2026
Copilot AI requested a review from pelikhan April 19, 2026 15:14
@pelikhan pelikhan marked this pull request as ready for review April 19, 2026 15:16
Copilot AI review requested due to automatic review settings April 19, 2026 15:16
@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot more tests

…d CLI version unification

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

Commit pushed: cf060ea

🏗️ ADR gate enforced by Design Decision Gate 🏗️

@github-actions
Copy link
Copy Markdown
Contributor

🏗️ Design Decision Gate — ADR Required

This PR makes significant changes to core business logic (145 new lines in pkg/) but does not have a linked Architecture Decision Record (ADR).

AI has analyzed the PR diff and generated a draft ADR to help you get started:

📄 Draft ADR: docs/adr/27198-consolidate-expression-helpers-and-unify-cli-version-state.md

The draft captures two distinct design decisions implicit in this PR:

  1. Expression helper consolidation — Three canonical predicates (hasExpressionMarker, containsExpression, isExpression) are now the single source of truth in expression_patterns.go, replacing per-file duplicates with subtly different semantics.
  2. CLI version state unificationpkg/cli is now a thin delegation layer with no independent version variable or init() synchronization path; all version state lives in pkg/workflow.

What to do next

  1. Review the draft ADR committed to your branch — it was generated from the PR diff
  2. Complete any missing context — add rationale the AI couldn't fully infer, refine the decision language, and confirm the listed alternatives are the ones you actually considered
  3. Reference the ADR in this PR body by adding a line such as:

    ADR: ADR-27198: Consolidate Expression Helpers and Unify CLI Version State

Once an ADR is linked in the PR body, this gate will re-run and verify the implementation matches the decision.

Why ADRs Matter

"AI made me procrastinate on key design decisions. Because refactoring was cheap, I could always say 'I'll deal with this later.' Deferring decisions corroded my ability to think clearly."

ADRs create a searchable, permanent record of why the codebase looks the way it does. Future contributors (and your future self) will thank you.


📋 Michael Nygard ADR Format Reference

An ADR must contain these four sections to be considered complete:

  • Context — What is the problem? What forces are at play?
  • Decision — What did you decide? Why?
  • Alternatives Considered — What else could have been done?
  • Consequences — What are the trade-offs (positive and negative)?

All ADRs are stored in docs/adr/ as Markdown files numbered by PR number (e.g., 27198-title.md for PR #27198).

🔒 This PR cannot merge until an ADR is linked in the PR body.

References:

Note

🔒 Integrity filter blocked 1 item

The following item were blocked because they don't meet the GitHub integrity level.

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

🏗️ ADR gate enforced by Design Decision Gate 🏗️ · ● 163.8K ·

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR consolidates GitHub Actions expression detection into shared helpers within pkg/workflow and removes duplicate CLI-local version state by delegating CLI version getters/setters to the workflow package.

Changes:

  • Centralized expression checks (hasExpressionMarker, containsExpression, isExpression) and updated call sites to use consistent semantics.
  • Removed several file-local expression helper implementations in favor of the shared helpers.
  • Unified version state by making pkg/cli delegate version operations to pkg/workflow, with added tests validating delegation.
Show a summary per file
File Description
pkg/workflow/expression_patterns.go Adds shared expression helper functions alongside existing regex patterns.
pkg/workflow/expression_patterns_test.go Adds focused tests covering the new expression helper semantics.
pkg/workflow/tools_parser.go Updates expression detection for GitHub tool parsing and templated timeout parsing.
pkg/workflow/templatables.go Replaces local expression checks with shared isExpression and removes now-redundant helper.
pkg/workflow/shell.go Switches shell argument escaping to use shared containsExpression.
pkg/workflow/safe_outputs_validation.go Uses shared containsExpression for target validation and removes local helper.
pkg/workflow/safe_outputs_max_validation.go Uses shared isExpression to skip compile-time validation for expression max values.
pkg/workflow/frontmatter_extraction_metadata.go Uses shared isExpression when extracting timeout fields from frontmatter.
pkg/workflow/dispatch_repository_validation.go Uses shared hasExpressionMarker and removes local expression marker helper.
pkg/workflow/expression_safety_validation.go Renames list membership helper to avoid collision (containsExpressionInList).
pkg/workflow/safe_outputs_target_validation_test.go Updates test naming and calls to reflect shared containsExpression.
pkg/cli/version.go Removes CLI-local version state; delegates to workflow version functions.
pkg/cli/version_test.go Adds tests to ensure CLI version delegation behavior stays correct.

Copilot's findings

Tip

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

  • Files reviewed: 14/14 changed files
  • Comments generated: 1

Comment on lines +73 to +82
// containsExpression reports whether s contains a complete non-empty GitHub Actions expression.
// A complete expression has a "${{" marker that appears before a closing "}}" marker
// with at least one character between them.
func containsExpression(s string) bool {
_, afterOpen, found := strings.Cut(s, "${{")
if !found {
return false
}
closeIdx := strings.Index(afterOpen, "}}")
return closeIdx > 0
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

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

containsExpression can return true for strings that are not actually a complete ${{ ... }} expression because it just looks for the first ${{ and then the first }} anywhere later in the string. For example, it will treat ${{ '}}' (no closing marker) or a string with an unmatched opening marker followed by a later unrelated }} as containing a complete expression. Since this helper is now used for validation/quoting decisions, consider implementing it using the existing ExpressionPattern (or a small scanner that finds a properly paired ${{}}) so it only returns true when a real expression token is present.

Suggested change
// containsExpression reports whether s contains a complete non-empty GitHub Actions expression.
// A complete expression has a "${{" marker that appears before a closing "}}" marker
// with at least one character between them.
func containsExpression(s string) bool {
_, afterOpen, found := strings.Cut(s, "${{")
if !found {
return false
}
closeIdx := strings.Index(afterOpen, "}}")
return closeIdx > 0
// findExpressionEnd returns the index of the closing "}}" for the expression that starts at
// openIdx, or -1 if no properly closed expression exists. Closing markers inside quoted
// string literals are ignored.
func findExpressionEnd(s string, openIdx int) int {
start := openIdx + len("${{")
if start >= len(s) {
return -1
}
var quote byte
for i := start; i < len(s)-1; i++ {
ch := s[i]
if quote != 0 {
if ch == '\\' && i+1 < len(s) {
i++
continue
}
if ch == quote {
quote = 0
}
continue
}
switch ch {
case '\'', '"', '`':
quote = ch
case '}':
if s[i+1] == '}' && i > start {
return i
}
}
}
return -1
}
// containsExpression reports whether s contains a complete non-empty GitHub Actions expression.
// A complete expression has a "${{" marker that appears before a matching closing "}}"
// marker, with at least one character between them.
func containsExpression(s string) bool {
for searchFrom := 0; searchFrom < len(s); {
openRel := strings.Index(s[searchFrom:], "${{")
if openRel == -1 {
return false
}
openIdx := searchFrom + openRel
if findExpressionEnd(s, openIdx) != -1 {
return true
}
searchFrom = openIdx + len("${{")
}
return false

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown
Contributor

🧪 Test Quality Sentinel Report

Test Quality Score: 75/100

⚠️ Acceptable

Metric Value
New/modified tests analyzed 4
✅ Design tests (behavioral contracts) 4 (100%)
⚠️ Implementation tests (low value) 0 (0%)
Tests with error/edge cases 2 (50%)
Duplicate test clusters 0
Test inflation detected Yes (2 files exceed 2:1 ratio)
🚨 Coding-guideline violations 0

Test Classification Details

View all 4 tests
Test File Classification Issues Detected
TestGetVersionDelegatesToWorkflowVersion pkg/cli/version_test.go:12 ✅ Design Happy-path only; no error paths exist (simple delegation)
TestSetVersionInfoUpdatesWorkflowVersion pkg/cli/version_test.go:20 ✅ Design Happy-path only; verifies two observable side effects
TestExpressionHelpers pkg/workflow/expression_patterns_test.go:459 ✅ Design Table-driven; covers 6 cases including edge cases
TestContainsExpressionForTargetValidation pkg/workflow/safe_outputs_target_validation_test.go:377 ✅ Design Rename-only refactor to track new function name; existing edge cases preserved

Test Inflation Detected

File Lines Added (Test) Lines Added (Production) Ratio
pkg/cli/version_test.go 27 4 (in version.go) 6.75:1 ⚠️
pkg/workflow/expression_patterns_test.go 63 25 (in expression_patterns.go) 2.52:1 ⚠️

Note: In both cases the inflation is expected and positive — the PR's intent is to consolidate helpers and reduce production code (net -82 lines deleted), while adding tests to pin down the refactored behavior. The binary penalty is applied per the rubric formula, but this is not a quality concern here.


Analysis Notes

TestGetVersionDelegatesToWorkflowVersion / TestSetVersionInfoUpdatesWorkflowVersion
These tests verify the behavioral contract introduced by the refactoring: CLI version state now delegates to workflow.GetVersion() / workflow.SetVersion() rather than maintaining its own state. The tests correctly save and restore the original version via defer, avoiding test pollution. Assertion messages are present. No error paths exist on these functions (they are pure setters/getters), so the absence of error-case rows is appropriate.

TestExpressionHelpers
Strong table-driven test covering 6 semantically distinct cases for three helper functions (hasExpressionMarker, containsExpression, isExpression). Edge cases include: partial/malformed expressions ($\{\{ github.actor without closing), empty expression body ($\{\{}}), reversed marker order, and no markers at all. The test comment clarifying the semantic difference between isExpression (strict wrapper check) and containsExpression (non-empty body required) is a valuable invariant note. Assertion messages are present.

TestContainsExpressionForTargetValidation (renamed from TestIsGitHubExpression)
Mechanical rename to track the consolidated containsExpression() function. The underlying test logic and edge-case coverage are unchanged. No new gaps introduced.


Language Support

Tests analyzed:

  • 🐹 Go (*_test.go): 4 tests — all unit (//go:build !integration)
  • 🟨 JavaScript (*.test.cjs, *.test.js): 0 tests

Verdict

Check passed. 0% of new tests are implementation tests (threshold: 30%). No coding-guideline violations detected. Score: 75/100 — the 5-point gap from "Excellent" is solely due to the test-inflation binary penalty, which is expected given the nature of this refactoring PR (net line reduction in production code).

📖 Understanding Test Classifications

Design Tests (High Value) verify what the system does:

  • Assert on observable outputs, return values, or state changes
  • Cover error paths and boundary conditions
  • Would catch a behavioral regression if deleted
  • Remain valid even after internal refactoring

Implementation Tests (Low Value) verify how the system does it:

  • Assert on internal function calls (mocking internals)
  • Only test the happy path with typical inputs
  • Break during legitimate refactoring even when behavior is correct
  • Give false assurance: they pass even when the system is wrong

Goal: Shift toward tests that describe the system's behavioral contract — the promises it makes to its users and collaborators.

References: §24632327321

🧪 Test quality analysis by Test Quality Sentinel · ● 657.7K ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

✅ Test Quality Sentinel: 75/100. Test quality is acceptable — 0% of new tests are implementation tests (threshold: 30%). All 4 new/modified tests enforce behavioral contracts. No coding-guideline violations detected.

Copilot AI and others added 2 commits April 19, 2026 15:40
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 19, 2026

@copilot more tests

Added more focused tests in f47e963 (plus a clarification update in 13c40d3):

  • pkg/workflow/shell_test.go: added edge cases for embedded expressions, incomplete ${{ marker, and empty expression body.
  • pkg/workflow/dispatch_repository_test.go: added coverage for partial expression-marker values bypassing static slug validation.
  • Documented runtime behavior for malformed expressions in the partial-marker test.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh gh repo view --json owner,name --jq .owner.login &#43; &#34;/&#34; &#43; .name /usr/bin/git GOINSECURE GOMOD GOMODCACHE git conf�� extensions.objectformat GOPROXY /usr/bin/git GOSUMDB GOWORK 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh repo view owner/repo --gi�� for-each-ref l ache/node/24.14.1/x64/bin/node -json GO111MODULE 64/bin/go ache/node/24.14.1/x64/bin/node -281�� --show-toplevel sh /usr/bin/infocmp 2535659102/001&#39; 2535659102/001&#39; 64/bin/go infocmp (http block)
    • Triggering command: /usr/bin/gh gh repo view owner/repo /tmp�� GOMODCACHE l /usr/bin/git -json GO111MODULE 64/bin/go git -C /tmp/gh-aw-test-runs/20260419-153246-29505/test-1993729918/.github/workflows s /opt/hostedtoolcache/node/24.14.1/x64/bin/node prettier --check 10a8320ca8ff7d30--show-toplevel node (http block)
  • https://api.github.com/orgs/test-owner/actions/secrets
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name -template-expressions.md GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE node /hom�� --check **/*.cjs 64/bin/go **/*.json --ignore-path ../../../.pretti-bool go (http block)
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name -template-expressions.md GO111MODULE ache/go/1.25.8/xGOMODCACHE GOINSECURE GOMOD GOMODCACHE go env .js&#39; --ignore-paGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name -json GO111MODULE ache/go/1.25.8/xGOMODCACHE GOINSECURE GOMOD (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git itmaster_branch2git itmaster_branch2rev-parse 64/bin/go git rev-�� --show-toplevel go /usr/bin/git 2980170845/.githgit GO111MODULE ache/go/1.25.8/x--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq [.object.sha, .object.type] | @tsv xterm-color sh /usr/bin/gh npx prettier --cgit GOPROXY 64/bin/go gh work�� list --repo /usr/bin/git --json name,path,state ache/go/1.25.8/x--package-lock-only git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq [.object.sha, .object.type] | @tsv xterm-color sh /usr/bin/gh LsRemoteWithRealgit LsRemoteWithRealrev-parse -d gh work�� list --repo /usr/bin/git --json name,path,state ache/go/1.25.8/x--package-lock-only git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv /tmp/TestGuardPolicyMinIntegrityOnlyrepos_only_without_min-integrity722329593/001 rev-parse /usr/bin/git &#34;prettier&#34; --chegit GOPROXY 64/bin/go git -C /home/REDACTED/work/gh-aw/gh-aw/.github/workflows rev-parse /usr/bin/git -x c 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv mpleWorkflow3630934985/001 l /usr/bin/git remote.origin.urgit GO111MODULE 64/bin/go /usr/bin/git conf�� --get-regexp ^remote\..*\.gh-resolved$ /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv /tmp/TestGuardPolicyBlockedUsersCommaSeparatedCompiledOutput3705392621/001 l /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv 7308572/001 GO111MODULE 64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/link env .test GO111MODULE ortcfg.link GOINSECURE GOMOD GOMODCACHE XlhOUXDogxPKyEyQs8/ybYRZR2-dRV4ZTest commit (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git 769331507 GO111MODULE ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel go /usr/bin/git sRemoteWithRealGgit sRemoteWithRealGrev-parse ache/go/1.25.8/x--show-toplevel /usr/bin/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -instructions-tegit GO111MODULE ache/node/24.14.--show-toplevel git rev-�� --show-toplevel node /usr/bin/git k/gh-aw/gh-aw/.ggit GOPROXY ache/node/24.14.--show-toplevel git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv -v go /usr/bin/git -json GO111MODULE .cfg git rev-�� --show-toplevel go /usr/bin/git 4150281452 GO111MODULE ache/go/1.25.8/x--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE .cfg git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 1/x64/bin/node git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE cfg git rev-�� --show-toplevel go /usr/bin/git CommaSeparatedCogit GO111MODULE 1/x64/bin/node git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv --check **/*.cjs 64/bin/go **/*.json --ignore-path ../../../.pretti-test.paniconexit0 go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv --check **/*.cjs 64/bin/go **/*.json --ignore-path run-script/lib/n/tmp/TestHashConsistency_GoAndJavaScript4088799551/001/test-simple-frontmatter.md go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --git-dir go /usr/bin/git or.md GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE x_amd64/vet git rev-�� --show-toplevel x_amd64/vet /usr/lib/git-core/git-remote-https -json GO111MODULE 64/bin/go /usr/lib/git-core/git-remote-https (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/lib/git-core/git-remote-https -json GO111MODULE 64/bin/go /usr/lib/git-core/git-remote-https (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git conf�� user.email test@example.com /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE x_amd64/vet git rev-�� --show-toplevel x_amd64/vet /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv /tmp/go-build2580419073/b409/console.test -importcfg ache/node/24.14.1/x64/bin/node -s -w -buildmode=exe ache/node/24.14.1/x64/bin/node 1259�� testing.testBinary=1 -extld=gcc /usr/bin/git z5KO/uMIGm5jnMwqgit GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv /tmp/gh-aw-add-gitattributes-test2190860798 show /usr/bin/git GOSUMDB GOWORK ules/.bin/node git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE t git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv /tmp/TestHashConsistency_GoAndJavaScript79739997/001/test-simple-frontmatter.md GOPROXY /usr/bin/git GOSUMDB GOWORK bin/node git -C /tmp/gh-aw-test-runs/20260419-154308-79144/test-2397829486/.github/workflows remote /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0.1.2
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE x_amd64/vet git rev-�� --show-toplevel x_amd64/vet /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git 01 GO111MODULE x_amd64/vet git rev-�� --show-toplevel x_amd64/vet /usr/bin/git -json GO111MODULE 64/bin/go /usr/bin/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git 1 GO111MODULE x_amd64/vet git rev-�� --show-toplevel x_amd64/vet /usr/bin/git -json GO111MODULE 64/bin/go /usr/bin/git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv --show-toplevel GOPROXY 0419073/b469/vet.cfg GOSUMDB GOWORK 64/bin/go infocmp -1 xterm-color go /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv run (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv git-receive-pack &#39;/tmp/TestParseDefaultBranchFromLsRemoteWithRealGitmain_branch8--repo l /usr/bin/git GOSUMDB GOWORK bin/sh git -C /tmp/gh-aw-test-runs/20260419-154308-79144/test-3247553527/.github/workflows (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv k/gh-aw/gh-aw/.github/workflows/approach-validator.md -buildtags /usr/bin/git -errorsas -ifaceassert -nilfunc /usr/bin/git remo�� ons-test3597011254 -tests ow-with-reaction.lock.yml -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv . GOPROXY /usr/bin/git GOSUMDB GOWORK tions/node_modul--show-toplevel git -C /tmp/gh-aw-test-runs/20260419-153752-54217/test-100251140/.github/workflows remote /usr/bin/git h3578906700/001&#39;git h3578906700/001&#39;rev-parse 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv run --auto /usr/bin/git --detach GOWORK de_modules/.bin/--show-toplevel git rev-�� --show-toplevel go /usr/bin/git */*.ts&#39; &#39;**/*.jsgit GO111MODULE 64/pkg/tool/linu--show-toplevel git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/1/artifacts --jq .artifacts[].name GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/1/artifacts --jq .artifacts[].name --check 64/bin/go **/*.ts **/*.json --ignore-path go list�� y_with_explicit_repo2221829742/001 -e ache/go/1.25.8/x64/bin/go tierignore node 64/bin/go go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name GO111MODULE .cfg GOINSECURE GOMOD GOMODCACHE go env CompiledOutput597308572/001 GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/node/24.14.1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go node /hom�� 2499415099/.github/workflows scripts/**/*.js ache/go/1.25.8/x64/bin/go -d --write 64/bin/go go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name GO111MODULE c060f4775b80fcf83f6cb51d6a8f37f9955df46b8f1396c410a8320ca8ff7d30-d GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go node /hom�� 2499415099/.github/workflows scripts/**/*.js ache/go/1.25.8/x64/bin/go -d --write 64/bin/go go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env me) 5d26dfdc3ebff68da2031fb477c1f4471 /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name itcustom_branch3578906700/002/work 64/bin/go **/*.ts **/*.json --ignore-path git stat�� y_with_explicit_repo2221829742/0remote.origin.url sh ache/go/1.25.8/x64/bin/go &#34;prettier&#34; --wrigit node 64/bin/go go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 3246-29505/test-422255152/.github/workflows GO111MODULE ache/node/24.14.1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name --check 64/bin/go **/*.ts **/*.json --ignore-path git -c y_with_explicit_repo2221829742/001 log 64/pkg/tool/linux_amd64/compile --format=%H:%ct x_amd64/compile 64/bin/go 64/pkg/tool/linuorigin (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/4/artifacts --jq .artifacts[].name GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 3246-29505/test-1005194021 GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json rsion=6db41c7 /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/4/artifacts --jq .artifacts[].name LsRemoteWithRealGitcustom_branch3578906700/001&#39; 64/bin/go **/*.ts **/*.json --ignore-path git conf�� extensions.objectformat sh 64/pkg/tool/linux_amd64/asm &#34;prettier&#34; --wrigit x_amd64/asm 64/bin/go 64/pkg/tool/linuTest User (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/5/artifacts --jq .artifacts[].name GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 3246-29505/test-1005194021 GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 999 GO111MODULE e/git GOINSECURE GOMOD GOMODCACHE e/git (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/5/artifacts --jq .artifacts[].name --check 64/bin/go **/*.ts **/*.json --ignore-path git -c y_with_repos=public_1038168921/001 log 64/pkg/tool/linux_amd64/compile -n1 --format=format:config --end-of-optionsuser.email 64/pkg/tool/linutest@example.com (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path 75256254/001&#39; 75256254/001&#39; 64/bin/go GOINSECURE GOMOD GOMODCACHE node /hom�� --check **/*.cjs 64/bin/go **/*.json --ignore-path ../../../.pretti-bool go (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 main -lang=go1.25 go env le-frontmatter.md GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 6 GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github%2Fworkflows%2Faudit-workflows.md
    • Triggering command: /opt/hostedtoolcache/node/24.14.1/x64/bin/node /opt/hostedtoolcache/node/24.14.1/x64/bin/node --experimental-import-meta-resolve --require /home/REDACTED/work/gh-aw/gh-aw/actions/setup/js/node_modules/vitest/suppress-warnings.cjs --conditions node --conditions development /home/REDACTED/work/gh-aw/gh-aw/actions/setup/js/node_modules/vitest/dist/workers/forks.js --quiet tions/setup/js/n--is-ancestor git show�� --verify --quiet tnet/tools/git --local --get es/.bin/git git (http block)
    • Triggering command: /opt/hostedtoolcache/node/24.14.1/x64/bin/node /opt/hostedtoolcache/node/24.14.1/x64/bin/node --experimental-import-meta-resolve --require /home/REDACTED/work/gh-aw/gh-aw/actions/setup/js/node_modules/vitest/suppress-warnings.cjs --conditions node --conditions development /home/REDACTED/work/gh-aw/gh-aw/actions/setup/js/node_modules/vitest/dist/workers/forks.js -- t git show�� --verify --quiet k/gh-aw/gh-aw/actions/setup/js/ndevelopment --local --get de_modules/.bin/-e git (http block)
    • Triggering command: /opt/hostedtoolcache/node/24.14.1/x64/bin/node /opt/hostedtoolcache/node/24.14.1/x64/bin/node --experimental-import-meta-resolve --require /home/REDACTED/work/gh-aw/gh-aw/actions/setup/js/node_modules/vitest/suppress-warnings.cjs --conditions node --conditions development /home/REDACTED/work/gh-aw/gh-aw/actions/setup/js/node_modules/vitest/dist/workers/forks.js -- /git git show�� --verify --quiet _modules/.bin/node --local --get bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build2580419073/b403/cli.test /tmp/go-build2580419073/b403/cli.test -test.testlogfile=/tmp/go-build2580419073/b403/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE node (http block)
    • Triggering command: /tmp/go-build2566906383/b403/cli.test /tmp/go-build2566906383/b403/cli.test -test.testlogfile=/tmp/go-build2566906383/b403/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE go env &#39;**/*.ts&#39; &#39;**/*.GOINSECURE GO111MODULE ache/go/1.25.8/xGOMODCACHE GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /tmp/go-build103423794/b403/cli.test /tmp/go-build103423794/b403/cli.test -test.testlogfile=/tmp/go-build103423794/b403/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE go env &#39;**/*.ts&#39; &#39;**/*.GOINSECURE GO111MODULE ache/go/1.25.8/xGOMODCACHE lk-memory gh-aw.wasm -o gh-aw.opt.wasm &amp;&amp; \ mv gh-aw.opt.wasm gh-aw.wasm; \ AFTER=$(wc -c &lt; g GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v0.47.4
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/gh -json GO111MODULE ache/go/1.25.8/x--show-toplevel gh run download 12346 /usr/bin/git test-logs/run-12ls GO111MODULE ache/go/1.25.8/x/tmp/gh-aw/aw-feature-branch.patch git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq [.object.sha, .object.type] | @tsv --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git -json GO111MODULE ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE .cfg git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE ache/go/1.25.8/x/tmp/gh-aw/aw-feature-branch.patch git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE x_amd64/cgo GOINSECURE GOMOD GOMODCACHE x_amd64/cgo env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json GO111MODULE 1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv s/data/action_pins.json...&#34; GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env lGitmain_branch3--repo lGitmain_branch3owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env heck &#39;**/*.cjs&#39; --repo GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v2.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go 5256�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env Gitmaster_branch2351528376/001&#39; Gitmaster_branch2351528376/001&#39; 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v3.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env heck &#39;**/*.cjs&#39; &#39;**/*.ts&#39; &#39;**/*.GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq [.object.sha, .object.type] | @tsv s/data/action_pins.json...&#34; GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env heck &#39;**/*.cjs&#39; &#39;**/*.ts&#39; &#39;**/*.GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq [.object.sha, .object.type] | @tsv 332983/001 GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq [.object.sha, .object.type] | @tsv /workflows GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq [.object.sha, .object.type] | @tsv b/workflows GO111MODULE test GOINSECURE GOMOD GOMODCACHE test 0342�� api-consumption-report.md GO111MODULE 1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/nonexistent/repo/actions/runs/12345
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion **/*.json --ignore-path ../../../.pretti--git-dir gh-aw.opt.wasm gh-aw.wasm; \ AFTER=$(wc -c &lt; g env /workflows GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion **/*.json --ignore-path ../../../.pretti--git-dir gh-aw.opt.wasm gh-aw.wasm; \ AFrev-parse env b/workflows GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/owner/repo/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE node /hom�� --check **/*.cjs 64/bin/go **/*.json --ignore-path ../../../.pretti--show-toplevel go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE node /hom�� --check **/*.cjs 64/bin/go **/*.json --ignore-path ../../../.pretti-bool go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --repo owner/repo --json name,path,state /opt/hostedtoolcache/node/24.14.1/x64/bin/node GOSUMDB GOWORK 64/bin/go node /tmp�� /tmp/TestHashStability_SameInputtest-logs/run-12345 go /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/test-owner/test-repo/actions/secrets
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name -template-expressions.md GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE sh -c &#34;prettier&#34; --cheGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name run check:pkg-jsGOINSECURE GO111MODULE ules/.bin/sh GOINSECURE GOMOD GOMODCACHE go env .js&#39; --ignore-paGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name -json GO111MODULE de_modules/.bin/GOMODCACHE GOINSECURE GOMOD GOMODCACHE go env .js&#39; --ignore-paGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch --ignore-path go /usr/bin/git -json GOCACHE 64/bin/go git conf�� --get remote.origin.url /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch mpiledOutput2242337960/001 -trimpath 64/pkg/tool/linux_amd64/vet -p main -lang=go1.25 64/pkg/tool/linux_amd64/vet env 2700419793/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch mpiledOutput711362855/001 -trimpath 64/pkg/tool/linux_amd64/vet -p main -lang=go1.25 64/pkg/tool/linux_amd64/vet env -json GO111MODULE k GOINSECURE GOMOD GOMODCACHE go (http block)
  • invalid.example.invalid
    • Triggering command: /usr/lib/git-core/git-remote-https /usr/lib/git-core/git-remote-https origin https://invalid.example.invalid/nonexistent-repo.git git conf�� --local --get ode_modules/.bin/git -1 --format=%s /git git add . git tions/setup/node_modules/.bin/git -m Initial commit bin/git git (dns block)
    • Triggering command: /usr/lib/git-core/git-remote-https /usr/lib/git-core/git-remote-https origin https://invalid.example.invalid/nonexistent-repo.git git conf�� --local --get ode_modules/.bin/git cal/bin/git git /git git add . git tions/setup/node_modules/.bin/git -M main bin/git git (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@pelikhan pelikhan merged commit 62b8dab into main Apr 19, 2026
51 checks passed
@pelikhan pelikhan deleted the copilot/refactor-expression-detection-helpers branch April 19, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[refactor] Semantic function clustering: expression detection helpers and version state duplication

3 participants