diff --git a/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/creating-managing-security-campaigns.md b/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/creating-managing-security-campaigns.md index 83122a8b418f..4cc1aa73eb9a 100644 --- a/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/creating-managing-security-campaigns.md +++ b/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/creating-managing-security-campaigns.md @@ -25,7 +25,7 @@ Security campaigns are created and managed from the **{% data variables.product. You choose the alerts that you want to include in the campaign by using either: -* **Campaign templates**: Campaign templates contain filters for the most common alert selections. {% ifversion security-campaigns-autofix %}For code campaigns, they also all include the requirement that {% data variables.copilot.copilot_autofix %} is supported for all the alert types included (that is, `autofix:supported`).{% endif %} +* **Campaign templates**: Campaign templates contain filters for the most common alert selections. {% ifversion security-campaigns-autofix %}When agentic autofix is disabled, they also use `autofix:supported` to include only alerts for rules supported by {% data variables.copilot.copilot_autofix %}.{% endif %} * **Custom filters**: Creating a campaign using custom filters lets you define your own criteria for selecting alerts for the campaign, and lets you tailor your campaign to your organization's specific needs. {% data reusables.code-scanning.campaigns-api %} @@ -74,7 +74,11 @@ All the template filters use `is:open` to include only alerts that need to be re Additional default filters for {% data variables.product.prodname_code_scanning %} alerts: * `autofilter:true` includes only alerts that appear to be in application code. {% ifversion security-campaigns-autofix %} -* `autofix:supported` includes only alerts that are for rules that are supported for {% data variables.copilot.copilot_autofix %}.{% endif %} + +> [!NOTE] +> When agentic autofix is enabled for your organization or enterprise, the `autofix` filter is unavailable, and adding `autofix:supported` does not change the results. For alerts in repositories where {% data variables.copilot.copilot_cloud_agent %} and {% data variables.copilot.copilot_autofix_short %} are available, you can use **Assign to {% data variables.product.prodname_copilot_short %}** for any {% data variables.product.prodname_code_scanning %} alert in a campaign. + +{% endif %} For more information about filtering alerts, see [AUTOTITLE](/code-security/tutorials/secure-your-organization/best-practice-fix-alerts-at-scale#2-select-alerts-for-your-campaign) and [AUTOTITLE](/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/filtering-alerts-in-security-overview). @@ -84,11 +88,11 @@ For more information about filtering alerts, see [AUTOTITLE](/code-security/tuto {% endif %} -In addition to the core filters, you will usually want to add a filter to limit results to a specific rule name, severity, or tag. +Use `autofilter:true` with `rule:`, `tag:`, or `severity:` to scope your campaign. -* `is:open autofilter:true {% ifversion security-campaigns-autofix %}autofix:supported {% endif %}rule:java/log-injection` to show only alerts for log injection in Java code. See [AUTOTITLE](/code-security/reference/code-scanning/codeql/codeql-queries). -* `is:open autofilter:true {% ifversion security-campaigns-autofix %}autofix:supported {% endif %}tag:external/cwe/cwe-117` to show only alerts for "CWE 117: Improper Output Neutralization for Logs". This includes log injection in Java and other languages. -* `is:open autofilter:true {% ifversion security-campaigns-autofix %}autofix:supported {% endif %}severity:critical` to show only alerts with a security severity of critical. +* `is:open autofilter:true rule:java/log-injection` to show only alerts for log injection in Java code. See [AUTOTITLE](/code-security/reference/code-scanning/codeql/codeql-queries). +* `is:open autofilter:true tag:external/cwe/cwe-117` to show only alerts for "CWE 117: Improper Output Neutralization for Logs". This includes log injection in Java and other languages. +* `is:open autofilter:true severity:critical` to show only alerts with a security severity of critical. {% ifversion security-campaigns-secrets %} diff --git a/content/code-security/reference/security-at-scale/overview-dashboard-filters.md b/content/code-security/reference/security-at-scale/overview-dashboard-filters.md index 90953d7631fb..f1369ea4c12e 100644 --- a/content/code-security/reference/security-at-scale/overview-dashboard-filters.md +++ b/content/code-security/reference/security-at-scale/overview-dashboard-filters.md @@ -227,6 +227,10 @@ You can click any result to see full details of the relevant query and the line | Qualifier | Description | | -------- | -------- | +|`autofilter`|Display only alerts that appear to be in application code (`autofilter:true`).| +|{% ifversion code-scanning-autofix %}| +|`autofix`|Display only alerts for rules supported by {% data variables.copilot.copilot_autofix %} (`autofix:supported`). When agentic autofix is enabled for your organization or enterprise, this filter is unavailable and does not affect results.| +|{% endif %}| |`is`|Display {% data variables.product.prodname_code_scanning %} alerts that are open (`open`) or closed (`closed`).| |`resolution`| Display {% data variables.product.prodname_code_scanning %} alerts closed as "false positive" (`false-positive`), "fixed" (`fixed`), "used in tests" (`used-in-tests`), or "won't fix" (`wont-fix`).| |`rule`|Display {% data variables.product.prodname_code_scanning %} alerts identified by the specified rule.| diff --git a/content/copilot/concepts/agents/about-third-party-coding-agents.md b/content/copilot/concepts/agents/about-third-party-coding-agents.md index 0c371a3f594c..7a06b5525510 100644 --- a/content/copilot/concepts/agents/about-third-party-coding-agents.md +++ b/content/copilot/concepts/agents/about-third-party-coding-agents.md @@ -49,7 +49,7 @@ The following third-party agents are supported on {% data variables.product.gith When starting a task with a third-party agent, you can select the AI model used by the agent. You may find that different models perform better, or provide more useful responses, depending on the type of task. For help deciding which model to use, see [AUTOTITLE](/copilot/reference/ai-models/model-comparison). -You can also select **Auto**, which allows {% data variables.copilot.copilot_auto_model_selection %} to choose the best available model on your behalf. See [AUTOTITLE](/copilot/concepts/models/auto-model-selection). +You can also select **Auto**, which chooses between the supported models below. Choosing **Auto** with third-party agents does **not** leverage {% data variables.copilot.copilot_auto_model_selection %}. See [AUTOTITLE](/copilot/concepts/models/auto-model-selection). The following models are available for each agent: diff --git a/content/copilot/concepts/agents/anthropic-claude.md b/content/copilot/concepts/agents/anthropic-claude.md index ad114e862dbc..fce475c3e86f 100644 --- a/content/copilot/concepts/agents/anthropic-claude.md +++ b/content/copilot/concepts/agents/anthropic-claude.md @@ -27,4 +27,4 @@ When starting a task with the {% data variables.product.prodname_anthropic_claud * Auto {% data reusables.copilot.anthropic-claude-agent-models %} -If you select **Auto**, {% data variables.copilot.copilot_auto_model_selection %} will select the best model based on availability and to help reduce rate limiting. For more information, see [AUTOTITLE](/copilot/concepts/models/auto-model-selection). +If you select **Auto**, it will choose one of the available models listed above. **Auto** in {% data variables.product.prodname_anthropic_claude %} coding agent does **not** leverage {% data variables.copilot.copilot_auto_model_selection %}. diff --git a/content/copilot/concepts/agents/openai-codex.md b/content/copilot/concepts/agents/openai-codex.md index 493e65e7e687..cd38ab50c055 100644 --- a/content/copilot/concepts/agents/openai-codex.md +++ b/content/copilot/concepts/agents/openai-codex.md @@ -30,7 +30,7 @@ When starting a task with the {% data variables.product.prodname_openai_codex %} * Auto {% data reusables.copilot.openai-codex-agent-models %} -If you select **Auto**, {% data variables.copilot.copilot_auto_model_selection %} will select the best model based on availability and to help reduce rate limiting. For more information, see [AUTOTITLE](/copilot/concepts/models/auto-model-selection). +If you select **Auto**, it will choose one of the available models listed above. **Auto** in {% data variables.product.prodname_openai_codex %} coding agent does **not** leverage {% data variables.copilot.copilot_auto_model_selection %}. ## {% data variables.product.prodname_vscode_shortname %} extension diff --git a/content/copilot/concepts/models/auto-model-selection.md b/content/copilot/concepts/models/auto-model-selection.md index 296327d92883..4d08c4d61f03 100644 --- a/content/copilot/concepts/models/auto-model-selection.md +++ b/content/copilot/concepts/models/auto-model-selection.md @@ -19,11 +19,12 @@ More than just a model picker, {% data variables.copilot.copilot_auto_model_sele ### Auto with task optimization -> [!NOTE] {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} with task optimization is generally available in {% data variables.copilot.copilot_chat_short %} on the {% data variables.product.github %} website, in {% data variables.product.prodname_vscode_shortname %}, in {% data variables.copilot.copilot_cli_short %}, and in {% data variables.copilot.github_copilot_app %}. +> [!NOTE] {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} with task optimization is generally available in {% data variables.copilot.copilot_chat_short %} on the {% data variables.product.github %} website, in {% data variables.product.prodname_vscode_shortname %}, in {% data variables.copilot.copilot_cli_short %}, in {% data variables.copilot.github_copilot_app %}, and in JetBrains IDEs. {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} with task optimization combines two systems to provide high quality results and better reliability. One system tracks real-time system health and availability, while the other evaluates task complexity. Putting these together, {% data variables.copilot.copilot_auto_model_selection_short %} routes the task to the optimal model. -Routing occurs along natural cache boundaries to avoid additional cache related costs. Switching models mid-session has shown increased cost without ample improvements in quality. +Routing occurs along natural cache boundaries and large drifts in conversation complexity to avoid additional cache related costs without quality improvements. + This helps you get more value from {% data variables.product.prodname_copilot_short %} since it matches each task to the model that can solve it most efficiently. That means reserving higher-cost reasoning models for problems that truly need it, while routing straightforward tasks to faster, lower-cost models that still deliver great results. Benefits of using {% data variables.copilot.copilot_auto_model_selection_short %} include: @@ -87,38 +88,17 @@ When you select **Auto**, {% data variables.copilot.copilot_auto_model_selection > [!TIP] > You can see which model was used for each {% data variables.product.prodname_copilot_short %} response. -> * In **{% data variables.copilot.copilot_chat_short %}**, hover over the response. +> * In **{% data variables.copilot.copilot_chat_short %}** and **{% data variables.copilot.github_copilot_app %}**, hover over the response. > * In **{% data variables.copilot.copilot_cli_short %}**, the model used for each response displays in the terminal. > * In **{% data variables.copilot.copilot_cloud_agent %}**, the model used for each response displays at the end of the response. -> * In **{% data variables.copilot.github_copilot_app %}**, the model used for each response is shown by the model picker next to **Auto**. ### {% data variables.copilot.copilot_chat_short %} in IDEs {% data variables.copilot.copilot_auto_model_selection_short_cap_a %}, with task optimization, is generally available in the following IDEs: * {% data variables.product.prodname_vscode_shortname %} + * JetBrains IDEs {% data variables.copilot.copilot_auto_model_selection_short_cap_a %}, optimized for model reliability and availability, is generally available in the following IDEs: - * JetBrains IDEs * Eclipse * Xcode * {% data variables.product.prodname_vs %} - -## {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} in third-party agents - -When you select **Auto** in the {% data variables.product.prodname_openai_codex %} or {% data variables.product.prodname_anthropic_claude %} coding agents, {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} chooses from the supported list of models, subject to your policies and subscription type. - -### {% data variables.product.prodname_openai_codex %} supported models - -These models are available for {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} in the {% data variables.product.prodname_openai_codex %} coding agent. - -{% data reusables.copilot.openai-codex-agent-models %} - -For more information, see [AUTOTITLE](/copilot/concepts/agents/openai-codex). - -### {% data variables.product.prodname_anthropic_claude %} supported models - -These models are available for {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} in the {% data variables.product.prodname_anthropic_claude %} coding agent. - -{% data reusables.copilot.anthropic-claude-agent-models %} - -For more information, see [AUTOTITLE](/copilot/concepts/agents/anthropic-claude). diff --git a/content/copilot/tutorials/optimize-ai-usage.md b/content/copilot/tutorials/optimize-ai-usage.md index f1348f34861e..8d11768d5ab7 100644 --- a/content/copilot/tutorials/optimize-ai-usage.md +++ b/content/copilot/tutorials/optimize-ai-usage.md @@ -43,7 +43,7 @@ See [AUTOTITLE](/copilot/reference/ai-models/supported-models#models-with-extend A small router looks at your prompt and sends it to the model that can **handle it most efficiently**, reserving expensive reasoning models for complex problems. It also avoids models that burn through a token budget quickly. -{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} also **protects your cache**. It only changes models at natural cache boundaries, when a new session starts or after you run `/compact`, never mid-task. To understand more about why this matters, see [4. Preserve the cache](#4-preserve-the-cache). +{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} also **protects your cache**. It changes models at natural cache boundaries, when a new session starts or after you run `/compact`. As conversations evolve, it will re-route at points where quality improvements outweigh cache loss. To understand more about why this matters, see [4. Preserve the cache](#4-preserve-the-cache). {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} also routes around degraded or busy models, so you hit fewer rate limits and errors. @@ -198,4 +198,4 @@ Teams that invest in these guardrails see fewer retries, faster task completion, Monitor and manage your spending to get the most out of your {% data variables.product.prodname_ai_credits_short %}: * **Use your dashboard and budget controls**. The "AI usage" page, under https://github.com/settings/billing, breaks down consumption across every feature and model, so you can see where your credits are actually going and adjust accordingly. See [AUTOTITLE](/copilot/how-tos/manage-and-track-spending/monitor-ai-usage). -* **Upgrade for a larger allowance**. If you regularly approach your monthly limit, a higher plan may be more economical than paying for additional usage, as higher plans have more {% data variables.product.prodname_ai_credit_singular %} allowance. See [AUTOTITLE](/copilot/get-started/plans#github-ai-credits-allowance-by-plan) and [AUTOTITLE](/copilot/how-tos/manage-your-account/view-and-change-your-copilot-plan). \ No newline at end of file +* **Upgrade for a larger allowance**. If you regularly approach your monthly limit, a higher plan may be more economical than paying for additional usage, as higher plans have more {% data variables.product.prodname_ai_credit_singular %} allowance. See [AUTOTITLE](/copilot/get-started/plans#github-ai-credits-allowance-by-plan) and [AUTOTITLE](/copilot/how-tos/manage-your-account/view-and-change-your-copilot-plan). diff --git a/data/tables/copilot/auto-model-selection.yml b/data/tables/copilot/auto-model-selection.yml index 67356bdc502d..878c24918651 100644 --- a/data/tables/copilot/auto-model-selection.yml +++ b/data/tables/copilot/auto-model-selection.yml @@ -56,6 +56,18 @@ cli: true app: true +- name: GPT-6 Luna + cloud_agent: true + chat: true + cli: true + app: true + +- name: GPT-6 Sol + cloud_agent: true + chat: true + cli: true + app: true + # Anthropic - name: Claude Haiku 4.5 cloud_agent: true @@ -75,6 +87,12 @@ cli: true app: true +- name: Claude Opus 5.5 + cloud_agent: true + chat: true + cli: true + app: true + - name: Claude Sonnet 4.6 cloud_agent: false chat: true diff --git a/src/frame/components/ui/MarkdownContent/stylesheets/lists.scss b/src/frame/components/ui/MarkdownContent/stylesheets/lists.scss index bf59814fc53d..23e6d33a9db9 100644 --- a/src/frame/components/ui/MarkdownContent/stylesheets/lists.scss +++ b/src/frame/components/ui/MarkdownContent/stylesheets/lists.scss @@ -3,11 +3,26 @@ // from the Figma prose spec (node 795:41593), applied via CSS on the existing // markup. We can't use the brand OrderedList/UnorderedList components — their // ListItem span-wraps children, which breaks nested