Skip to content

Add ambient context metric to audit and logs commands#27137

Merged
pelikhan merged 4 commits intomainfrom
copilot/add-ambient-context-metric
Apr 19, 2026
Merged

Add ambient context metric to audit and logs commands#27137
pelikhan merged 4 commits intomainfrom
copilot/add-ambient-context-metric

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 19, 2026

  • Locate audit/logs output schemas and token usage parsing paths
  • Verify baseline validation status before changes (noting existing unrelated environment-dependent failure)
  • Add ambient context model to parsed token usage data (first invocation input/cached/effective)
  • Compute ambient context from first LLM invocation using chronological ordering
  • Expose ambient context in audit output schema
  • Expose ambient context in logs output schema
  • Add/adjust unit tests for token parsing and audit/logs serialization
  • Update audit/logs reference documentation for ambient context
  • Run targeted tests for modified packages/files
  • Run required pre-commit validation (make agent-finish) and capture results (fails in existing external live GitHub API JS test due DNS monitoring proxy)
  • Run parallel validation and address valid findings
  • Finalize commits and open/update PR

Copilot AI and others added 2 commits April 19, 2026 01:43
Copilot AI requested a review from pelikhan April 19, 2026 01:49
@pelikhan pelikhan marked this pull request as ready for review April 19, 2026 06:28
Copilot AI review requested due to automatic review settings April 19, 2026 06:28
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 “ambient context” token metric (capturing the first LLM invocation’s input/cached/effective token footprint) and exposes it in gh aw audit and gh aw logs JSON outputs, with accompanying unit tests and documentation updates.

Changes:

  • Parse and compute ambient_context from the earliest (chronological) token-usage entry and attach it to TokenUsageSummary.
  • Expose ambient_context in audit metrics output and per-run logs output.
  • Add unit tests for parsing/serialization and update reference docs.
Show a summary per file
File Description
pkg/cli/token_usage.go Adds AmbientContextMetrics, computes ambient context from first chronological invocation, and includes it in TokenUsageSummary.
pkg/cli/token_usage_test.go Adds tests validating ambient context extraction and default behavior when cached tokens are absent.
pkg/cli/logs_report.go Extends logs JSON schema to include per-run ambient_context sourced from token usage summary.
pkg/cli/logs_ambient_context_test.go Verifies buildLogsData includes ambient context in structured logs output.
pkg/cli/audit_report.go Extends audit metrics JSON schema to include ambient_context and populates it from token usage.
pkg/cli/audit_ambient_context_test.go Verifies buildAuditData includes ambient context in audit metrics.
docs/src/content/docs/reference/audit.md Documents ambient_context in audit metrics and logs JSON output.

Copilot's findings

Tip

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

Comments suppressed due to low confidence (1)

