Skip to content

Add best-effort inline sub-agent frontmatter validation in imports and runtime-imports#29793

Merged
pelikhan merged 4 commits intomainfrom
copilot/syntax-validation-frontmatter
May 2, 2026
Merged

Add best-effort inline sub-agent frontmatter validation in imports and runtime-imports#29793
pelikhan merged 4 commits intomainfrom
copilot/syntax-validation-frontmatter

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 2, 2026

Summary

When the Go compiler processes imports: frontmatter entries or {{#runtime-import}} body directives and detects inline sub-agent syntax (## agent: \name``), it now performs best-effort syntax validation of the sub-agent frontmatter blocks in those files.

Changes

pkg/parser/sub_agent_extractor.go

  • Adds ValidateInlineSubAgentsFrontmatter(markdown string) []string — strips the top-level frontmatter, scans the body for ## agent: \name` sections, parses each sub-agent's frontmatter block, and returns warning messages for any unknown fields (descriptionandmodel` are the only valid fields).
  • Adds validateSubAgentFrontmatterFields (internal helper) that validates a single InlineSubAgent.

pkg/parser/import_field_extractor.go

  • Calls ValidateInlineSubAgentsFrontmatter for every file visited during BFS import traversal.
  • Adds a warnings []string field to importAccumulator to collect advisory messages.

pkg/parser/import_processor.go

  • Adds Warnings []string to ImportsResult so collected warnings propagate to the compiler.

pkg/workflow/compiler_orchestrator_tools.go

  • Emits the accumulated importsResult.Warnings to stderr as console warnings (best-effort, never fails compilation).

pkg/workflow/runtime_import_validation.go

  • Calls parser.ValidateInlineSubAgentsFrontmatter for each runtime-imported file and emits warnings to stderr.

pkg/parser/sub_agent_validation_test.go (new)

  • 8 unit tests covering: no agents, valid fields, unknown field, multiple unknown fields, multiple agents, no frontmatter, empty content, top-level frontmatter not validated.

Behavior

  • Warnings only — unknown sub-agent frontmatter fields surface as ⚠ Warning: messages on stderr; compilation always continues.
  • Best effort — if YAML parsing of a sub-agent block fails, a parse-failure warning is emitted and processing continues.

Copilot AI and others added 2 commits May 2, 2026 17:45
@pelikhan pelikhan marked this pull request as ready for review May 2, 2026 17:49
Copilot AI review requested due to automatic review settings May 2, 2026 17:49
Copilot AI requested a review from pelikhan May 2, 2026 17:49
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 best-effort validation for inline sub-agent frontmatter blocks found in imported files and {{#runtime-import}} targets, surfacing unknown-field (and parse) issues as non-fatal warnings.

Changes:

  • Introduces ValidateInlineSubAgentsFrontmatter to scan for inline sub-agents and validate allowed frontmatter keys.
  • Accumulates and propagates import-traversal warnings via ImportsResult.Warnings, and prints them during compilation.
  • Validates runtime-imported files for inline sub-agent frontmatter and emits warnings; adds unit tests for the validator.
Show a summary per file
File Description
pkg/parser/sub_agent_extractor.go Adds inline sub-agent frontmatter validation + warning generation.
pkg/parser/import_field_extractor.go Invokes validation during import BFS and accumulates warnings.
pkg/parser/import_processor.go Extends ImportsResult to carry collected warnings.
pkg/workflow/compiler_orchestrator_tools.go Emits collected import warnings to stderr and increments warning count.
pkg/workflow/runtime_import_validation.go Validates runtime-imported files for inline sub-agent frontmatter and prints warnings.
pkg/parser/sub_agent_validation_test.go Adds unit tests covering validator behavior across common cases.

Copilot's findings

Tip

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

  • Files reviewed: 6/6 changed files
  • Comments generated: 4

Comment thread pkg/parser/sub_agent_extractor.go Outdated
}

_, subAgents, err := ExtractInlineSubAgents(body)
if err != nil || len(subAgents) == 0 {
Comment thread pkg/parser/import_field_extractor.go Outdated
Comment on lines +125 to +128
// Best-effort: detect and validate inline sub-agent frontmatter in the imported file.
// Unknown fields in sub-agent frontmatter blocks are surfaced as advisory warnings.
// Validation failures never abort the import — they are accumulated for later display.
if agentWarnings := ValidateInlineSubAgentsFrontmatter(rawContent); len(agentWarnings) > 0 {
Comment on lines +153 to +157
if agentWarnings := parser.ValidateInlineSubAgentsFrontmatter(string(content)); len(agentWarnings) > 0 {
for _, w := range agentWarnings {
msg := fmt.Sprintf("runtime-import '%s': %s", filePath, w)
expressionValidationLog.Printf("%s", msg)
fmt.Fprintln(os.Stderr, console.FormatWarningMessage(msg))
Comment thread pkg/parser/sub_agent_extractor.go Outdated
Comment on lines +143 to +144
"sub-agent %q: unknown frontmatter field(s) %v (valid fields: description, model)",
agent.Name, unknown,
…validation

Captures the decision to validate inline sub-agent frontmatter fields
(restricting to 'description' and 'model') as advisory warnings during
import BFS traversal and runtime-import resolution.

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

github-actions Bot commented May 2, 2026

Commit pushed: cb4e797

🏗️ ADR gate enforced by Design Decision Gate 🏗️

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 2, 2026

🧪 Test Quality Sentinel Report

Test Quality Score: 86/100

Excellent

Metric Value
New/modified tests analyzed 8
✅ Design tests (behavioral contracts) 8 (100%)
⚠️ Implementation tests (low value) 0 (0%)
Tests with error/edge cases 7 (87.5%)
Duplicate test clusters 0
Test inflation detected ⚠️ Yes (171 test lines / 73 production lines = 2.34:1)
🚨 Coding-guideline violations None

Test Classification Details

View all 8 test classifications
Test File Classification Issues Detected
TestValidateInlineSubAgentsFrontmatter_NoAgents pkg/parser/sub_agent_validation_test.go:14 ✅ Design Edge case: no agents → no warnings
TestValidateInlineSubAgentsFrontmatter_ValidFields pkg/parser/sub_agent_validation_test.go:29 ✅ Design Happy path: valid fields → no warnings
TestValidateInlineSubAgentsFrontmatter_UnknownField pkg/parser/sub_agent_validation_test.go:52 ✅ Design Error case: unknown field → correct warning content
TestValidateInlineSubAgentsFrontmatter_MultipleUnknownFields pkg/parser/sub_agent_validation_test.go:78 ✅ Design Error case: multiple unknowns → one warning per agent
TestValidateInlineSubAgentsFrontmatter_MultipleAgents pkg/parser/sub_agent_validation_test.go:100 ✅ Design Edge case: N agents with bad fields → N warnings
TestValidateInlineSubAgentsFrontmatter_NoFrontmatter pkg/parser/sub_agent_validation_test.go:129 ✅ Design Edge case: sub-agent without frontmatter → no warning
TestValidateInlineSubAgentsFrontmatter_EmptyContent pkg/parser/sub_agent_validation_test.go:143 ✅ Design Edge case: empty input → no warnings
TestValidateInlineSubAgentsFrontmatter_TopLevelFrontmatterNotValidated pkg/parser/sub_agent_validation_test.go:151 ✅ Design Boundary: top-level frontmatter not treated as sub-agent fields

Flagged Tests — Requires Review

No tests are flagged for behavioral quality. One informational note below.

i️ Test Inflation (informational only)

The new test file (sub_agent_validation_test.go, +171 lines) has a 2.34:1 ratio relative to sub_agent_extractor.go (+73 lines), the primary production file containing the new ValidateInlineSubAgentsFrontmatter function. This exceeds the 2:1 threshold.

However, the test file also implicitly exercises code paths in import_field_extractor.go (+14) and import_processor.go (+4). If measured against total production additions (+111 lines across all changed files), the ratio falls to 1.54:1 — within bounds.

The 8 tests are genuinely covering distinct scenarios rather than padded variants. No action required; the high test volume reflects meaningful coverage of a purely new function.


Language Support

Tests analyzed:

  • 🐹 Go (*_test.go): 8 tests — unit (//go:build !integration) ✅

Verdict

Check passed. 0% of new tests are implementation tests (threshold: 30%). All 8 tests verify behavioral contracts of the new ValidateInlineSubAgentsFrontmatter function, covering the full range of expected behaviors: valid fields, unknown fields, multiple agents, missing frontmatter, empty input, and top-level frontmatter scoping.


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

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

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: 86/100. Test quality is excellent — 0% of new tests are implementation tests (threshold: 30%). All 8 tests verify behavioral contracts of the new ValidateInlineSubAgentsFrontmatter function.

@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented May 2, 2026

@copilot review all comments

@pelikhan
Copy link
Copy Markdown
Collaborator

pelikhan commented May 2, 2026

@copilot update the instructions file to explain that if a AW plans to modify any top level markdown files, it should exclude them from protected-files in the front matter

… parse, increment warning counter, comma-join field names

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/b194ddc4-3a1a-4f50-9630-f5ac261f3fa8

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

Copilot AI commented May 2, 2026

@copilot review all comments

Addressed all four reviewer comments in commit a0d521a:

  1. Error on extraction failureValidateInlineSubAgentsFrontmatter now returns a warning string when ExtractInlineSubAgents fails (e.g. duplicate agent names) instead of silently returning nil.

  2. Avoid redundant YAML parse — Added ValidateInlineSubAgentsInBody(body string) []string that works on an already-stripped markdown body. extractAllImportFields now passes origParsed.Markdown (already parsed earlier in the same method) for the common non-substituted case, eliminating the extra ExtractFrontmatterFromContent call.

  3. Warning counter for runtime-import warningsvalidateRuntimeImportFiles now returns ([]string, error) where the string slice carries sub-agent warnings. The call site in compiler_validators.go iterates those warnings, calls c.IncrementWarningCount() for each, and formats them via console.FormatWarningMessage — consistent with all other compiler warnings.

  4. Comma-separated field names — Changed %v slice formatting to strings.Join(unknown, ", ") so the message reads engine, on instead of [engine on].

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 t@users.noreply.github.com (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 (http block)
    • Triggering command: /usr/bin/gh gh repo view owner/repo conf�� rity276334768/001 --global rgo/bin/git http.https://gitgit (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 (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 /ref/tags/v9 git sv --exclude-standainfocmp =master ache/node/24.14.xterm-color git rev-�� --show-toplevel git /usr/bin/git k/gh-aw/gh-aw/.ggit --merged=cb4e797rev-parse ache/node/24.14.--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 remove origin /usr/bin/git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel git /usr/bin/git -m initial commit /usr/bin/git git rev-�� /ref/tags/v9 git sv /tmp/TestGuardPogh remote /usr/bin/infocmp/repos/actions/github-script/git/ref/tags/v9 git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel git-receive-pack /usr/bin/git -pack l /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git /tmp/TestGuardPoinfocmp (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 238146232 committer.name /snap/bin/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv --show-toplevel git /usr/bin/git runs/20260502-18git -goversion /bin/sh git rev-�� --show-toplevel /bin/sh /usr/bin/git git-upload-pack 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 git /usr/bin/infocmp ithub-script/gitgit -tests bject.type] | @t--show-toplevel infocmp -1 xterm-color git /usr/bin/git --show-toplevel git /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 0403-6999/test-4238146232 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv mpleWorkflow2917294815/001 (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 /ref/tags/v9 git sv /tmp/gh-aw-test-infocmp (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 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv 2642176678/001&#39; 2642176678/001&#39; (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv 1 (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9.0.0
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9.0.0 --jq [.object.sha, .object.type] | @tsv (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9.0.0 --jq [.object.sha, .object.type] | @tsv go1.25.8 -c=4 -nolocalimports -importcfg /tmp/go-build3138331678/b347/importcfg -pack /tmp/go-build3138331678/b347/_testmain.go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9.0.0 --jq [.object.sha, .object.type] | @tsv Gitcustom_branch298121568/001&#39; Gitcustom_branch298121568/001&#39; 86_64/git (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 /repos/actions/github-script/git/ref/tags/v9 --jq /usr/bin/git --local rsion=cb4e797-diapi ache/go/1.25.8/x/repos/actions/github-script/git/ref/tags/v9 git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet /usr/bin/git --local core.hooksPath e/git 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 /ref/tags/v9 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv xterm-color git /usr/bin/gh 0403-6999/test-3gh credential.helpeapi ache/go/1.25.8/x/repos/actions/github-script/git/ref/tags/v9 gh api /repos/actions/github-script/git/ref/tags/v9 --jq /usr/bin/git --local commit.gpgsign e/git 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 /bin/sh /usr/bin/git git-upload-pack git git-upload-pack rev-parse /opt/hostedtoolc--show-toplevel git rev-�� --show-toplevel node /usr/bin/git /home/REDACTED/worinfocmp (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 licyMinIntegrityOnlyCompiledOutput841104723/001 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv /tmp/TestHashStability_SameInputSameOutput2097113124/001/stability-test.md (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv /ref/tags/v9 (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 vars.MY_VAR (http block)
  • https://api.github.com/repos/aws-actions/configure-aws-credentials/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/aws-actions/configure-aws-credentials/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel git /usr/bin/git origin develop /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git /tmp/gh-aw-test-gh s/2/artifacts (http block)
    • Triggering command: /usr/bin/gh gh api /repos/aws-actions/configure-aws-credentials/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv ithub-script/git/ref/tags/v9 /usr/lib/git-core/git bject.type] | @tsv run --auto om/testowner/tesuser.name git rev-�� --show-toplevel git /usr/bin/infocmp s/test.md remote /usr/bin/git infocmp (http block)
  • https://api.github.com/repos/azure/login/git/ref/tags/v2
    • Triggering command: /usr/bin/gh gh api /repos/azure/login/git/ref/tags/v2 --jq [.object.sha, .object.type] | @tsv --show-toplevel git /usr/bin/git --bare --initial-branchrev-parse /opt/hostedtoolc--show-toplevel git rev-�� --show-toplevel node /usr/bin/git /home/REDACTED/worinfocmp (http block)
  • https://api.github.com/repos/docker/login-action/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/docker/login-action/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv --show-toplevel /bin/sh /usr/bin/git git-upload-pack 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 --local credential.usern-1 ache/go/1.25.8/xxterm-color git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/link /usr/bin/gh 86703335/.githubinfocmp gpg.program 1/x64/bin/node gh (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 (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 xterm-color (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-25 (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-02 (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-02-01 (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 (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 (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 (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 assword=$GITHUB_TOKEN&#34;; }; f store ndor/bin/bash (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1234567890
    • Triggering command: /usr/bin/gh gh api repos/{owner}/{repo}/actions/runs/1234567890 --jq {databaseId: .id, number: .run_number, url: .html_url, status: .status, conclusion: .conclusion, workflowName: .name, workflowPath: .path, createdAt: .created_at, startedAt: .run_started_at, updatedAt: .updated_at, event: .event, headBranch: .head_branch, (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 (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 assword=$GITHUB_TOKEN&#34;; }; f get (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 (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 (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 (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 g/workflow/runtime_import_validation_test.go aw.test HooksPath (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 (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 (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 (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path (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 (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 (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build1478095792/b404/cli.test /tmp/go-build1478095792/b404/cli.test -test.testlogfile=/tmp/go-build1478095792/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true (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 /ref/tags/v9 node sv /home/REDACTED/worbasename (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 428054518 --local sv http.https://gitgit (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 (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 (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 (http block)
  • https://api.github.com/repos/google-github-actions/auth/git/ref/tags/v2
    • Triggering command: /usr/bin/gh gh api /repos/google-github-actions/auth/git/ref/tags/v2 --jq [.object.sha, .object.type] | @tsv ithub-script/git/ref/tags/v9 /usr/lib/git-core/git bject.type] | @tsv --objects --stdin /usr/bin/infocmp--show-toplevel git rev-�� --show-toplevel infocmp /usr/bin/git xterm-color (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 --get-regexp --local k/gh-aw/gh-aw/.git/copilot-hooks (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 (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 (http block)
    • Triggering command: /usr/bin/gh gh workflow list --repo owner/repo --json name,path,state ache/uv/0.11.8/x86_64/git http.https://gitgit (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 led-with-env-template-expressions-in-body.md (http block)
  • https://api.github.com/repos/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch get --local ache/go/1.25.8/x64/bin/git credential.helpe/usr/bin/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 f88d727 into main May 2, 2026
1 check failed
@pelikhan pelikhan deleted the copilot/syntax-validation-frontmatter branch May 2, 2026 18:06
Copilot stopped work on behalf of pelikhan due to an error May 2, 2026 18:06
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