Skip to content

Commit ee61c9b

Browse files
m-nashCopilot
andauthored
Peel Azure.AI.AgentServer.Core and Azure.ResourceManager.Cdn off the NoWarn skip-list (Azure#59691)
* Peel Azure.AI.AgentServer.Core off the NoWarn skip-list Drop the project-wide <NoWarn>AZC0100;AZC0004</NoWarn> block from src/Azure.AI.AgentServer.Core.csproj and move both suppressions to eng/analyzerallowlist/Azure.AI.AgentServer.Core.txt with their architectural justifications: - AZC0100 (no ConfigureAwait(false)): server-side hosting library on the ASP.NET Core request pipeline, where there is no UI / SynchronizationContext to capture. - AZC0004 (no sync variant): async-only surface by design - hosting and pipeline glue (port binding, graceful shutdown, OpenTelemetry, AgentHostBuilder) where sync variants would deadlock under ASP.NET Core or duplicate code without value. Same exemption as AMQP-based SDKs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Peel Azure.ResourceManager.Cdn off the NoWarn skip-list Drop the project-wide <NoWarn>CS1591</NoWarn> from src/Azure.ResourceManager.Cdn.csproj. CS1591 fired on 66 backward-compatibility shim members across 36 files in src/Customization/Models/. These are [EditorBrowsable(EditorBrowsableState.Never)] discriminator-aliases and legacy constructors preserved from the pre-TypeSpec API; they are hidden from IntelliSense by design. A single-line summary referencing the file-level explanatory comment is added to each undocumented member. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent a0f2e5f commit ee61c9b

40 files changed

Lines changed: 85 additions & 7 deletions

eng/NoWarnSkipValidation.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#
1717
# To remove a project from this list, see the workflow in eng/analyzerallowlist/README.md.
1818
Azure.AI.Agents.Persistent
19-
Azure.AI.AgentServer.Core
2019
Azure.AI.AgentServer.Invocations
2120
Azure.AI.AgentServer.Responses
2221
Azure.AI.AnomalyDetector
@@ -139,7 +138,6 @@ Azure.Provisioning.WebPubSub
139138
Azure.ResourceManager
140139
Azure.ResourceManager.AppService
141140
Azure.ResourceManager.Batch
142-
Azure.ResourceManager.Cdn
143141
Azure.ResourceManager.Chaos
144142
Azure.ResourceManager.Compute
145143
Azure.ResourceManager.ContainerRegistry
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Azure.AI.AgentServer.Core approved analyzer suppressions.
2+
# See eng/analyzerallowlist/README.md for the file format and review policy.
3+
4+
# AZC0100 fires on awaits that omit ConfigureAwait(false). This package is a
5+
# server-side hosting library that runs on the ASP.NET Core request pipeline,
6+
# where there is no UI / SynchronizationContext to capture; ConfigureAwait(false)
7+
# is at best unnecessary and at worst incorrect for hosted-service / middleware
8+
# scenarios. The Azure.Core guideline that AZC0100 enforces is targeted at
9+
# client libraries called from arbitrary contexts and does not apply here.
10+
# See AGENTS.md §0.VI for the broader rationale across AgentServer packages.
11+
nowarn:AZC0100
12+
13+
# AZC0004 fires on async APIs that lack a corresponding sync variant. This
14+
# package only exposes async APIs by design — its surface area is hosting and
15+
# pipeline glue (port binding, graceful shutdown, OpenTelemetry hooks,
16+
# AgentHostBuilder) where sync variants would either deadlock under ASP.NET
17+
# Core or duplicate code without value. This is the same exemption granted to
18+
# AMQP-based SDKs whose I/O model is intrinsically async.
19+
nowarn:AZC0004

sdk/agentserver/Azure.AI.AgentServer.Core/src/Azure.AI.AgentServer.Core.csproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@
88
<PackageTags>Microsoft Azure AI Agent Server Core ASP.NET Core OpenTelemetry</PackageTags>
99
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1010
<Nullable>enable</Nullable>
11-
<!-- AZC0100: Server-side hosting library on ASP.NET Core async pipeline — ConfigureAwait(false) is unnecessary and harmful.
12-
AZC0004: Async-only API — no sync variants needed (same exemption as AMQP-based SDKs).
13-
See AGENTS.md §0.VI for rationale. -->
14-
<NoWarn>$(NoWarn);AZC0100;AZC0004</NoWarn>
1511
</PropertyGroup>
1612
<ItemGroup>
1713
<FrameworkReference Include="Microsoft.AspNetCore.App" />

sdk/cdn/Azure.ResourceManager.Cdn/src/Azure.ResourceManager.Cdn.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,5 @@
77
<Description>Microsoft Azure Resource Manager client SDK for Azure resource provider Microsoft.Cdn.</Description>
88
<PackageTags>azure;management;arm;resource manager;cdn</PackageTags>
99
<DisableEnhancedAnalysis>true</DisableEnhancedAnalysis>
10-
<NoWarn>$(NoWarn);CS1591;</NoWarn>
1110
</PropertyGroup>
1211
</Project>

sdk/cdn/Azure.ResourceManager.Cdn/src/Customization/Models/CacheExpirationActionProperties.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@ namespace Azure.ResourceManager.Cdn.Models
1414
// The old constructor and ActionType property (bridging to TypeName) are preserved here, marked as EditorBrowsable.Never.
1515
public partial class CacheExpirationActionProperties
1616
{
17+
/// <summary> Backward-compatibility shim retained when the model was regenerated from TypeSpec; hidden from IntelliSense. See the file-level comment for details. </summary>
1718
[EditorBrowsable(EditorBrowsableState.Never)]
1819
public CacheExpirationActionProperties(CacheExpirationActionType actionType, CacheBehaviorSetting cacheBehavior, CdnCacheLevel cacheType) : this(cacheBehavior, cacheType)
1920
{
2021
ActionType = actionType;
2122
}
2223

24+
/// <summary> Backward-compatibility shim retained when the model was regenerated from TypeSpec; hidden from IntelliSense. See the file-level comment for details. </summary>
2325
[EditorBrowsable(EditorBrowsableState.Never)]
2426
public CacheExpirationActionType ActionType
2527
{

sdk/cdn/Azure.ResourceManager.Cdn/src/Customization/Models/CacheKeyQueryStringActionProperties.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@ namespace Azure.ResourceManager.Cdn.Models
1414
// The old constructor and ActionType property (bridging to TypeName) are preserved here, marked as EditorBrowsable.Never.
1515
public partial class CacheKeyQueryStringActionProperties
1616
{
17+
/// <summary> Backward-compatibility shim retained when the model was regenerated from TypeSpec; hidden from IntelliSense. See the file-level comment for details. </summary>
1718
[EditorBrowsable(EditorBrowsableState.Never)]
1819
public CacheKeyQueryStringActionProperties(CacheKeyQueryStringActionType actionType, QueryStringBehavior queryStringBehavior) : this(queryStringBehavior)
1920
{
2021
ActionType = actionType;
2122
}
2223

24+
/// <summary> Backward-compatibility shim retained when the model was regenerated from TypeSpec; hidden from IntelliSense. See the file-level comment for details. </summary>
2325
[EditorBrowsable(EditorBrowsableState.Never)]
2426
public CacheKeyQueryStringActionType ActionType
2527
{

sdk/cdn/Azure.ResourceManager.Cdn/src/Customization/Models/CanMigrateContent.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ namespace Azure.ResourceManager.Cdn.Models
1717
public partial class CanMigrateContent
1818
{
1919
// Backward compatibility: old API used ctor(WritableSubResource)
20+
/// <summary> Backward-compatibility shim retained when the model was regenerated from TypeSpec; hidden from IntelliSense. See the file-level comment for details. </summary>
2021
[EditorBrowsable(EditorBrowsableState.Never)]
2122
public CanMigrateContent(WritableSubResource classicResourceReference) : this()
2223
{

sdk/cdn/Azure.ResourceManager.Cdn/src/Customization/Models/CanMigrateResult.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ namespace Azure.ResourceManager.Cdn.Models
1212
// The old string Id property is preserved here (delegating to ResourceId?.ToString()) and marked as EditorBrowsable.Never.
1313
public partial class CanMigrateResult
1414
{
15+
/// <summary> Backward-compatibility shim retained when the model was regenerated from TypeSpec; hidden from IntelliSense. See the file-level comment for details. </summary>
1516
[EditorBrowsable(EditorBrowsableState.Never)]
1617
public string Id => ResourceId?.ToString();
1718
}

sdk/cdn/Azure.ResourceManager.Cdn/src/Customization/Models/CdnCertificateSource.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@ namespace Azure.ResourceManager.Cdn.Models
1414
// The old API is preserved here and bridges to TypeName.
1515
public partial class CdnCertificateSource
1616
{
17+
/// <summary> Backward-compatibility shim retained when the model was regenerated from TypeSpec; hidden from IntelliSense. See the file-level comment for details. </summary>
1718
[EditorBrowsable(EditorBrowsableState.Never)]
1819
public CdnCertificateSource(CdnCertificateSourceType sourceType, CdnManagedCertificateType certificateType) : this(certificateType)
1920
{
2021
SourceType = sourceType;
2122
}
2223

24+
/// <summary> Backward-compatibility shim retained when the model was regenerated from TypeSpec; hidden from IntelliSense. See the file-level comment for details. </summary>
2325
[EditorBrowsable(EditorBrowsableState.Never)]
2426
public CdnCertificateSourceType SourceType
2527
{

sdk/cdn/Azure.ResourceManager.Cdn/src/Customization/Models/ClientPortMatchCondition.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@ namespace Azure.ResourceManager.Cdn.Models
1414
// marked as EditorBrowsable.Never.
1515
public partial class ClientPortMatchCondition
1616
{
17+
/// <summary> Backward-compatibility shim retained when the model was regenerated from TypeSpec; hidden from IntelliSense. See the file-level comment for details. </summary>
1718
[EditorBrowsable(EditorBrowsableState.Never)]
1819
public ClientPortMatchCondition(ClientPortMatchConditionType conditionType, ClientPortOperator clientPortOperator) : this(clientPortOperator)
1920
{
2021
ConditionType = conditionType;
2122
}
2223

24+
/// <summary> Backward-compatibility shim retained when the model was regenerated from TypeSpec; hidden from IntelliSense. See the file-level comment for details. </summary>
2325
[EditorBrowsable(EditorBrowsableState.Never)]
2426
public ClientPortMatchConditionType ConditionType
2527
{

0 commit comments

Comments
 (0)