Skip to content

feat: extend frontmatter with A/B experiments section#29534

Merged
pelikhan merged 8 commits intomainfrom
copilot/extend-frontmatter-ab-testing
May 1, 2026
Merged

feat: extend frontmatter with A/B experiments section#29534
pelikhan merged 8 commits intomainfrom
copilot/extend-frontmatter-ab-testing

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 1, 2026

Summary

Adds an experiments section to the workflow frontmatter that enables A/B testing by defining groups of input macro variants. At runtime the activation job picks a statistically balanced variant and exposes it as a step output and activation job output, making it available in the workflow prompt via {{#if experiments.name }} template conditionals. Experiment assignments are also parsed and displayed in the gh aw audit and gh aw logs commands.

Usage

---
on: ...
experiments:
  feature1: [A, B]
  caveman: [yes, no]
---
{{#if experiments.caveman }}
Talk like a caveman in all your responses. Me test. You run.
{{/if}}

Implement the task using feature: ${{ experiments.feature1 }}

How it works

  1. Frontmatter parsing — the experiments map (name → [variants...]) is extracted into WorkflowData.Experiments. Experiment names must be valid identifiers ([a-zA-Z_][a-zA-Z0-9_]*); invalid names are logged and skipped.
  2. Expression transformation${{ experiments.name }} is rewritten to steps.pick-experiment.outputs.name during expression extraction so the placeholder substitution step reads the runtime-selected value from the step output.
  3. Activation job steps (injected before prompt substitution):
    • Restore experiment state via actions/cache/restore keyed by workflow ID (restore key allows cross-run state retrieval).
    • Pick experiment variants via pick_experiment.cjs — reads the persisted counter state, selects the least-used variant per experiment (balanced round-robin across all variants), sets individual step outputs (core.setOutput(name, variant)) and a combined JSON output (core.setOutput('experiments', JSON)), and writes a Markdown step summary.
    • Save experiment state via actions/cache/save.
    • Upload experiment artifact (experiment) for post-run analysis via gh aw audit --artifacts experiment or gh aw logs.
  4. Activation job outputneeds.activation.outputs.experiments exposes the full variant assignment JSON blob for downstream jobs.
  5. Template conditional support{{#if experiments.name }} blocks in the prompt are resolved correctly: ExperimentExpressionMappings() ensures GH_AW_EXPERIMENTS_* env vars are set from step outputs in the interpolation step, and a new Step 2.5 in interpolate_prompt.cjs substitutes __GH_AW_EXPERIMENTS_*__ placeholders before template rendering so the actual variant value (yes/no) is evaluated. isTruthy is extended to treat "no" as falsy, enabling the [yes, no] variant pattern.
  6. Step summary — each run appends an experiment assignment table with cumulative per-variant counts.
  7. Audit and logs displaygh aw audit renders a 🧪 A/B Experiments section showing variant assignments and cumulative counts when the experiment artifact is present. gh aw logs --json includes experiment data in RunData.
  8. Detection job integration — when experiments are declared, the detection job downloads the experiment artifact to /tmp/gh-aw/experiments/ so the detection agent can read the current variant assignments from state.json.

Statistical design

The variant with the lowest cumulative invocation count is selected next; ties are broken by variant order. Over N runs this distributes each variant approximately N/K times (K = variant count), satisfying basic A/B balance with zero configuration.

Changes

File Description
pkg/constants/job_constants.go Add ExperimentArtifactName = "experiment"
pkg/workflow/frontmatter_types.go Add Experiments map[string][]string to FrontmatterConfig
pkg/workflow/compiler_types.go Add Experiments map[string][]string to WorkflowData
pkg/parser/schemas/main_workflow_schema.json Add experiments object schema with propertyNames pattern constraint
pkg/workflow/expression_extraction.go transformExperimentsExpression() maps to step output; ExperimentEnvVarName()
pkg/workflow/compiler_experiments.go Step generation + ExperimentExpressionMappings() for env var wiring; name validation; YAML single-quote escaping for spec JSON; buildExperimentArtifactDownloadSteps() for detection job
pkg/workflow/compiler_experiments_test.go Go unit tests (including invalid name, single-quote escaping, and artifact download step tests)
pkg/workflow/compiler_activation_job.go Inject experiment steps + wire needs.activation.outputs.experiments
pkg/workflow/compiler_orchestrator_workflow.go Extract experiments from frontmatter
pkg/workflow/compiler_yaml.go Add experiment expression mappings to interpolation/substitution steps
pkg/workflow/threat_detection.go Download experiment artifact in detection job
pkg/workflow/detection_success_test.go Test that detection job downloads experiment artifact when experiments are declared
actions/setup/js/pick_experiment.cjs Runtime variant selection: core.setOutput per experiment + combined JSON
actions/setup/js/pick_experiment.test.cjs Vitest JS tests (16 tests)
actions/setup/js/interpolate_prompt.cjs Step 2.5: substitute experiment placeholders before template rendering
actions/setup/js/is_truthy.cjs Treat "no" as falsy
actions/setup/js/is_truthy.test.cjs Test "no" falsy behaviour
.github/workflows/smoke-copilot.md Add caveman: [yes, no] experiment with conditional prompt block
pkg/cli/logs_artifact_set.go Add ArtifactSetExperiment = "experiment"
pkg/cli/logs_artifact_set_test.go Update expected set names
pkg/cli/audit_report_experiments.go Parse state.json from experiment artifact; derive last-run assignments
pkg/cli/audit_report_experiments_test.go Unit tests for experiment artifact parsing (12 tests)
pkg/cli/audit_report.go Add Experiments *ExperimentData to AuditData; populate in buildAuditData()
pkg/cli/audit_report_render.go Render 🧪 A/B Experiments section in renderConsole()
pkg/cli/logs_report.go Add Experiments *ExperimentData to RunData; populate in buildLogsData()
docs/src/content/docs/guides/experiments.md How-to guide covering frontmatter declaration, prompt usage, algorithm, downstream outputs, and audit/log display

Copilot AI and others added 2 commits May 1, 2026 11:55
- Add `experiments` section to frontmatter schema (map of name → variant list)
- Add `Experiments map[string][]string` to FrontmatterConfig and WorkflowData
- Transform `${{ experiments.name }}` expressions to `${{ env.GH_AW_EXPERIMENTS_NAME }}`
  via new `transformExperimentsExpression()` in expression_extraction.go
- Generate activation-job steps: restore cache → pick variants (pick_experiment.cjs) →
  save cache → upload "experiment" artifact
- Add pick_experiment.cjs: balanced round-robin variant selection using actions/cache
  state file, GITHUB_ENV export, and Markdown step summary
- Add `ArtifactSetExperiment` (\"experiment\") to CLI artifact sets for logs/audit
- Add ExperimentArtifactName constant
- Full test coverage: Go unit tests and vitest JS tests (16 passing)"

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/6603825b-d8d5-4381-a44c-3d6fd823ab92

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
- Fix expression_extraction.go: use originalContent variable and cleaner
  branching to avoid reusing transformedContent across two transformations;
  scope deprecation warning precisely to activation output transformations
- Fix ExperimentEnvVarName: use normalizeJobNameForEnvVar instead of
  strings.ToUpper to align Go and JS normalization (handles hyphens etc.)
- Fix buildExperimentSpecJSON: replace manual escapeJSONString with
  encoding/json.Marshal for correct escaping of all control characters"

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/6603825b-d8d5-4381-a44c-3d6fd823ab92

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Comment thread actions/setup/js/pick_experiment.cjs Outdated

// Export the selected variant so subsequent steps can read it via $GITHUB_ENV.
const envVarName = `GH_AW_EXPERIMENTS_${name.toUpperCase().replace(/[^A-Z0-9]/g, "_")}`;
core.exportVariable(envVarName, selected);
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@copilot

  • set experiment state serialized JSON as output of the step and the job (needs.activation.experiments.outputs.caveman), do not set env vars.

  • add an experiment to smoke-copilot prompt using a conditional template to inject "Talk like a caveman"

experiments:
caveman: [yes, no]

In prompt

{{#if experiments.caveman }}
Talk like a caveman
{{#endif}} # use corresr syntax

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.

Done in commit 2acaa08. Here's what changed:

Step outputs instead of env vars (pick_experiment.cjs):

  • Removed core.exportVariable entirely
  • Now sets core.setOutput(name, selected) per experiment (e.g. caveman=yes)
  • Sets core.setOutput('experiments', JSON.stringify(assignments)) for the full JSON blob
  • Accessible downstream as needs.activation.outputs.experiments

Template conditional plumbing — so {{#if experiments.caveman }} works correctly:

  • ExperimentExpressionMappings() generates GH_AW_EXPERIMENTS_CAVEMAN → steps.pick-experiment.outputs.caveman mappings, ensuring the interpolation step sets the env var from the step output (not GITHUB_ENV)
  • Added Step 2.5 in interpolate_prompt.cjs that substitutes __GH_AW_EXPERIMENTS_*__ placeholders before renderMarkdownTemplate() runs, so the actual value (yes/no) is what gets evaluated — not the placeholder string
  • Extended isTruthy to treat "no" as falsy, so {{#if no }} correctly removes the block

smoke-copilot.md — added to frontmatter:

experiments:
  caveman: [yes, no]

And in the prompt:

{{#if experiments.caveman }}
Talk like a caveman in all your responses and outputs. Use short, broken sentences. Me test. You run.
{{/if}}

… smoke-copilot

- Replace core.exportVariable with core.setOutput in pick_experiment.cjs:
  - Per-experiment output: setOutput(name, variant) e.g. 'caveman=yes'
  - Combined JSON output: setOutput('experiments', JSON) accessible as
    needs.activation.outputs.experiments from downstream jobs
- Wire activation job output: ctx.outputs["experiments"] = "${{ steps.pick-experiment.outputs.experiments }}"
- Add ExperimentExpressionMappings() in compiler_experiments.go: generates
  GH_AW_EXPERIMENTS_* → steps.pick-experiment.outputs.* mappings so the
  interpolation and substitution steps have the env vars set from step outputs
- Add Step 2.5 in interpolate_prompt.cjs: substitute __GH_AW_EXPERIMENTS_*__
  placeholders from env vars BEFORE renderMarkdownTemplate() so {{#if experiments.name}}
  conditionals evaluate the actual variant value not the placeholder string
- Extend isTruthy to treat 'no' as falsy (enables [yes, no] variant pattern)
- Update transformExperimentsExpression: map experiments.NAME →
  steps.pick-experiment.outputs.NAME (was env.GH_AW_EXPERIMENTS_NAME)
- Add caveman experiment to smoke-copilot.md with {{#if experiments.caveman}}
  conditional that injects 'Talk like a caveman' instructions when selected
- Update tests: pick_experiment.test.cjs, is_truthy.test.cjs,
  compiler_experiments_test.go, expression_extraction_test.go"

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/3ca87b03-00f9-40d6-b348-bdc026ad85c0

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 1, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

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 /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE sh -c npx prettier --cGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go node (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE npx pret�� --check **/*.cjs 64/bin/go **/*.json --ignore-path ../../../.pretti-json /bin/sh (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE node /opt�� prettier --check 64/bin/go **/*.ts **/*.json --ignore-path go (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 k/gh-aw/gh-aw config kflows/safe-output-health.lock.yml remote.origin.urbash GO111MODULE 64/bin/go git -C ithub/workflows show ock.yml l GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name ath ../../../.pr--ignore-path git /usr/bin/git --show-toplevel infocmp /usr/bin/git git er --show-toplevel git /usr/bin/git --show-toplevel /usr/bin/gh /usr/bin/git git (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 ache/go/1.25.8/x--show-toplevel git /usr/bin/git 9/001/noflag-a.mgit rev-parse kflows/issue-tri--show-toplevel git rev-�� --show-toplevel infocmp /usr/bin/git api-consumption-node go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq [.object.sha, .object.type] | @tsv /usr/bin/git git /usr/bin/git 01/main.md git ache/uv/0.11.8/x--show-toplevel git rev-�� --show-toplevel git /usr/bin/git a25dd7f1c1b874f1node /pick_experiment/opt/hostedtoolcache/node/24.14.1/x64/bin/npm k 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 /home/REDACTED/work/gh-aw/gh-aw/.github/workflows rev-parse /usr/bin/git graphql -f me: String!) { --show-toplevel git remo�� -f git /usr/bin/git ithub/workflows rev-parse ed.lock.yml git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv /tmp/TestCompileUpdateDiscussionFieldEnforcement569679889/001 config /usr/bin/docker remote.origin.urgit git /usr/bin/git docker pull�� rhysd/actionlint:latest git /usr/bin/git json&#39; --ignore-pgit git /usr/bin/git 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 k/gh-aw/gh-aw/.g.artifacts[].name -f /usr/bin/git -f owner=github -f git -C OnlyCompiledOutput2689446543/001--limit show kflows/workflow-normalizer.lock.--created k/gh-aw/gh-aw/.ggit GO111MODULE $name) { has--show-toplevel 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 git /usr/bin/git /home/REDACTED/worgit config fg git rev-�� --show-toplevel git /usr/bin/git 1198607591 rev-parse ache/go/1.25.8/x--show-toplevel 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 ache/node/24.14.1/x64/bin/node /usr/bin/git DiscussionsEnablgit git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git mpleWorkflow3303git remote /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE sh -c npx prettier --cGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE repository(owner: $owner, name:-f GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE est.lock.yml GOINSECURE 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/actions/download-artifact/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/download-artifact/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE r: $owner, name:-f GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/download-artifact/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv cli/install.sh...&#34; GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE r: $owner, name:-f GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/download-artifact/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv ithub/workflows GO111MODULE /usr/bin/git l GOMOD GOMODCACHE git -C ithub/workflows rev-parse r: $owner, name:-f GOSUMDB GOWORK 64/bin/go 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 --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile /usr/bin/git 5855-31604/test-git go /usr/bin/infocmp git rev-�� --show-toplevel infocmp /usr/bin/git &#39;/tmp/TestParsegit &#39;/tmp/TestParserev-parse /usr/bin/git 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 ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet /usr/bin/git 0412-38261/test-git none ache/go/1.25.8/x64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet /usr/bin/git prettier --write 5549797/b397/vet--show-toplevel 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 k/gh-aw/gh-aw -f kflows/go-logger.lock.yml -f owner=github -f /usr/bin/gh api ithub/workflows -f (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv k/gh-aw/gh-aw rev-parse r: $owner, name: $name) { hasDiscussionsEnabled } } --check **/*.cjs 64/bin/go git -C k/gh-aw/gh-aw/.gremote.origin.url show k.yml l GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv ithub/workflows -f r: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f git -C k/gh-aw/gh-aw config (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 x_amd64/vet /usr/lib/git-core/git-remote-https --version go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv /usr/bin/git git /usr/lib/git-core/git itmain_branch394git itmain_branch394rev-parse ache/node/24.14.--show-toplevel /usr/lib/git-core/git remo�� origin REDACTED /usr/bin/git 3349483900/.githgit git 64/pkg/tool/linu--show-toplevel git (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 s/3/artifacts /opt/hostedtoolcache/node/24.14.1/x64/bin/node k/gh-aw/gh-aw go or.lock.yml node /tmp�� /home/REDACTED/work/gh-aw/gh-aw/.github/workflows/agent-performance-analyzer.md git r,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,disp--show-toplevel ithub/workflows show kflows/test-disp--show-toplevel 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 x_amd64/vet /usr/bin/git k/gh-aw/gh-aw/.ggit :latest /usr/bin/git git arch�� --remote=REDACTED v1.0.0 /usr/bin/git ithub/workflows rev-parse At,event,headBra--show-toplevel 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 git /usr/bin/git kflow/compiler_ygit ROOT&#34; ] &amp;&amp; expo /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git js/**/*.json&#39; --git git /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE sh -c npx prettier --cGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE r: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go 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/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE 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/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 ons-test3173613666 git ow-with-reaction.lock.yml k/gh-aw/gh-aw/.ggit rev-parse me: String!) { --show-toplevel git -C mpleWorkflow3303437016/001 rev-parse /usr/bin/git /home/REDACTED/worgit show repository(owne--show-toplevel 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_GoAndJavaScript3698941911/001/test-inlined-imports-enabled-with-body-cogit IEOjk1Fsurd- /usr/bin/git h ../../../.pretgit git dbc2a278e8520416--show-toplevel git remo�� /usr/bin/git git /usr/bin/gh w/js/**/*.json&#39; git git /usr/bin/git gh (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv che/go-build/4c/GOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcGO111MODULE -o /tmp/go-build260GOINSECURE -trimpath 64/bin/go -p main -lang=go1.25 go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv &#34;prettier&#34; --cheGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv ithub/workflows GO111MODULE ache/go/1.25.8/x-f GOINSECURE GOMOD GOMODCACHE go env ithub/workflows GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE r: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch /home/REDACTED/work/gh-aw/gh-aw/.github/workflows rev-parse me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -json GO111MODULE 64/bin/go /usr/bin/gh api ithub/workflows -f r: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f 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 infocmp /usr/bin/git hub/workflows go (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 /usr/bin/git git /usr/bin/sh &#39;**/*.ts&#39; &#39;**/*.git git rgo/bin/git sh -c printf &#39;%s&#39; &#34;$1&#34; sh /usr/bin/git .js&#39; --ignore-pagit git k/gh-aw/gh-aw/no--show-toplevel 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 ere remote clusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle ithub/workflows config er: String!, $na--show-toplevel gh api ansitiveImports799134446/001 --jq /usr/bin/gh ithub/workflows config rgo/bin/bash gh (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 /tmp/TestHashStability_SameInputSameOutput555744nonexistent/repo git /usr/bin/git h ../../../.pretgit git ols/linux64/java--show-toplevel git -C ansitiveImports301189458/001 l /opt/hostedtoolcache/node/24.14.1/x64/bin/node w/js/**/*.json&#39; git git /usr/bin/git node (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 ub.actor }} rev-parse /usr/bin/git h2371894528/001&#39;git h2371894528/001&#39;rev-parse r: $owner, name:--show-toplevel git -C /tmp/compile-all-instructions-test-2917235363/.github/workflows l /opt/hostedtoolcache/node/24.14.1/x64/bin/node xterm-color go me: String!) { --show-toplevel node (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 /tmp/gh-aw-test-runs/20260501-150412-38261/test-3632279373/.gith@{u} (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created &gt;=2026-04-24 GO111MODULE 64/bin/go /opt/hostedtoolctest@example.com -V=f�� ithub/workflows go /usr/bin/git -json GO111MODULE ache/go/1.25.8/x--show-current git (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created &gt;=2026-04-01 GO111MODULE ed } } git rev-�� --git-dir go k.yml -json GO111MODULE down-spellcheck.test.txt git (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created &gt;=2026-01-31 GO111MODULE 64/bin/go git rev-�� ithub/workflows go /usr/bin/git l GO111MODULE repository(owne--show-current 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 rev-parse er: String!, $name: String!) { repository(owner: $owner, name:-f -json GO111MODULE $name) { haslist /usr/bin/gh api ut2689446543/001--limit -f normalizer.lock.--created -f owner=github DiscussionsEnabl--show-toplevel infocmp (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 config /usr/bin/git remote.origin.urgit 8b9f7722012158c6config ed } } git -C edOutput1706791401/001 config er: String!, $name: String!) { repository(owner: $owner, name:-f remote.origin.urgit GO111MODULE de-user-docs-rev--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/1/artifacts --jq .artifacts[].name git tions/setup/node_modules/.bin/sh --show-toplevel node /usr/bin/git git rev-�� ut1045834427/001--limit git ache/uv/0.11.8/x--created --show-toplevel git /usr/bin/git git (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 mLsRemoteWithRealGitcustom_branch3541165469/001&#39; (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 -f kflows/design-decision-gate.lock.yml -f owner=github -f /usr/bin/gh api y_with_repos_array_c1060645886/001 -f kflows/jsweep.lock.yml -f owner=github ed } } git (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name git f532f469a22285d2b5ece1de1709426d4a4c3d7460910f33-d --show-toplevel git /usr/bin/git git 1/x6�� y_with_repos=public_2837172907/001 git k/gh-aw/node_modules/.bin/node son git /usr/bin/git git (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 rev-parse kflows/dependabot-repair.lock.yml &#34; GO111MODULE $name) { hasDiscussionsEnabl/tmp/gh-aw-test-runs/20260501-145855-31604/test-3894731448 git -C y_with_explicit_repo3297898948/001 config me: String!) { repository(owner: $owner, name:-nilfunc remote.origin.urgit GO111MODULE DiscussionsEnabl--show-toplevel infocmp (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 LsRemoteWithRealGitcustom_branch3541165469/001&#39; /usr/bin/git l GO111MODULE DiscussionsEnabl--show-toplevel git -C y_with_repos_array_c1060645886/001 show generator.lock.yml l GO111MODULE me: String!) { --show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name git iptables --show-toplevel git /usr/bin/git git 1/x6�� --show-toplevel git 64/pkg/tool/linux_amd64/link son git /usr/bin/git 64/pkg/tool/linux_amd64/link (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 config /usr/bin/infocmp remote.origin.urinfocmp GO111MODULE ache/go/1.25.8/xxterm-color infocmp -1 ut2689446543/001 go me: String!) { repository(owner: $owner, name:-test.short=true -json GO111MODULE ed } } /usr/bin/gh (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 -f ndor/bin/bash -f owner=github -f /usr/bin/gh api k/gh-aw/gh-aw/.github/workflows -f /usr/bin/gh -f owner=github DiscussionsEnabl--git-dir /usr/bin/gh (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name git tions/node_modules/.bin/sh --show-toplevel git /usr/bin/git git rev-�� ut1045834427/001 git 64/pkg/tool/linux_amd64/vet --show-toplevel git /usr/bin/git 64/pkg/tool/linuorigin (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 go kflows/developer-docs-consolidator.lock.yml -json GO111MODULE DiscussionsEnabllist git -C mpiledOutput1911--limit rev-parse /usr/bin/git l GO111MODULE l git (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 show (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name git de_modules/.bin/sh --show-toplevel git /usr/bin/git git rev-�� *.json&#39; &#39;!../../../pkg/workflow/js/**/*.json&#39; ---errorsas git bin/bash --show-toplevel gh /usr/bin/git git (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 mLsRemoteWithRealGitbranch_with_hyphen3147593369/001&#39; kflow-call-with-inputs.lock.yml -json GO111MODULE DiscussionsEnabl-v /usr/bin/gh api ut2689446543/001 -f /usr/bin/infocmp -f owner=github -f infocmp (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 rev-parse ache/node/24.14.1/x64/bin/node -json GO111MODULE ache/go/1.25.8/xuser.name git ache�� edOutput1706791401/001 rev-parse er@0.33.0 ithub/workflows GO111MODULE $name) { has--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/4/artifacts --jq .artifacts[].name mLsRemoteWithRealGitbranch_with_hyphen3250910169/001&#39; ules/.bin/sh --show-toplevel git /usr/bin/git git rev-�� mpiledOutput2612298592/001 git ache/go/1.25.8/x64/bin/bash --show-toplevel node /usr/bin/git git (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 -f me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } l owner=github -f infocmp -1 ithub/workflows go /usr/bin/git ithub/workflows GO111MODULE ache/go/1.25.8/xuser.name git (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 rev-parse /usr/bin/gh l GO111MODULE ache/go/1.25.8/x--show-toplevel /usr/bin/gh api rity1724630484/001 -f kflows/mergefest.lock.yml -f owner=github -f /usr/bin/gh (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/5/artifacts --jq .artifacts[].name git bin/sh --show-toplevel git /usr/bin/git git rev-�� mpiledOutput2612--limit git ache/node/24.14.--created --show-toplevel infocmp (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path ithub/workflows rev-parse r: $owner, name: $name) { hasDiscussionsEnabled } } l GO111MODULE 64/bin/go git -C k/gh-aw/gh-aw/.github/workflows config /usr/bin/git remote.origin.urgit GO111MODULE $name) { has/tmp/gh-aw-test-runs/20260501-145855-31604/test-add-source-path-3011757041/.github/workflows git (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 owner=github DiscussionsEnablgit-upload-pack &#39;/tmp/TestParseDefaultBranchFromLsRemoteWithRealGitbranch_with_hyphen3147593369/001&#39; git -C ithub/workflows config (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 GO111MODULE DiscussionsEnablremove git -C 36020196/.github/workflows rev-parse kflows/grumpy-reviewer.lock.yml -json GO111MODULE repository(owneuser.name git (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build82489627/b404/cli.test /tmp/go-build82489627/b404/cli.test -test.testlogfile=/tmp/go-build82489627/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true che/go-build/e7//usr/bin/gh GOPROXY 64/bin/go git -C /home/REDACTED/wor-f rev-parse repository(owne-f ache/uv/0.11.8/xgit go 64/bin/go infocmp (http block)
    • Triggering command: /tmp/go-build3095549797/b404/cli.test /tmp/go-build3095549797/b404/cli.test -test.testlogfile=/tmp/go-build3095549797/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true --show-toplevel 64/pkg/tool/linu-c /usr/bin/git git rev-�� /setup/js/interpolate_prompt.cjs git /usr/bin/git --show-toplevel bl_ECWTYJ1TbeALD-c /usr/bin/git git (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 infocmp /usr/bin/git 5855-31604/test-git go /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git /home/REDACTED/wordu config /usr/bin/gh 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 /opt/hostedtoolcremote.origin.url /usr/bin/git SameOutput555744git git ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linuTest User /usr/bin/git &#34;vitest&#34; run actdu git e/git 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 k/gh-aw/gh-aw -f kflows/pr-nitpick-reviewer.lock.yml -f owner=github -f git -C ownload-artifact/git/ref/tags/v8 rev-parse fg ithub/workflows GO111MODULE /opt/hostedtoolcorigin /usr/bin/gh (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 --name-only HEAD 64/pkg/tool/linux_amd64/vet --show-toplevel node /usr/bin/git 64/pkg/tool/linux_amd64/vet ache�� a25dd7f1c1b874f1e8753978b9f7722012158c67:actions/setup/js/pick_e--ignore-path git /home/REDACTED/.cargo/bin/git --show-toplevel git repository(owne--show-toplevel erignore (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 inspect mcp/notion me: String!) { -nilfunc -json GO111MODULE ed } } git -C Gitmain_branch2381970450/001&#39; Gitmain_branch2381970450/001&#39; (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 --show-toplevel git ode_modules/.bin/sh --show-toplevel 89627/b431/parse/tmp/js-hash-test-1795776309/test-hash.js 12158c67 git rev-�� on&#39; --ignore-path ../../../.prettierignore git .1/x64/codeql/tools/linux64/java/bin/java -aw-actions/git/git 1/x64/bin/node bject.type] | @t/tmp/compile-instructions-test-606195797/.github/workflows .1/x64/codeql/torev-parse (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 inspect ghcr.io/github/s-ifaceassert yml -json GO111MODULE 64/bin/go CtFwugS/U-zyfBRJ-tests -C 371894528/001 371894528/002/work kflows/aw-failure-investigator.lock.yml remote.origin.urgit GO111MODULE ed } } git (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 view -- (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 xterm-color go l-instrumentation-advisor.lock.yml -json GO111MODULE 64/bin/go infocmp -1 ithub/workflows go kflows/bot-detection.lock.yml -json GO111MODULE r: $owner, name:xterm-color git (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 ithub/workflows -- /usr/bin/infocmp name GO111MODULE 64/bin/go infocmp -1 k/gh-aw/gh-aw/.github/workflows go rt.lock.yml l GO111MODULE 64/bin/go git (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 st.cjs actions/setup/js/is_truthy.test.cjs git /usr/bin/git --show-toplevel /usr/bin/gh /usr/bin/git git rev-�� on&#39; --ignore-path ../../../.prettierignore git /usr/bin/git --show-toplevel git /usr/bin/git git (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 3217387775 rev-parse /usr/bin/git -json GO111MODULE repository(owne--show-toplevel git -C /home/REDACTED/work/gh-aw/gh-aw erena-mcp-server:latest /usr/bin/git tions-lock.json git GO111MODULE .yml git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq [.object.sha, .object.type] | @tsv --name-only HEAD ser.test --show-toplevel git /usr/bin/git ser.test 0955�� a25dd7f1c1b874f1e8753978b9f7722012158c67:actions/setup/js/pick_epkg/workflow/compile_outputs_comgit git .cfg --show-toplevel /opt/hostedtoolcrev-parse /usr/bin/git erignore (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 -f owner=github -f 64/pkg/tool/linux_amd64/compile -C k/gh-aw/gh-aw config 64/pkg/tool/linux_amd64/vet remote.origin.urgit GO111MODULE r: $owner, name:--show-toplevel 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion --show-toplevel git /usr/bin/git git m/_n�� --name-only /pick_experiment.test.cjs nfig/composer/vendor/bin/sh ignore git /usr/bin/git git (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 -summary.lock.yml remote.origin.urbash GO111MODULE 64/bin/go git -C ithub/workflows config r: $owner, name: $name) { hasDiscussionsEnabled } } remote.origin.urgit GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo kflows/scout.lock.yml -json GO111MODULE 64/bin/go infocmp -1 k/gh-aw/gh-aw/.github/workflows go me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } l GO111MODULE ed } } /usr/bin/gh (http block)
    • Triggering command: /usr/bin/gh gh workflow list --repo owner/repo --json name,path,state (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 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name ath ../../../.pr**/*.json git /usr/bin/git --show-toplevel git /usr/bin/git git er --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch b/workflows rev-parse kflows/notion-issue-summary.lock.yml -json GO111MODULE DiscussionsEnabl--show-toplevel git -C k/gh-aw/gh-aw show 1/x64/bin/node ithub/workflows GO111MODULE DiscussionsEnabl--get-regexp infocmp (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch ions/setup/js/pick_experiment.test.cjs git son ignore git /usr/bin/git git show�� rite &#39;**/*.cjs&#39; &#39;**/*.ts&#39; &#39;**/*.json&#39; --ignore-path ../../../.pr**/*.json git ache/go/1.25.8/x64/bin/sh --show-toplevel docker /usr/bin/git git (http block)

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

Copilot AI requested a review from pelikhan May 1, 2026 15:06
@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented May 1, 2026

@copilot

Update the logs/audit commands run parser to extract the experiment artifact and display it to the user.

@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented May 1, 2026

@copilot use the tech-writer agent to write a documentation page about experiments

@pelikhan pelikhan marked this pull request as ready for review May 1, 2026 16:17
Copilot AI review requested due to automatic review settings May 1, 2026 16:17
@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented May 1, 2026

@copilot from an expert A/B testing research rate this implementation and suggest improvements. Do not make any code changes, write report in report progress.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

🧪 Test Quality Sentinel Report

Test Quality Score: 92/100

Excellent

Metric Value
New/modified tests analyzed 27
✅ Design tests (behavioral contracts) 27 (100%)
⚠️ Implementation tests (low value) 0 (0%)
Tests with error/edge cases 20 (74%)
Duplicate test clusters 0
Test inflation detected No
🚨 Coding-guideline violations None

Test Classification Details

View all 27 test classifications
Test File Classification Notes
should return false for "no" (case-insensitive) actions/setup/js/is_truthy.test.cjs ✅ Design Boundary value coverage for new "no" synonym
selects the first variant when counts are equal actions/setup/js/pick_experiment.test.cjs ✅ Design Verifies tie-break ordering
selects the least-used variant actions/setup/js/pick_experiment.test.cjs ✅ Design Core algorithm contract
handles three variants in round-robin fashion actions/setup/js/pick_experiment.test.cjs ✅ Design 3-way balancing
returns the first variant when all counts are equal (tie-break by order) actions/setup/js/pick_experiment.test.cjs ✅ Design Edge case: tie-break
handles unknown experiment name (no counts yet) actions/setup/js/pick_experiment.test.cjs ✅ Design Edge case: missing key
increments the variant counter actions/setup/js/pick_experiment.test.cjs ✅ Design State mutation contract
accumulates counts across multiple calls actions/setup/js/pick_experiment.test.cjs ✅ Design Accumulation invariant
returns empty state when file does not exist actions/setup/js/pick_experiment.test.cjs ✅ Design Edge case: missing file
returns empty state on invalid JSON actions/setup/js/pick_experiment.test.cjs ✅ Design Error path: corrupt state
round-trips state through save and load actions/setup/js/pick_experiment.test.cjs ✅ Design Persistence contract
distributes two variants evenly across 10 runs actions/setup/js/pick_experiment.test.cjs ✅ Design Statistical balance invariant
distributes three variants evenly across 9 runs actions/setup/js/pick_experiment.test.cjs ✅ Design 3-variant balance invariant
sets step outputs for each experiment and a combined JSON output actions/setup/js/pick_experiment.test.cjs ✅ Design Observable side-effect contract
persists state between calls to simulate multi-run balance actions/setup/js/pick_experiment.test.cjs ✅ Design Multi-run persistence contract
does nothing when spec is empty actions/setup/js/pick_experiment.test.cjs ✅ Design Edge case: empty experiments
calls setFailed on invalid JSON spec actions/setup/js/pick_experiment.test.cjs ✅ Design Error path: invalid input
TestExtractExperimentsFromFrontmatter (7 table rows) pkg/workflow/compiler_experiments_test.go ✅ Design Table-driven; covers nil, basic, multi-variant, skip-invalid, empty, native slice
TestSortedExperimentNames pkg/workflow/compiler_experiments_test.go ✅ Design Sorting contract
TestBuildExperimentSpecJSON pkg/workflow/compiler_experiments_test.go ✅ Design JSON serialization contract
TestBuildExperimentSpecJSONEscaping pkg/workflow/compiler_experiments_test.go ✅ Design Edge case: special chars in JSON
TestGenerateExperimentSteps_Empty pkg/workflow/compiler_experiments_test.go ✅ Design Edge case: nil experiments
TestGenerateExperimentSteps_Generated pkg/workflow/compiler_experiments_test.go ✅ Design Step generation contract
TestGenerateExperimentSteps_SpecJSON pkg/workflow/compiler_experiments_test.go ✅ Design Spec embedding contract
TestExperimentExpressionMappings pkg/workflow/compiler_experiments_test.go ✅ Design Expression mapping contract
experiments.name gets transformed to step output (table row) pkg/workflow/expression_extraction_test.go ✅ Design Expression rewrite contract
TestValidArtifactSetNames (updated) pkg/cli/logs_artifact_set_test.go ✅ Design Artifact set registry contract

Flagged Tests — Requires Review

No tests were flagged. All 27 tests are classified as behavioral design tests.


Language Support

Tests analyzed:

  • 🐹 Go (*_test.go): 10 test functions — unit (//go:build !integration)
  • 🟨 JavaScript (*.test.cjs): 17 tests (vitest)

Scoring Breakdown

Component Score Details
Behavioral Coverage (40 pts) 40 100% design tests
Error/Edge Case Coverage (30 pts) 22 74% of tests include error/edge cases
Low Duplication (20 pts) 20 No duplicate clusters detected
Proportional Growth (10 pts) 10 pick_experiment 202/193 ≈ 1.05:1; compiler_experiments 188/200 ≈ 0.94:1 — no inflation

Verdict

Check passed. 0% of new tests are implementation tests (threshold: 30%). All 27 analyzed tests verify observable behavioral contracts. The pick_experiment suite is especially thorough — it covers the core balancing algorithm, persistence, statistical invariants, error paths, and end-to-end main() integration. The Go tests use correct build tags, descriptive assertion messages, and the table-driven style preferred by this codebase.


�� 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: §25222221598

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

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: 92/100. Test quality is excellent — 0% of new tests are implementation tests (threshold: 30%). All 27 analyzed tests verify observable behavioral contracts.

Auto-generated draft ADR documenting the decision to add an experiments
map to workflow frontmatter for balanced variant selection in A/B testing.

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

github-actions Bot commented May 1, 2026

Commit pushed: c0b7b39

🏗️ ADR gate enforced by Design Decision Gate 🏗️

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

🏗️ Design Decision Gate — ADR Required

This PR makes significant changes to core business logic (497 new lines in business-logic directories, threshold: 100) 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/29534-frontmatter-ab-experiments-variant-selection.md

What to do next

  1. Review the draft ADR committed to your branch — it was generated from the PR diff
  2. Complete the missing sections — add context the AI could not infer, refine the decision rationale, and list real alternatives you considered
  3. Commit the finalized ADR to docs/adr/ on your branch
  4. Reference the ADR in this PR body by adding a line such as:

    ADR: ADR-29534: Frontmatter A/B Experiments with Balanced Variant Selection

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., 0042-use-postgresql.md for PR #42).

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

References: §25222221666

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

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

Adds an experiments section to workflow frontmatter to support A/B experiment variant selection at runtime, and wires the selected variants into prompt interpolation/template rendering and job outputs.

Changes:

  • Extend workflow data/frontmatter/schema to include experiments: { name: [variants...] }.
  • Inject activation-job steps to restore state, pick least-used variants, persist state, and upload an experiment artifact; expose combined assignments via needs.activation.outputs.experiments.
  • Add Go + JS logic/tests for expression remapping, experiment selection, prompt interpolation (pre-template substitution), and "no" falsy handling.
Show a summary per file
File Description
pkg/workflow/frontmatter_types.go Adds Experiments to frontmatter config struct.
pkg/workflow/compiler_types.go Stores extracted experiments on WorkflowData.
pkg/parser/schemas/main_workflow_schema.json Adds experiments schema entry.
pkg/workflow/compiler_orchestrator_workflow.go Extracts experiments from frontmatter into workflow data.
pkg/workflow/expression_extraction.go Rewrites experiments.<name> expressions to runtime step outputs; adds env-var naming helper.
pkg/workflow/expression_extraction_test.go Tests experiment expression transformation.
pkg/workflow/compiler_experiments.go Generates activation-job steps for picking/persisting/uploading experiment state + env var mappings.
pkg/workflow/compiler_experiments_test.go Unit tests for extraction, spec JSON building, step generation, and mappings.
pkg/workflow/compiler_activation_job.go Injects experiment steps and exposes activation output experiments.
pkg/workflow/compiler_yaml.go Adds experiment env-var mappings to interpolation/substitution steps.
actions/setup/js/pick_experiment.cjs Implements runtime variant selection + outputs + state persistence + step summary.
actions/setup/js/pick_experiment.test.cjs Vitest coverage for selection algorithm, persistence, and outputs.
actions/setup/js/interpolate_prompt.cjs Adds “Step 2.5” to substitute experiment placeholders before template rendering.
actions/setup/js/is_truthy.cjs Treats "no" as falsy for template evaluation.
actions/setup/js/is_truthy.test.cjs Tests "no" falsy behavior.
pkg/constants/job_constants.go Adds ExperimentArtifactName constant.
pkg/cli/logs_artifact_set.go Adds experiment artifact set support.
pkg/cli/logs_artifact_set_test.go Updates expected artifact set names.
.github/workflows/smoke-copilot.md Adds a sample caveman experiment and conditional prompt block.
.github/workflows/smoke-copilot.lock.yml Updates generated lock workflow to include experiment steps/outputs.

Copilot's findings

Tip

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

Comments suppressed due to low confidence (2)

actions/setup/js/pick_experiment.cjs:176

  • The inline comment says downstream jobs access individual experiment outputs via needs.activation.outputs.experiment_<name>, but the workflow wiring uses step outputs (steps.pick-experiment.outputs.<name>) plus a combined needs.activation.outputs.experiments JSON output. Updating this comment will make it clearer how consumers should actually read the chosen variant(s).
    // Expose the selected variant as a step output (individual per experiment).
    // Downstream jobs access this via needs.activation.outputs.experiment_<name>.
    core.setOutput(name, selected);
    core.info(`Experiment "${name}": selected variant "${selected}" (output: ${name}=${selected})`);

pkg/workflow/compiler_experiments.go:140

  • The comment claims the JSON output is "safe to embed in a YAML single-quoted scalar (no single quotes in output)", but json.Marshal does not escape ', so this guarantee isn't true. Please update the comment and/or change the serialization/escaping so the embedding is actually safe for all user-provided strings.
// buildExperimentSpecJSON builds a compact JSON object from the experiments map.
// Uses encoding/json for proper escaping of all special characters.
// The resulting JSON is safe to embed in a YAML single-quoted scalar (no single quotes in output).
func buildExperimentSpecJSON(experiments map[string][]string, names []string) string {
  • Files reviewed: 21/21 changed files
  • Comments generated: 7

Comment thread pkg/workflow/compiler_experiments.go Outdated
Comment on lines +62 to +66
// 2. Pick variants – pick_experiment.cjs (reads/writes state.json, sets step outputs)
// Outputs: one per experiment (e.g. "caveman=yes") + "experiments" JSON blob
// 3. Experiment step summary – write a Markdown summary to GITHUB_STEP_SUMMARY
// 4. Save experiment cache – actions/cache/save keyed by workflow ID
// 5. Upload experiment artifact – actions/upload-artifact named "experiment"
Comment thread actions/setup/js/pick_experiment.cjs Outdated
* K is the number of variants, satisfying basic A/B statistical balance.
*
* Outputs:
* - Sets GH_AW_EXPERIMENTS_<NAME>=<variant> in GITHUB_ENV for each experiment.
Comment thread pkg/workflow/expression_extraction.go Outdated
Comment on lines +79 to +80
// Detect experiments.NAME expressions and remap them to env.GH_AW_EXPERIMENTS_NAME
// so the substitution step reads the value set by the experiment selection step via GITHUB_ENV.
Comment on lines +2734 to +2735
"description": "A/B testing experiments. Each key is an experiment name; the value is an array of two or more variant strings. At runtime the activation job picks a variant using actions/cache to maintain consistent assignment across runs. Use ${{ experiments.<name> }} in the workflow prompt to reference the selected variant. When multiple experiments are declared, assignments are statistically balanced using a counter that round-robins across variants.",
"type": "object",
Comment thread pkg/workflow/expression_extraction.go Outdated
Comment on lines +202 to +209
// ExperimentEnvVarName returns the GITHUB_ENV / GITHUB_OUTPUT variable name used by the
// pick_experiment step for the given experiment name.
// The name is uppercased and any character that is not A-Z, 0-9, or underscore is replaced
// with underscore, matching the JavaScript normalization in pick_experiment.cjs.
// Example: "feature1" → "GH_AW_EXPERIMENTS_FEATURE1"
// Example: "my-flag" → "GH_AW_EXPERIMENTS_MY_FLAG"
func ExperimentEnvVarName(experimentName string) string {
return "GH_AW_EXPERIMENTS_" + normalizeJobNameForEnvVar(experimentName)
Comment on lines +99 to +102
" env:\n",
fmt.Sprintf(" GH_AW_EXPERIMENT_SPEC: '%s'\n", specJSON),
fmt.Sprintf(" GH_AW_EXPERIMENT_STATE_FILE: %s\n", experimentStateFile),
fmt.Sprintf(" GH_AW_EXPERIMENT_STATE_DIR: %s\n", experimentsCacheDir),
Comment on lines +33 to +37
result := make(map[string][]string, len(rawMap))
for name, val := range rawMap {
switch v := val.(type) {
case []string:
if len(v) >= 2 {
@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented May 1, 2026

@copilot review all comments

- Add pkg/cli/audit_report_experiments.go: parse state.json from the
  experiment artifact directory (both logsPath root and experiment/
  subdir), derive last-run variant assignments by max-count selection,
  expose as ExperimentData{Assignments, CumulativeCounts}
- Add pkg/cli/audit_report_experiments_test.go: 12 unit tests
- Add Experiments *ExperimentData to AuditData; populate in buildAuditData()
- Add renderExperimentData() and render "🧪 A/B Experiments" section in
  renderConsole() before the Metrics section
- Add Experiments *ExperimentData to RunData; populate in buildLogsData()

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/f8f310d4-097e-4b80-b86b-ff5b06132bfe

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 1, 2026

@copilot

Update the logs/audit commands run parser to extract the experiment artifact and display it to the user....

Done in commit 532e6de. Here's what was added:

pkg/cli/audit_report_experiments.go (new):

  • extractExperimentData(logsPath) — reads state.json from the experiment artifact directory (checked at both logsPath/state.json and logsPath/experiment/state.json)
  • Derives the last-run variant assignment per experiment by picking the variant with the highest cumulative count
  • Returns ExperimentData{Assignments, CumulativeCounts}

gh aw audit — new 🧪 A/B Experiments section displayed when the experiment artifact is present:

🧪 A/B Experiments
  • caveman = yes (cumulative: no:2, yes:3)

gh aw logsExperimentData added to the RunData struct (available in JSON output via --json).

12 unit tests cover path resolution, JSON parsing, multi-experiment extraction, and the variant selection algorithm.

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 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet -c 1206180755 GOPROXY ache/go/1.25.8/x64/bin/go GOSUMDB GOWORK 64/bin/go sh (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/link -c .test GOPROXY ortcfg.link GOSUMDB GOWORK 64/bin/go 1mrPr1_GUUSof5vnSi/QP2SwW75Jb2FuXvI4UAr/UE3g1AONjCNcchdZB7TU (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE sh -c 216981584/.github/workflows GOPROXY 1/x64/bin/node GOSUMDB GOWORK 64/bin/go 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 -json GO111MODULE 64/bin/go GOINSECURE 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/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/infocmp -json GO111MODULE ache/go/1.25.8/x--show-toplevel infocmp -1 xterm-color sh /usr/bin/git &#34;prettier&#34; --chenode GOPROXY ache/go/1.25.8/xinstall 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 v1.0.0 go /usr/bin/git -json GO111MODULE 8d519d9/node_mod--show-toplevel git init�� GOMODCACHE go /usr/bin/git .js&#39; --ignore-pagit 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 efaultBranchFromLsRemoteWithRealGitmaster_branch1079255189/001&#39; efaultBranchFromLsRemoteWithRealGitmaster_branch1079255189/001&#39; .cfg -json GO111MODULE 64/bin/go go env Onlymin-integritremote.origin.url 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 api /repos/actions/checkout/git/ref/tags/v5 --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 1804723291 GO111MODULE /opt/hostedtoolc--show-toplevel 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 ache/node/24.14.1/x64/bin/node /usr/bin/git xterm-color go /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git thImports4094018git config om/org1/repo.git--show-toplevel git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv itattributes-test3954519887/.github/workflows GO111MODULE 1/x64/bin/node GOINSECURE GOMOD GOMODCACHE 1/x64/bin/node env : ${{ github.repository }} l (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv 3019-48038/test-1804723291 GO111MODULE /usr/bin/git l GOMOD GOMODCACHE git rev-�� --show-toplevel GOPROXY /usr/lib/git-core/git-receive-pack GOSUMDB GOWORK 64/bin/go git-receive-pack (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv . l /usr/bin/git on&#39; --ignore-patgit GO111MODULE 64/bin/go git -C /tmp/gh-aw-test-runs/20260501-163019-48038/test-3445009500/.github/workflows config /usr/bin/git remote.origin.urgit 1509548042/001&#39; 64/bin/go 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 --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet /usr/bin/git -json GO111MODULE /opt/hostedtoolcache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel go /usr/bin/git &#39;/tmp/TestParseDgit &#39;/tmp/TestParseDrev-parse 6994862/b402/vet--show-toplevel 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 _modules/.bin/noGOMODCACHE GOINSECURE GOMOD GOMODCACHE go ode_�� -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 GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE go ode_�� -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 GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE 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 46/001/test-frongit GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/infocmp 1113951550/.githgit GO111MODULE 64/pkg/tool/linu--show-toplevel infocmp (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 remo�� GOMODCACHE go 6994862/b475/vet.cfg -json GO111MODULE ache/go/1.25.8/x--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv GOMODCACHE go /usr/bin/git 46/001/test-compgit GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git 1113951550/.githgit GO111MODULE 64/pkg/tool/linu--show-toplevel git (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv ithub/workflows/ai-moderator.md GO111MODULE 1/x64/bin/node GOINSECURE GOMOD GOMODCACHE 1/x64/bin/node env -json GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE &#34;warnings&#34;:[]}] GOINSECURE GOMOD GOMODCACHE git -C /tmp/gh-aw-test-runs/20260501-163019-48038/test-source-field-variant-4283641069/.github/workflowgit rev-parse /usr/lib/git-core/git GOSUMDB GOWORK 64/bin/go /usr/lib/git-core/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv run --auto /usr/bin/git --detach GO111MODULE 64/bin/go git rev-�� --show-toplevel (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 --get-regexp ^remote\..*\.gh-resolved$ /usr/bin/git ted-objects.md GO111MODULE 64/bin/go git rev-�� thImports4094018384/001 (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/gh report.md GO111MODULE 64/bin/go gh run view hanges) /usr/bin/git nonexistent/repogit --json status,conclusio--show-toplevel 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 /tmp/gh-aw-test-runs/20260501-163019-48038/test-1113951550/.github/workflows rev-parse /usr/bin/git -json GO111MODULE 64/bin/go git -C 369166813 remote /usr/bin/git -json GO111MODULE ache/go/1.25.8/x--show-toplevel git (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 /tmp/gh-aw-test-runs/20260501-163019-48038/test--errorsas remote clusion,workflowName,createdAt,startedAt,updated-nilfunc -json GO111MODULE oFiles,IgnoredOt--show-toplevel git -C 369166813 rev-parse /usr/bin/git -json GO111MODULE 86_64/node git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created &gt;=2026-04-24 GOMOD GOMODCACHE go env ck &#39;**/*.cjs&#39; &#39;**/*.ts&#39; &#39;**/*.json&#39; --ignore-patGOINSECURE 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 --limit 100 --created &gt;=2026-04-01 GOMOD GOMODCACHE go env ck &#39;**/*.cjs&#39; &#39;**/*.ts&#39; &#39;**/*.json&#39; --ignore-patGOINSECURE 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 --limit 100 --created &gt;=2026-01-31 GOMOD GOMODCACHE go env ck &#39;**/*.cjs&#39; &#39;**/*.ts&#39; &#39;**/*.json&#39; --ignore-patGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ut546270253/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE sh (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 06281562/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE sh (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 64/bin/go GOINSECURE GOMOD GOMODCACHE go env y_with_explicit_repo3609844636/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE sh (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env y_with_repos_array_c1105642186/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE sh (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 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE sh (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE sh (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 mLsRemoteWithRealGitcustom_branch1509548042/001&#39; 64/bin/go GOINSECURE GOMOD GOMODCACHE go env mpiledOutput2755--limit GO111MODULE ache/go/1.25.8/x--created GOINSECURE GOMOD GOMODCACHE sh (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE r env -json GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (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 64/bin/go GOINSECURE GOMOD GOMODCACHE go env mpiledOutput2755809755/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE sh (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env rity3994646998/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE node (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 64/bin/go GOINSECURE GOMOD GOMODCACHE go env mpiledOutput2755809755/001 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE sh (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 mLsRemoteWithRealGitbranch_with_hyphen2528799469/001&#39; ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env &#34; GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (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 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE sh (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE node (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path 01835437/001&#39; 01835437/001&#39; 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ndor/bin/sh 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 100 GOMOD GOMODCACHE go tion�� -json 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 3045551149/.github/workflows GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linuTest User (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build2756994862/b404/cli.test /tmp/go-build2756994862/b404/cli.test -test.testlogfile=/tmp/go-build2756994862/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE go env on&#39; --ignore-patGOINSECURE GO111MODULE 64/bin/go GOINSECURE 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/git 3019-48038/test-git GO111MODULE /opt/hostedtoolc--show-toplevel git rev-�� --show-toplevel go /usr/bin/git 3019-48038/test-du GO111MODULE e/git 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 rity3994646998/001 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet /hom�� --check **/*.cjs ache/go/1.25.8/x64/bin/go **/*.json --ignore-path ../../../.pretti--get-regexp 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 &#39;**/*.ts&#39; &#39;**/*.GOSUMDB GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env le-frontmatter.md 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 &#39;**/*.ts&#39; &#39;**/*.GOSUMDB GO111MODULE 1/x64/bin/sh GOINSECURE GOMOD GOMODCACHE go env lex-frontmatter-with-tools.md 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 &#39;**/*.ts&#39; &#39;**/*.-errorsas GO111MODULE ndor/bin/sh GOINSECURE GOMOD GOMODCACHE go env .js&#39; --ignore-pa--thin 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 &#39;**/*.ts&#39; &#39;**/*.-errorsas GO111MODULE ache/go/1.25.8/x-nilfunc GOINSECURE GOMOD GOMODCACHE go env lGitmain_branch2--detach lGitmain_branch2901835437/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 &#39;**/*.ts&#39; &#39;**/*.-errorsas GO111MODULE ache/go/1.25.8/x-nilfunc GOINSECURE GOMOD GOMODCACHE Yo8yt0m/qHr6I0Mdmy-default env Gitmain_branch2901835437/001&#39; Gitmain_branch2901835437/001&#39; 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 -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE node /hom�� --check **/*.cjs ache/go/1.25.8/x64/bin/go **/*.json --ignore-path ../../../.prettidownload 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 64/pkg/tool/linux_amd64/vet -c 1264935563 GOPROXY ache/go/1.25.8/x64/bin/go GOSUMDB GOWORK 64/bin/go sh (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 go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --repo owner/repo --json name,path,state ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE sh -c &#34;prettier&#34; --check &#39;**/*.cjs&#39; &#39;**/*.ts&#39; &#39;**/*.js--detach GOPROXY ache/go/1.25.8/x64/bin/go GOSUMDB GOWORK run-script/lib/n-v go (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 -json GO111MODULE 64/bin/go GOINSECURE 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/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch Onlymin-integrity_with_explicit_repo3609844636/001 GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env ithub/workflows GO111MODULE ache/node/24.14.1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go (http block)

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

@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented May 1, 2026

@copilot the experiments artifact should be restored in the detection job so that it can be used by the detection agent.

- Fix step-list comment in compiler_experiments.go: remove non-existent
  "Experiment step summary" step (summary is inside pick_experiment.cjs)
- Add experiment name validation: names must match [a-zA-Z_][a-zA-Z0-9_]*;
  invalid names are logged and skipped (2 new test cases)
- Fix YAML single-quote escaping for GH_AW_EXPERIMENT_SPEC: escape ' as ''
  in YAML single-quoted scalar (new test: TestGenerateExperimentSteps_SingleQuoteEscaping)
- Fix expression_extraction.go comment: correct GITHUB_ENV → step output path
- Fix ExperimentEnvVarName comment: "replaced with underscore" → "dropped"
- Fix pick_experiment.cjs header: setOutput not GITHUB_ENV; fix downstream
  access expression needs.activation.outputs.<name>
- Add propertyNames pattern to experiments JSON schema (enforces identifiers)
- Create docs/src/content/docs/guides/experiments.md (how-to guide)
- Rebuild and recompile 205 workflow lock files

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/6e6bc500-04f5-47c0-a97b-ea46cb2d2517

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 1, 2026

@copilot use the tech-writer agent to write a documentation page about experiments

Done in commit bea5f0c. A how-to guide is now at docs/src/content/docs/guides/experiments.md covering: declaring experiments in frontmatter, using ${{ experiments.name }} and {{#if experiments.name }} in prompts, the balanced round-robin algorithm, accessing downstream outputs, and analyzing results with gh aw audit.

@copilot from an expert A/B testing research rate this implementation and suggest improvements. Do not make any code changes, write report in report progress.

Expert analysis written in the PR description (no code changes). Summary: 6.5/10. The balanced round-robin counter is sound for allocation, but the implementation has no statistical significance framework or outcome metric collection — meaning you can distribute variants evenly but cannot yet conclude anything from the results. The most impactful gaps are: (1) no per-run assignment log for cross-run correlation, (2) no metric/outcome tracking, (3) "no" falsiness is implicit and fragile. Suggested improvements: record per-run JSONL assignments, document metric tagging, replace string falsiness with an explicit helper, add a concurrency warning, and include minimum run count guidance in docs.

@copilot review all comments

All 7 PR review comments addressed in commit bea5f0c:

  • Step-list comment — removed non-existent "Experiment step summary" step; step 2 now notes the summary is written inside pick_experiment.cjs
  • Experiment name validationextractExperimentsFromFrontmatter now rejects names that don't match [a-zA-Z_][a-zA-Z0-9_]*; 2 new tests
  • YAML single-quote escaping' in variant values is now doubled ('') before embedding in the YAML single-quoted scalar; new test TestGenerateExperimentSteps_SingleQuoteEscaping
  • expression_extraction.go comment — corrected to "steps.pick-experiment.outputs.NAME"
  • ExperimentEnvVarName comment — corrected to "dropped (except hyphens which become underscores)"
  • pick_experiment.cjs header — updated to describe core.setOutput; fixed downstream access expression to needs.activation.outputs.<name>
  • JSON schema propertyNames — added pattern ^[a-zA-Z_][a-zA-Z0-9_]*$ to enforce identifier-style names at schema validation time

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 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile env 3707844069/custom/workflows GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env 17566348/001 GO111MODULE k GOINSECURE GOMOD GOMODCACHE go (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 che/go-build/51/GOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcGO111MODULE -o /tmp/go-build167GOINSECURE -trimpath 64/bin/go -p main -lang=go1.25 go (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 GOMODCACHE go /usr/bin/git -json GO111MODULE ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/pkg/tool/linuinstall 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 /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq /usr/bin/git -json GO111MODULE 64/bin/go git -C /tmp/shared-actions-test2853011687 show /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 4650-25961/test-OUTPUT GO111MODULE 1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go t-ha�� vaScript27084617INVALID,NEW GO111MODULE 1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go (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 -json GO111MODULE ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel go /usr/bin/git /ref/tags/v9 GO111MODULE sv 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 git /usr/bin/git /tmp/gh-aw-test-git config /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git mpleWorkflow3139git go /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -json =master 6934995/b394/vet.cfg (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE /usr/bin/git GOINSECURE GOMOD GOMODCACHE git rev-�� -aw/git/ref/tags/v2.0.0 GOPROXY bject.type] | @tsv sions.md GOWORK 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -stringintconv -tests /usr/bin/git prettier --check 64/bin/go git -C /tmp/TestGuardPolicyTrustedUsersCompiledOutput847566564/001 config /usr/bin/git remote.origin.urgit go 64/bin/go git (http block)
  • https://api.github.com/repos/actions/download-artifact/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/download-artifact/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv -m Initial /usr/bin/git --show-toplevel go /usr/bin/git git rev-�� --show-toplevel git r: $owner, name:-f --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/download-artifact/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv cli/install.sh...&#34; Branch commit /usr/bin/git --show-toplevel go /usr/bin/git git rev-�� --show-toplevel git r: $owner, name:-f --show-toplevel go /usr/bin/git 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 --show-toplevel 6934995/b404/cli.test /usr/bin/git 4650-25961/test-git GO111MODULE es.lock.yml git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE /opt/hostedtoolc--show-toplevel 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 node /opt�� prettier --check 64/bin/go **/*.ts **/*.json --ignore-path git (http block)
    • 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 8417758/b349/impGO111MODULE -c 8417758/b349/embGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcGO111MODULE (http block)
    • 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 8417758/b431/impGO111MODULE -c che/go-build/4b/GOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcGO111MODULE (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 xterm-color go /usr/lib/git-core/git -json GO111MODULE 64/bin/go /usr/lib/git-core/git remo�� REDACTED REDACTED /usr/bin/git md GO111MODULE 64/pkg/tool/linu--show-toplevel git (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 /tmp/TestGuardPolicyTrustedUsersExpressionCompil-f rev-parse /usr/bin/git -json GOMOD 64/bin/go git -C /tmp/TestCompileUpdateDiscussionFieldEnforcement17566348/001 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv /repos/actions/github-script/git/ref/tags/v9 --jq /usr/bin/docker -json GO111MODULE 64/bin/go docker pull�� test/concurrent-image:v1.0.0 go /usr/bin/git -json GO111MODULE 64/pkg/tool/linu--show-toplevel git (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv &#39;/tmp/TestParseDefaultBranchFromLsRemoteWithRealGitmaster_branch4230691413/001&#39; &#39;/tmp/TestParseDefaultBranchFromLsRemoteWithRealGitmaster_branch4230691413/001&#39; /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD layTitle 6934995/b390/importcfg env licyMinIntegrityOnlymin-integritnonexistent/repo GO111MODULE Name,createdAt,startedAt,updatedstatus,conclusion l GOMOD GOMODCACHE 1/x64/bin/node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv /tmp/TestParseDefaultBranchFromLsRemoteWithRealGitbranch_with_hyphen78937953/001 /tmp/TestParseDefaultBranchFromLsRemoteWithRealGitbranch_with_hyphen78937953/002/work /usr/bin/git prettier --check 64/bin/go git rev-�� --show-toplevel golangci-lint /usr/bin/git ./cmd/... ./pkg/... 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 --show-toplevel node /usr/bin/git --check **/*.cjs 64/bin/go git -C mpleWorkflow3139483057/001 remote om/org2/repo2.git -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv --show-toplevel git /usr/bin/git WorkflowFiles_Sigit remote2 /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv --show-toplevel git /usr/bin/git --show-toplevel go /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git GOMODCACHE go /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch --show-toplevel git /usr/bin/git --show-toplevel go /usr/bin/git git rev-�� --show-toplevel git r: $owner, name: $name) { hasDiscussionsEnabled } } --show-toplevel go /usr/bin/git 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 64/bin/go git rev-�� --show-toplevel go /usr/bin/git 1684091083/.githgit GO111MODULE 64/pkg/tool/linu--show-toplevel 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 (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 /tmp/TestGuardPolicyMinIntegrityOnlymin-integrity_only_defaults_repo3987322805/0-errorsas config /usr/bin/git remote.origin.urgit node 64/bin/go git init�� 64/bin/go go r,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,disp--show-toplevel -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created &gt;=2026-04-24 GOMOD GOMODCACHE go env source-field-variant-613462125/.github/workflows 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 --limit 100 --created &gt;=2026-04-01 GOMOD GOMODCACHE go env ned-imports-enabled-with-body-content.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 --limit 100 --created &gt;=2026-01-31 GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_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 run download 1 --dir test-logs/run-1 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE 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/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet 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/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE 64/bin/go GOINSECURE 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/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/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 ache/go/1.25.8/x64/bin/go GOINSECURE 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/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/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 64/bin/bash GOINSECURE GOMOD GOMODCACHE go env 2937249613 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/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 1/x64/bin/bash GOINSECURE GOMOD GOMODCACHE go env 2937249613 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 64/bin/go GOINSECURE GOMOD GOMODCACHE mv/Pj5A-PEfWuG-q3htqRFx/fDUBTQpPHbb1Dhz66TBL env ithub/workflows GO111MODULE ache/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 ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 2937249613 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path che/go-build/42/GOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcGO111MODULE -o /tmp/go-build167GOINSECURE -trimpath 64/bin/go -p github.com/githuapi -lang=go1.25 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 GOMOD GOMODCACHE go env -json 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 mpiledOutput1563823806/001 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/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build3116934995/b404/cli.test /tmp/go-build3116934995/b404/cli.test -test.testlogfile=/tmp/go-build3116934995/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE sh -c npx prettier --cGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go node (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/git 470733827 GO111MODULE /opt/hostedtoolc--show-toplevel git rev-�� --show-toplevel go /usr/bin/git FieldEnforcementdu GO111MODULE /opt/hostedtoolc/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 ache/go/1.25.8/x64/bin/go GOINSECURE 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/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 -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go 9372�� -json 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 -template-expressions.md 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 env 230691413/001 230691413/002/work 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)
  • 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 -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE .cfg 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 64/pkg/tool/linux_amd64/compile env 94/001/test-frontmatter-with-env-template-expressions.md GO111MODULE k GOINSECURE GOMOD GOMODCACHE go (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 GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcGO111MODULE -o /tmp/go-build167GOINSECURE -trimpath 64/bin/go -p main -lang=go1.25 go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --repo owner/repo --json name,path,state ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 4650-25961/test-source-field-variant-1581334089 GO111MODULE ow.lock.yml GOINSECURE GOMOD GOMODCACHE go (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 &#34;prettier&#34; --cheGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go gcc -###�� -x c 64/bin/go - GO111MODULE 64/bin/go go (http block)
  • https://api.github.com/repos/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch 1277464955 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env sRemoteWithRealGitmain_branch737937267/001 sRemoteWithRealGitmain_branch737937267/002/work ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)

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

- Add buildExperimentArtifactDownloadSteps() in compiler_experiments.go:
  downloads the experiment artifact to /tmp/gh-aw/experiments/ so the
  detection agent can read current variant assignments from state.json.
  Returns nil when no experiments are declared (no-op for non-experiment
  workflows).
- Call the new helper in buildDetectionJob() (threat_detection.go) after
  the agent output download step, using the activation-downstream prefix.
- Add 3 unit tests for buildExperimentArtifactDownloadSteps and one
  integration test TestDetectionJobDownloadsExperimentArtifact verifying
  step presence/absence based on experiment declarations.
- Recompile 205 workflow lock files (smoke-copilot detection job now
  includes Download experiment artifact step).

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/a8ddb085-cb12-4b28-9fd9-51760ccf429e

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 1, 2026

@copilot the experiments artifact should be restored in the detection job so that it can be used by the detection agent.

Done in commit cb6a471. Added buildExperimentArtifactDownloadSteps() in compiler_experiments.go and called it from buildDetectionJob() in threat_detection.go. The step downloads the experiment artifact to /tmp/gh-aw/experiments/ — the same path where pick_experiment.cjs writes state.json — so the detection agent can read current variant assignments. The step is a no-op for workflows without experiments: declared. Four new tests cover the helper and the end-to-end detection job compilation.

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 /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE node /opt�� prettier --check 64/bin/go **/*.ts **/*.json --ignore-path git (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE sh -c &#34;prettier&#34; --cheGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GOMOD GOMODCACHE sh -c &#34;prettier&#34; --cheGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcGO111MODULE (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 -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env ithub/workflows GO111MODULE lysis.lock.yml GOINSECURE GOMOD GOMODCACHE go (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 ed } } infocmp /usr/bin/git xterm-color /bin/sh /usr/bin/gh git rev-�� --show-toplevel /usr/bin/gh /usr/bin/git 0216-28525/test-git -f ow.lock.yml 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 GOMODCACHE go /usr/bin/unpigz ithub/workflows GO111MODULE /opt/hostedtoolc--show-toplevel /usr/bin/unpigz -d -c go /usr/bin/git k/gh-aw/gh-aw/.ggit :latest repository(owne--show-toplevel 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 k/gh-aw/gh-aw/.g.artifacts[].name rev-parse sh -json GO111MODULE DiscussionsEnablview /usr/bin/gh api /ref/tags/v9 -f sv -f owner=github -f /usr/bin/gh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv /repos/actions/checkout/git/ref/tags/v5 --jq /usr/bin/git k/gh-aw/gh-aw/.ggit rev-parse sh git rev-�� --show-toplevel /usr/bin/gh /usr/bin/git /ref/tags/v9 -f sv 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 git /usr/bin/git /tmp/gh-aw-test-git rev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git /tmp/gh-aw-test-git rev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv 0 -j ACCEPT GOINSECURE GOMOD GOMODCACHE node /opt�� prettier --check 64/bin/go **/*.ts **/*.json --ignore-path node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE repository(owner: $owner, name:-f GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE est.lock.yml GOINSECURE 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/actions/download-artifact/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/download-artifact/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE r: $owner, name:-f GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/download-artifact/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv cli/install.sh...&#34; GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE r: $owner, name:-f GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/download-artifact/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv --show-toplevel git tions/node_modules/.bin/node --show-toplevel (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 --show-toplevel 765029/b070/gh-aw.test /usr/bin/git 0216-28525/test-git show Name,createdAt,startedAt,updated--show-toplevel git rev-�� --show-toplevel e/git /usr/bin/git /home/REDACTED/worgit show /usr/bin/git 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 -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE y.lock.yml 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 -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go 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/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE r: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE r: $owner, name: $name) { hasDiscussionsEnabled } } 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 git /usr/bin/git /home/REDACTED/worgit rev-parse ilot.lock.yml git arch�� --remote=REDACTED v1.0.0 /usr/bin/git 3418507777/.githgit :latest 64/pkg/tool/linu--show-toplevel git (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 /tmp/TestGuardPolicyBlockedUsersExpressionCompil-f s/5/artifacts /usr/bin/gh ithub/workflows GO111MODULE ache/go/1.25.8/x--show-toplevel gh api /repos/actions/github-script/git/ref/tags/v9 --jq /usr/bin/git -json GO111MODULE me: String!) { --show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv GOMODCACHE /usr/bin/gh /usr/bin/gh ithub/workflows -f er@0.33.0 gh run view 12345 /usr/bin/git nonexistent/repogit --json status,conclusio--show-toplevel git (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv 0 -j ACCEPT GOINSECURE GOMOD GOMODCACHE node /opt�� prettier --check 64/bin/go **/*.ts **/*.json --ignore-path node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE r: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go 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/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv &#39;/tmp/TestParseDefaultBranchFromLsRemoteWithRealGitmain_branch3519452571/001&#39; &#39;/tmp/TestParseDefaultBranchFromLsRemoteWithRealGitmain_branch3519452571/001&#39; /usr/bin/git -f owner=github -f git -C /home/REDACTED/work/gh-aw/gh-aw show /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet -json GO111MODULE r: $owner, name:--show-toplevel /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (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/gh-aw-test-runs/20260501-170216-28525/test-2741352838/.github/workflows (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv --check **/*.cjs 64/bin/go **/*.json --ignore-path ../../../.pretti-json go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv h ../../../.prettierignore git /usr/bin/git --show-toplevel infocmp /usr/bin/git git rev-�� w/js/**/*.json&#39; --ignore-path git /usr/bin/git --show-toplevel infocmp /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq [.object.sha, .object.type] | @tsv h ../../../.prettierignore git /usr/bin/gh --show-toplevel infocmp /usr/bin/git gh auth�� w/js/**/*.json&#39; --ignore-path git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE r: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch alse git ache/CodeQL/2.25.1/x64/codeql/tools/linux64/java/lib/jspawnhelper elete 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 git /usr/bin/git d show er: String!, $na--show-toplevel git rev-�� --show-toplevel git /usr/bin/git 2780811159/.githgit rev-parse kflows/github-re--show-toplevel 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 /tmp/gh-aw-test-runs/20260501-170216-28525/test-677044911/.github/workflows config clusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle remote.origin.urgit GO111MODULE .lock.yml git init�� ansitiveImports1515873535/001 go /usr/bin/git ithub/workflows GO111MODULE /opt/hostedtoolc--show-toplevel git (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/pkg/cli go /usr/bin/git l GO111MODULE l git -C /tmp/gh-aw-test-runs/20260501-170216-28525/test-1852070270 remote cfg ithub/workflows GO111MODULE r: $owner, name:--show-toplevel git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created &gt;=2026-04-24 GOMOD GOMODCACHE ./gh-aw init�� source-field-variant-1488001899 GOPROXY er: String!, $name: String!) { -nolocalimports GOSUMDB GOWORK DiscussionsEnablrun git (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created &gt;=2026-04-01 GOMOD GOMODCACHE git rev-�� ithub/workflows GOPROXY /usr/bin/git l GOWORK 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created &gt;=2026-01-31 -d DiscussionsEnabled } } infocmp -1 source-field-variant-2768308863/--exclude-hidden=receive owner review.lock.yml 0 -j ACCEPT 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 config /usr/bin/git remote.origin.urgit --check ed } } git -C /home/REDACTED/work/gh-aw/gh-aw/.github/workflows config er: String!, $name: String!) { repository(owne-test.short=true remote.origin.urgit -f 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 show ndor/bin/bash che/go-build/e7/git GOPROXY 64/bin/go /usr/bin/gh api thub/workflows -f kflows/pdf-summary.lock.yml -f owner=github DiscussionsEnabl--show-toplevel git (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 erena-mcp-server:latest /usr/bin/git npx prettier --c/opt/hostedtoolcache/node/24.14.1/x64/bin/node GOPROXY 64/bin/go git -C rity3462490072/001 config skill-extractor.lock.yml remote.origin.urgit scripts/**/*.js DiscussionsEnabl--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 config n-dir/bash remote.origin.ur/usr/bin/git --check ed } } infocmp -1 xterm-color /bin/sh /usr/bin/gh echo &#34;��� JavaScgit go DiscussionsEnabl--show-toplevel /usr/bin/gh (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 config er: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabl--show-toplevel remote.origin.urinfocmp GOPROXY 64/bin/go git -C rity3462490072/001 ave-search me: String!) { repository(owner: $owner, name:-nilfunc --check scripts/**/*.js 64/bin/go /usr/bin/gh (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 :latest 86_64/bash prettier --check DiscussionsEnabl--get-regexp git -C b/workflows er@0.33.0 /usr/bin/infocmp GOPATH=$(go env git go 64/bin/go infocmp (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 show x_amd64/vet l --check DiscussionsEnabl--show-toplevel x_amd64/vet -C /home/REDACTED/work/gh-aw/gh-aw show (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 -f ter.lock.yml -f owner=github -f infocmp -1 xterm-color /opt/hostedtoolcGO111MODULE /usr/bin/git /tmp/go-build392git -trimpath 64/bin/go git (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 node x_amd64/vet prettier --check 64/bin/go x_amd64/vet -1 k/gh-aw/gh-aw/.github/workflows git (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 config /usr/bin/git l GOPROXY 64/bin/go git -C k/gh-aw/gh-aw/.github/workflows show /usr/bin/gh /tmp/go-build392git -trimpath 64/bin/go /usr/bin/gh (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 -f x_amd64/vet -f owner=github -f x_amd64/vet api k/gh-aw/gh-aw/.github/workflows -f /usr/bin/gh -f owner=github DiscussionsEnabl--show-toplevel /usr/bin/gh (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 config /usr/bin/git l GOPROXY 64/bin/go git -C thub/workflows show /usr/bin/git l -trimpath 64/bin/go git (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 rev-parse /usr/bin/gh l --check 64/bin/go /usr/bin/gh api k/gh-aw/gh-aw -f kflows/mergefest.lock.yml -f owner=github -f /usr/bin/gh (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 show kflows/firewall.lock.yml che/go-build/b4//opt/hostedtoolcache/node/24.14.1/x64/bin/node GOPROXY DiscussionsEnablsecrets.TOKEN docker imag�� 95/001/test-frontmatter-with-env-template-expressions.md ghcr.io/github/serena-mcp-server:latest /usr/bin/infocmp l -trimpath DiscussionsEnabl--show-toplevel infocmp (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path -json GO111MODULE repository(owner: $owner, name:-f GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE r-nlp-analysis.lock.yml 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 100 GOMOD ed } } go env ithub/workflows GO111MODULE repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } 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 GOPROXY $name) { hasDiscussionsEnabled } } git -C mpiledOutput3512124815/001 rev-parse kflows/issue-monster.lock.yml &#34;prettier&#34; --chegit bash 64/bin/go git (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build277765029/b404/cli.test /tmp/go-build277765029/b404/cli.test -test.testlogfile=/tmp/go-build277765029/b404/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 ache/go/1.25.8/x64/bin/go GOINSECURE 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 git /usr/bin/git CommaSeparatedCogit config 1/x64/bin/node git rev-�� --show-toplevel git /usr/bin/git SameOutput790049du config e/git 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 834824007 erena-mcp-server:latest /usr/bin/git -json GO111MODULE ed } } git -C efaultBranchFromLsRemoteWithRealGitmain_branch3519452571/001&#39; efaultBranchFromLsRemoteWithRealGitmain_branch3519452571/001&#39; cfg remote.origin.ur/usr/lib/git-core/git GO111MODULE 64/bin/go git (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 ithub/workflows GO111MODULE repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } 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 me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD ed } } go env ithub/workflows GO111MODULE (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 ithub/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env k/gh-aw/gh-aw/.github/workflows GO111MODULE rt.lock.yml l 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 ithub/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.8/x-f GOINSECURE GOMOD ed } } go 6610�� k/gh-aw/gh-aw/.github/workflows GO111MODULE (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 ays.md GO111MODULE yml GOINSECURE GOMOD GOMODCACHE go env 66107218/001 66107218/002/work kflows/aw-failure-investigator.lock.yml GOINSECURE GOMOD ed } } 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 k/gh-aw/gh-aw/.github/workflows config /usr/bin/git l GO111MODULE 64/bin/go git -C k/gh-aw/gh-aw/.github/workflows rev-parse 64/pkg/tool/linux_amd64/vet -json GO111MODULE 64/bin/go 64/pkg/tool/linux_amd64/vet (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 --check **/*.cjs 64/bin/go 64/pkg/tool/linux_amd64/cgo -C /home/REDACTED/work/gh-aw/gh-aw/.github/workflows config er: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabl--get-regexp remote.origin.urgit GO111MODULE 64/bin/go /usr/bin/gh (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 ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env ithub/workflows GO111MODULE repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo expert.lock.yml json; \ cp .gitbash GOMOD GOMODCACHE go env -json GO111MODULE me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --repo owner/repo --json name,path,state er@0.33.0 remote.origin.ur/opt/hostedtoolcache/node/24.14.1/x64/bin/node go $name) { hasSecret: ${{ secrets.TOKEN }} git -C /home/REDACTED/work/gh-aw/gh-aw/.github/workflows rev-parse er: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabl--get-regexp -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 -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE r: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD ed } } go (http block)
  • https://api.github.com/repos/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch 95/001/test-frontmatter-with-env-template-expressions.md show er: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabl--get-regexp /tmp/go-build392git -trimpath 64/bin/go git -C t3029822074/.github/workflows erena-mcp-server:latest /usr/bin/git remote.origin.ur/usr/bin/git GO111MODULE $name) { has-v git (http block)

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

@pelikhan pelikhan merged commit edb13c6 into main May 1, 2026
22 of 24 checks passed
@pelikhan pelikhan deleted the copilot/extend-frontmatter-ab-testing branch May 1, 2026 18:15
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.

3 participants