You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Extend issue-intent metadata to the close_issue, assign_to_user, and assign_to_agent safe-output tools. As with #44535, rationale and confidence should be required by default in generated tool schemas, with an explicit compatibility opt-out for older GitHub Enterprise Server deployments.
Motivation
Closing an issue or assigning work carries the same kind of reasoning as setting an issue type, field, or label. Capturing rationale and confidence provides:
Auditability: reviewers can understand why the agent closed an issue or selected an assignee.
Consistency: issue-mutation tools expose the same intent contract.
Future value: intent metadata can support suggestion and approval experiences.
Proposed behavior
Issue intents are enabled by default. Workflows can disable them independently on each affected safe output:
Runtime handling remains lenient. Older generated calls or direct calls without metadata should still be accepted; handlers should omit unavailable enrichment rather than fabricate values or reject the operation solely because metadata is missing.
Default: issue intents enabled
For each of these tools, the generated input schema requires:
rationale: string, maximum 280 characters.
confidence: exactly one of LOW, MEDIUM, or HIGH.
Tool
Example rationale
close_issue
"Duplicate of #123 — same root cause confirmed in thread"
assign_to_user
"User is CODEOWNER for the affected path and has capacity"
assign_to_agent
"Issue requires code changes in the auth module — delegating to Copilot"
Intent-capable API paths and feature headers should be used where the corresponding GitHub API supports them.
Per-tool opt-out: issue-intent: false
Generate legacy-compatible schemas where rationale and confidence are optional or omitted.
Do not append intent instructions to tool descriptions.
Do not send intent metadata or intent-specific feature headers.
Use legacy API paths for close and assignment operations.
Implementation scope
Add intent properties to the static tool definitions for close_issue, assign_to_user, and assign_to_agent.
Make those properties required in generated schemas when issue intents are enabled.
Summary
Extend issue-intent metadata to the
close_issue,assign_to_user, andassign_to_agentsafe-output tools. As with #44535,rationaleandconfidenceshould be required by default in generated tool schemas, with an explicit compatibility opt-out for older GitHub Enterprise Server deployments.Motivation
Closing an issue or assigning work carries the same kind of reasoning as setting an issue type, field, or label. Capturing rationale and confidence provides:
Proposed behavior
Issue intents are enabled by default. Workflows can disable them independently on each affected safe output:
Runtime handling remains lenient. Older generated calls or direct calls without metadata should still be accepted; handlers should omit unavailable enrichment rather than fabricate values or reject the operation solely because metadata is missing.
Default: issue intents enabled
For each of these tools, the generated input schema requires:
rationale: string, maximum 280 characters.confidence: exactly one ofLOW,MEDIUM, orHIGH.close_issueassign_to_userassign_to_agentIntent-capable API paths and feature headers should be used where the corresponding GitHub API supports them.
Per-tool opt-out:
issue-intent: falserationaleandconfidenceare optional or omitted.Implementation scope
close_issue,assign_to_user, andassign_to_agent.issue-intentconfiguration introduced by Require rationale/confidence by default with an issue-intents opt-out #44535.Acceptance criteria
rationaleandconfidenceby default for all three tools.issue-intent: falseon any affected safe output generates a legacy-compatible schema for that tool only.References
set_issue_type,set_issue_field, andadd_labels.