Skip to content

Comments

Rename infer: false to disable-model-invocation: true in custom agent frontmatter#16221

Merged
pelikhan merged 4 commits intomainfrom
copilot/replace-infer-with-disable-model-invocation
Feb 16, 2026
Merged

Rename infer: false to disable-model-invocation: true in custom agent frontmatter#16221
pelikhan merged 4 commits intomainfrom
copilot/replace-infer-with-disable-model-invocation

Conversation

Copy link
Contributor

Copilot AI commented Feb 16, 2026

The infer: false field in custom agent files was unclear. Renamed to disable-model-invocation: true for semantic clarity.

Changes

  • Custom agent files: Updated 8 files in .github/agents/ and 5 files in .github/aw/ to use new field name
  • Schema: Added disable-model-invocation field to main_workflow_schema.json with proper description
  • Backward compatibility: Retained infer field validation (marked deprecated) to avoid breaking existing agent files
  • Parser: Updated include_processor.go to accept both field names in validation
  • Tests: Updated test to verify new field name acceptance

Example

# Before
---
description: AI agent that performs code reviews
infer: false
---

# After  
---
description: AI agent that performs code reviews
disable-model-invocation: true
---

Both field names are accepted. Existing files with infer: false continue to work unchanged.

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 + "/" + .name x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh repo view --json owner,name --jq .owner.login + "/" + .name 0/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node (http block)
    • Triggering command: /usr/bin/gh gh repo view --json owner,name --jq .owner.login + "/" + .name ules/.bin/node (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 ithub-script/git/ref/tags/v8 64/pkg/tool/linuorigin /usr/bin/gcc (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 1887448779 x_amd64/vet .cfg ys.md (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 prettier --write /opt/hostedtoolcache/node/24.13.0/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/n--show-toplevel **/*.ts **/*.json --ignore-path sh -c runs/20260216-220348-13917/test-1946567455 64/pkg/tool/linu-v /bin/sh tierignore .cfg 64/pkg/tool/linu--show-toplevel /bin/sh (http block)
    • Triggering command: `/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v4 --jq .object.sha ithub/workflows/agent-performance-analyzer.md --write /home/REDACTED/.config/composer/vendor/bin/sh /.ts **/.json --ignore-path sh -c npx prettier --write '../../..//.json' '!../../../pkg/workflow/js/**/.json' --ignore-path ..git 64/pkg/tool/linuReplace infer: false with disable-model-invocation: true

Co-authored-by: pelikhrev-parse /opt/hostedtoolcache/go/1.25.0/x64/bin/go` (http block)

  • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v4 --jq .object.sha --get remote.origin.url /usr/bin/git -unreachable=falgit /tmp/go-build125rev-parse 0/x64/bin/node git init�� (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 275314336/.github/workflows technical-doc-writer.lock.yml 64/pkg/tool/linux_amd64/asm son hourly-ci-cleanerun -o 64/pkg/tool/linu4 api /repos/actions/stest-logs/run-4 --jq 64/pkg/tool/linux_amd64/vet ire/doc.go ire/forward_requrev-parse x_amd64/vet 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha user --jq clusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle SameOutput145045git user.email de git rev-�� --show-toplevel ache/go/1.25.0/x64/pkg/tool/linu--others 8388792/b417/vet.cfg artifacts-summargit 4821874/b114/vetrev-parse modules/@npmcli/--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel /opt/hostedtoolcrev-parse /usr/bin/git ithub/workflows/git /tmp/go-build125rev-parse s git rev-�� tup/sh/sanitize_path.sh' ':::/usr/bin:/usr/local/bin' && echo "$PATH" /opt/hostedtoolc-test.v=true /usr/bin/git ./../pkg/workflogit e-model-invocatirev-parse ode 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 ctor }} ${{ gith**/*.json main 0/x64/bin/node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha h ../../../.prettierignore (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha h ../../../.prettierignore clKJ/jiBd-_QcHoqjPk66clKJ ndor/bin/bash (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 8388792/b391/_pkg_.a --write 8388792/b391=> **/*.ts b/gh-aw/pkg/loggrev-parse --ignore-path sh -c Wvbv/syC83VcBKcn-lGQLWvbv 64/pkg/tool/linu-v /usr/bin/cp tierignore .cfg 64/pkg/tool/linu--show-toplevel 8388792/b391/importcfg (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v6 --jq .object.sha ire/doc.go ire/forward_requirements.go x_amd64/vet (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 prettier --write /opt/hostedtoolcache/go/1.25.0/x64/bin/sh **/*.ts **/*.json --ignore-path sh -c npx prettier --write '../../../**/*.json' '!../../../pkg/workflow/js/**/*.json' --ignore-path 64/pkg/tool/linu-v ache/node/24.13.0/x64/bin/node tierignore .cfg 64/pkg/tool/linu--show-toplevel cp (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 (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • 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 run download 12345 --dir test-logs/run-12345 (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • 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 run download 3 --dir test-logs/run-3 (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • 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 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 --abbrev-ref HEAD 0/x64/bin/node (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 -nolocalimports -importcfg x_amd64/link t-23�� '**/*.ts' '**/*..github/workflows/test.md /home/REDACTED/work/gh-aw/gh-aw/pk-nolocalimports de_modules/.bin/sh (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 937040997/.github/workflows (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 0/x64/bin/node (http block)
    • Triggering command: /usr/bin/gh gh workflow list --repo owner/repo --json name,path,state 0/x64/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node (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 se 4821874/b139/vet**/*.json 0/x64/bin/node (http block)
  • https://api.github.com/user
    • Triggering command: /usr/bin/gh gh api user --jq .login (http block)
    • Triggering command: /usr/bin/gh gh api user --jq .login SameOutput1450458272/001/stability-test.md user.email de (http block)
    • Triggering command: /usr/bin/gh gh api user --jq .login SameOutput1450458272/001/stabili-c=4 user.email 0/x64/bin/node (http block)

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


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI and others added 2 commits February 16, 2026 22:04
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…ard compatibility

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Replace infer: false with disable-model-invocation: true Rename infer: false to disable-model-invocation: true in custom agent frontmatter Feb 16, 2026
Copilot AI requested a review from pelikhan February 16, 2026 22:08
@pelikhan pelikhan marked this pull request as ready for review February 16, 2026 22:20
Copilot AI review requested due to automatic review settings February 16, 2026 22:20
@pelikhan pelikhan merged commit 027188b into main Feb 16, 2026
123 checks passed
@pelikhan pelikhan deleted the copilot/replace-infer-with-disable-model-invocation branch February 16, 2026 22:22
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request renames the infer: false frontmatter field to disable-model-invocation: true in custom agent files for improved semantic clarity. The field controls whether custom agents should make additional model invocations during execution.

Changes:

  • Renamed field in 13 custom agent files (8 in .github/agents/, 5 in .github/aw/)
  • Updated JSON schema to include both fields with deprecation notice for infer
  • Modified parser validation to accept both field names for backward compatibility
  • Updated test to use new field name

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pkg/parser/schemas/main_workflow_schema.json Added disable-model-invocation field definition and marked infer as deprecated
pkg/parser/include_processor.go Updated validation to accept both infer and disable-model-invocation field names
pkg/parser/frontmatter_includes_test.go Renamed test function and updated test content to use new field name
.github/agents/*.agent.md (8 files) Replaced infer: false with disable-model-invocation: true
.github/aw/*.md (5 files) Replaced infer: false with disable-model-invocation: true
.github/workflows/*.lock.yml (3 files) Updated frontmatter-hash values to reflect recompilation with changed agent imports
Comments suppressed due to low confidence (1)

pkg/parser/frontmatter_includes_test.go:694

  • The test was renamed from TestProcessIncludedFileWithInferField to TestProcessIncludedFileWithDisableModelInvocationField and now only tests the new field name. While the parser code correctly accepts both field names (line 173-174 in include_processor.go), there's no test coverage to verify that the deprecated 'infer' field continues to work. Consider adding a test case that verifies backward compatibility with 'infer: false' to ensure existing agent files continue to work without modification.
// TestProcessIncludedFileWithDisableModelInvocationField verifies that the "disable-model-invocation" field
// (used in custom agent format) is accepted without warnings
func TestProcessIncludedFileWithDisableModelInvocationField(t *testing.T) {
	tempDir := t.TempDir()
	agentsDir := filepath.Join(tempDir, ".github", "agents")
	if err := os.MkdirAll(agentsDir, 0755); err != nil {
		t.Fatalf("Failed to create agents directory: %v", err)
	}

	// Create a test file with the "disable-model-invocation" field (custom agent format)
	testFile := filepath.Join(agentsDir, "test-agent.agent.md")
	testContent := `---
name: Test Agent
description: A test custom agent
disable-model-invocation: true
---

# Test Agent

This is a custom agent file with the disable-model-invocation field.`

	if err := os.WriteFile(testFile, []byte(testContent), 0644); err != nil {
		t.Fatalf("Failed to write test file: %v", err)
	}

	// Process the included file - should not generate warnings
	result, err := processIncludedFileWithVisited(testFile, "", false, make(map[string]bool))
	if err != nil {
		t.Fatalf("processIncludedFileWithVisited() error = %v", err)
	}

	if !strings.Contains(result, "# Test Agent") {
		t.Errorf("Expected markdown content not found in result")
	}
}

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

@mohamedbouddi7777-dev
Copy link

mohamedbouddi7777-dev commented Feb 20, 2026 via email

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