pkg/cli/token_usage.go:112

  • parseTokenUsageFile now buffers every parsed TokenUsageEntry into an in-memory slice so it can sort to find the first chronological invocation. This makes parsing O(n) memory + O(n log n) time and can get expensive for large token-usage.jsonl files. Consider computing the “first” ambient-context entry in a single pass while scanning (track the earliest valid timestamp / fallback to first-seen order) so totals can still be aggregated streaming without retaining/sorting the full dataset.
	entries := make([]TokenUsageEntry, 0)
	lineNum := 0
	for scanner.Scan() {
		lineNum++
		line := strings.TrimSpace(scanner.Text())
  • Files reviewed: 7/7 changed files
  • Comments generated: 1

Comment thread pkg/cli/audit_report.go Outdated
WarningCount int `json:"warning_count" console:"header:Warnings"`
TokenUsage int `json:"token_usage,omitempty" console:"header:Token Usage,format:number,omitempty"`
EffectiveTokens int `json:"effective_tokens,omitempty" console:"header:Effective Tokens,format:number,omitempty"`
AmbientContext *AmbientContextMetrics `json:"ambient_context,omitempty"`
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

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

MetricsData.AmbientContext will render in console output with the autogenerated section title "AmbientContext" (no space) because there is no console tag on this field. To keep the pretty output consistent with other metrics labels, consider adding a console tag like title:Ambient Context (and optionally omitempty) so the section header is user-friendly when rendered via console.RenderStruct.

Suggested change
AmbientContext *AmbientContextMetrics `json:"ambient_context,omitempty"`
AmbientContext *AmbientContextMetrics `json:"ambient_context,omitempty" console:"title:Ambient Context,omitempty"`

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

🧪 Test Quality Sentinel Report

Test Quality Score: 75/100

⚠️ Acceptable — with suggestions

Metric Value
New/modified tests analyzed 4
✅ Design tests (behavioral contracts) 4 (100%)
⚠️ Implementation tests (low value) 0 (0%)
Tests with error/edge cases 2 (50%)
Duplicate test clusters 0
Test inflation detected ⚠️ Yes — audit_ambient_context_test.go (37 lines) vs audit_report.go (+11 additions) = 3.4:1 ratio
🚨 Coding-guideline violations None

Test Classification Details

View All Test Classifications (4 tests)
Test File Classification Issues Detected
TestBuildAuditDataIncludesAmbientContext pkg/cli/audit_ambient_context_test.go:14 ✅ Design Happy-path only; no nil/missing AmbientContext case
TestBuildLogsDataIncludesAmbientContext pkg/cli/logs_ambient_context_test.go:14 ✅ Design Happy-path only; no nil/missing AmbientContext case
"extracts ambient context from first chronological invocation" pkg/cli/token_usage_test.go:74 ✅ Design Excellent — tests out-of-order records to verify chronological sorting
"ambient context defaults cached tokens to zero when absent" pkg/cli/token_usage_test.go:92 ✅ Design Excellent — tests missing-field default behavior

Flagged Tests — Review Suggested

⚠️ TestBuildAuditDataIncludesAmbientContext (pkg/cli/audit_ambient_context_test.go:14)

Classification: Design test (behavioral contract)
Issue: Happy-path only. Only tests the case where AmbientContext is fully populated. Does not verify behavior when TokenUsage is nil or when AmbientContext is nil.
What design invariant does this test enforce? That buildAuditData() correctly maps AmbientContext fields from the input ProcessedRun to the output audit data structure.
What would break if deleted? A regression where AmbientContext is not mapped into the audit output would go undetected — meaningful behavioral coverage.
Suggested improvement: Add a subcase that passes a ProcessedRun with TokenUsage: nil or AmbientContext: nil and asserts that auditData.Metrics.AmbientContext is nil (not a panic or empty struct).

⚠️ TestBuildLogsDataIncludesAmbientContext (pkg/cli/logs_ambient_context_test.go:14)

Classification: Design test (behavioral contract)
Issue: Happy-path only. Same gap as the audit test — the nil AmbientContext code path is untested.
What design invariant does this test enforce? That buildLogsData() correctly propagates AmbientContext into each run's output.
What would break if deleted? A regression omitting ambient context from logs output would not be caught.
Suggested improvement: Convert to a table-driven test with a second row where TokenUsage or AmbientContext is nil, asserting data.Runs[0].AmbientContext == nil.


Highlights ✨

The two new token_usage_test.go subtests are excellent behavioral tests:

  • Chronological ordering test provides two out-of-order records to specifically verify the sorting invariant — not just that a value is returned, but that the correct value (first chronological) is returned.
  • Missing cached tokens test covers a real-world edge case (optional JSON field absent) and verifies the default zero-value behavior explicitly.

All test files have correct //go:build !integration build tags, use testify with descriptive assertion messages, and contain no mock libraries.


Language Support

Tests analyzed:

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

Verdict

Check passed. 0% of new tests are implementation tests (threshold: 30%). All 4 new tests verify observable behavioral contracts with descriptive assertions. Score drops to 75/100 due to (a) two happy-path-only tests missing nil-input coverage, and (b) minor test inflation in audit_ambient_context_test.go relative to its direct production file.


📖 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: §24622814663

🧪 Test quality analysis by Test Quality Sentinel · ● 410.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: 75/100. Test quality is acceptable — 0% of new tests are implementation tests (threshold: 30%). All 4 new tests verify behavioral contracts with descriptive assertions and proper build tags. See the comment above for suggestions to improve edge-case coverage.

Generated by the Design Decision Gate workflow for PR #27137.
Captures the decision to track first-LLM-invocation token footprint
as a proxy for ambient context size in audit and logs outputs.

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

Commit pushed: c752d94

🏗️ ADR gate enforced by Design Decision Gate 🏗️

@github-actions
Copy link
Copy Markdown
Contributor

🏗️ Design Decision Gate — ADR Required

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

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

📄 Draft ADR: docs/adr/27137-add-ambient-context-metric.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 couldn't 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-27137: Track Ambient Context via First LLM Invocation Token Metrics

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., 27137-add-ambient-context-metric.md for PR #27137).

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

References:

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

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot Review all
Comments

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 19, 2026

@copilot Review all
Comments

Done — I reviewed and addressed the outstanding review feedback. Added the console tag so metrics.ambient_context renders as Ambient Context in pretty output (fab03dd).

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 e/git GOINSECURE GOMOD GOMODCACHE e/git env -json GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go .&#34;; \ BEFORE=$(git GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh repo view owner/repo env -json GO111MODULE (http block)
    • Triggering command: /usr/bin/gh gh repo view owner/repo env -json l t GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.8/x^remote\..*\.gh-resolved$ -ato�� -bool -buildtags /usr/bin/infocmp -errorsas -ifaceassert -nilfunc infocmp (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 go1.25.8 -c=4 -nolocalimports -importcfg /tmp/go-build2021132565/b070/importcfg -pack /tmp/go-build2021132565/b070/_testmain.go -c che/go-build/8d/GOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolc-buildtags (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/pkg/tool/linu--show-toplevel 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 user.email test@example.com /usr/bin/git &#34;prettier&#34; --chegit GOPROXY 64/bin/go git rev-�� --show-toplevel go /opt/hostedtoolcache/node/24.14.1/x64/bin/node -m -json 64/bin/go node (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 496/001/stability-test.md GO111MODULE 64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/link env .test GO111MODULE 1/x64/bin/node GOINSECURE GOMOD GOMODCACHE AsOFAVfN0anr7EFuud/quCzz2iym2Ge6nnWBFZn/CKlcXHpkfW1qPTLTEULB (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv --get-regexp ^remote\..*\.gh-resolved$ /usr/bin/git json GO111MODULE k git rev-�� 5156-40163/test-4278569831 go /usr/bin/git -json GO111MODULE 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 xterm-color go /usr/bin/git runs/20260419-06git GO111MODULE /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel GOPROXY /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 go /usr/lib/git-core/git-remote-https -json GO111MODULE .cfg /usr/lib/git-core/git-remote-https orig�� REDACTED go /usr/bin/git RequiresMinInteggit GO111MODULE ache/go/1.25.8/x--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 go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv --check **/*.cjs 64/bin/go **/*.json --ignore-path ../../../.pretti--show-toplevel go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv --check **/*.cjs 64/bin/go **/*.json --ignore-path ../../../.pretti/tmp/gh-aw-add-gitattributes-test3026959945/.github/workflows go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go 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 --git-dir go /usr/bin/git -json GO111MODULE x_amd64/vet git rev-�� --show-toplevel x_amd64/vet /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv xterm-color GOPROXY ache/node/24.14.1/x64/bin/node GOSUMDB GOWORK 64/bin/go ache/node/24.14.1/x64/bin/node 8667�� uts.version config /usr/bin/git remote.origin.urgit GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0.1.2
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq [.object.sha, .object.type] | @tsv --git-dir go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/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 --pack_header=2,3 l /usr/bin/git GOSUMDB GOWORK 64/bin/go git -C /tmp/gh-aw-test-runs/20260419-065156-40163/test-142719564/.github/workflows (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv k/gh-aw/gh-aw/.github/workflows/agentic-observability-kit.md GOPROXY /usr/bin/git GOSUMDB GOWORK 64/bin/go git rev-�� --show-toplevel node /usr/bin/git run lint:cjs 64/bin/go git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/1/artifacts --jq .artifacts[].name GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 5156-40163/test-3472792969/.github/workflows 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 5156-40163/test-1626372699/.github/workflows GO111MODULE 1/x64/bin/node 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/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json GO111MODULE .cfg GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE 1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go t-ha�� vaScript3395813892/001/test-simp--detach GO111MODULE 1/x64/bin/node 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/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json GO111MODULE .cfg GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE 1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go t-ha�� vaScript3395813892/001/test-simple-frontmatter.mremote.origin.url GO111MODULE .cfg 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 ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 5156-40163/test-3472792969/.github/workflows 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 g_.a GOINSECURE GOMOD GOMODCACHE go env Onlymin-integrity_with_explicit_repo655300745/001 GO111MODULE .cfg 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 ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 5156-40163/test-3472792969/.github/workflows 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 ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 5156-40163/test-1626372699/.github/workflows GO111MODULE /opt/hostedtoolcache/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 ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 5156-40163/test-3472792969/.github/workflows 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 ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env Onlymin-integrity_only_defaults_repo4182708908/001 GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/cgo GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/cgo (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/5/artifacts --jq .artifacts[].name GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env 5156-40163/test-3472792969/.github/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 1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go t-ha�� vaScript3395813892/001/test-inlined-imports-enabled-with-env-template-expressions-in-body.md GO111MODULE /opt/hostedtoolcache/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 -c=4 -nolocalimports -importcfg /tmp/go-build2021132565/b392/importcfg -pack /home/REDACTED/work/gh-aw/gh-aw/internal/tools/generate-action-metadata/main.go 1737959/b426/impGO111MODULE -c che/go-build/6c/GOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolc-buildtags (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 main -lang=go1.25 go env -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 t3026959945 GO111MODULE .yml GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github%2Fworkflows%2Faudit-workflows.md
    • Triggering command: /opt/hostedtoolcache/node/24.14.1/x64/bin/node /opt/hostedtoolcache/node/24.14.1/x64/bin/node --experimental-import-meta-resolve --require /home/REDACTED/work/gh-aw/gh-aw/actions/setup/js/node_modules/vitest/suppress-warnings.cjs --conditions node --conditions development /home/REDACTED/work/gh-aw/gh-aw/actions/setup/js/node_modules/vitest/dist/workers/forks.js -- t git show�� --verify --quiet k/gh-aw/gh-aw/actions/setup/js/ndevelopment --local --get de_modules/.bin/-e git (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build2021132565/b403/cli.test /tmp/go-build2021132565/b403/cli.test -test.testlogfile=/tmp/go-build2021132565/b403/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE prettier (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 -v 64/pkg/tool/linux_amd64/vet /usr/bin/git agent-persona-exgit GO111MODULE ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE .cfg 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 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/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 _bra�� -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 Gitmain_branch1026746915/001&#39; Gitmain_branch1026746915/001&#39; 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 1114�� -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 -json GO111MODULE 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 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 3897515870/.github/workflows GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/nonexistent/repo/actions/runs/12345
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion GOINSECURE GOMOD GOMODCACHE go ns-l�� ata/action_pins.json GO111MODULE e/git-upload-pack 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 GOINSECURE GOMOD GOMODCACHE sh -c &#34;prettier&#34; --cheGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOINSECURE GOMOD GOMODCACHE node /hom�� --check **/*.cjs 64/bin/go **/*.json --ignore-path ../../../.pretti-bool go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --repo owner/repo --json name,path,state ache/node/24.14.1/x64/bin/node l GOMOD GOMODCACHE go t-39�� bility_SameInputSameOutput733212496/001/stability-test.md GO111MODULE /usr/bin/git GOINSECURE GOMOD GOMODCACHE 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 YfD_/GQkfHvsO1w_GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 1737959/b413/impGO111MODULE -c che/go-build/15/GOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolc-buildtags (http block)
  • https://api.github.com/repos/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch -bool l /usr/bin/git -errorsas -ifaceassert -nilfunc git rev-�� --show-toplevel -tests /opt/hostedtoolcache/node/24.14.1/x64/bin/node npx prettier --cgit GOPROXY 64/bin/go node (http block)
  • invalid.example.invalid
    • Triggering command: /usr/lib/git-core/git-remote-https /usr/lib/git-core/git-remote-https origin https://invalid.example.invalid/nonexistent-repo.git git conf�� --local --get ode_modules/.bin/git cal/bin/git git /git git add . git tions/setup/node_modules/.bin/git -M main bin/git git (dns block)

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

@pelikhan pelikhan merged commit b90039e into main Apr 19, 2026
18 checks passed
@pelikhan pelikhan deleted the copilot/add-ambient-context-metric branch April 19, 2026 13:30
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