TypeSpec Assessment

2 TypeSpec changes for ServiceNetworking

TypeSpec source diff: fd120e0fcfaa15303cf56fb1987fa805d76cc467 → d33364d832f4a26339b900c7a88f604753a4d74b

Preview NoticeThe TypeSpec Assessment Assistant is in preview; official validation and review remain the source of truth.

The TypeSpec Assessment Assistant is currently in preview. Its goal is to help service developers build confidence earlier in the TypeSpec authoring workflow by providing contextual analysis, risk identification, and guidance on potential downstream impacts.

This report is intended as a review reference and learning aid only. It does not replace official ARM API, Azure API Stewardship, Azure Breaking Change reviews, and should not be treated as authoritative review feedback or approval for specification changes. Official validation tools, generated artifacts, and reviewer feedback remain the source of truth for merge and release decisions.

Downstream breaking changes

Method impact and affected intents at a glance; expand for before/after evidence.

propertiesConfirmed SDK type finding retained without a deterministic SDK method mapping.
Method mapping unavailable

properties

Microsoft.ServiceNetworking.AssociationUpdate.properties

Precise method path, location and baseline/target role unavailable. Aggregate root locations are not method-specific evidence.

Contract areaBeforeAfter
SDK type contractproperties
Existing JavaScript callers retain the flattened AssociationUpdate request shape.
AssociationUpdate.properties is no longer flattened in the JavaScript SDK.
Why this is breaking: Excluding JavaScript from flattenProperty moves associationType and subnet behind the properties object for an existing update request, breaking existing JavaScript object literals and property access.

Documentation Completeness

Checks only whether newly added operation, model, enum, and interface declarations have a nonempty effective TypeSpec description.

2 findings · 15 declarations checked

PrivateLinkResourcesInterfaceMissing documentation for PrivateLinkResourcesInterface
failed
View TypeSpec declaration missing a description

specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/main.tsp:543-548

@added(Versions.v2026_03_01)
@armResourceOperations
interface PrivateLinkResourcesInterface {
  get is ArmResourceRead<PrivateLinkResource>;
  listByTrafficController is ArmResourceListByParent<PrivateLinkResource>;
}

Why this needs attention

The TypeSpec compiler returned no nonempty documentation for this declaration.

Suggested change

Add a nonempty TypeSpec documentation description.

PrivateEndpointConnectionsInterfaceMissing documentation for PrivateEndpointConnectionsInterface
failed
View TypeSpec declaration missing a description

specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/main.tsp:534-541

@added(Versions.v2026_03_01)
@armResourceOperations
interface PrivateEndpointConnectionsInterface {
  get is ArmResourceRead<PrivateEndpointConnection>;
  update is ArmResourceCreateOrReplaceAsync<PrivateEndpointConnection>;
  delete is ArmResourceDeleteWithoutOkAsync<PrivateEndpointConnection>;
  listByTrafficController is ArmResourceListByParent<PrivateEndpointConnection>;
}

Why this needs attention

The TypeSpec compiler returned no nonempty documentation for this declaration.

Suggested change

Add a nonempty TypeSpec documentation description.

Semantic intents

Impact links are visible at a glance; expand for changed TypeSpec source, followed by affected operations.

Preserve language-specific SDK shapesAdds Autorest, JavaScript, and C# customizations for the new private-link surface and changes JavaScript flattening for the existing AssociationUpdate request.
modify
Changed TypeSpec source (3)
specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/main.tsp
 
   /** The resource-specific properties for this resource. */
   #suppress "@azure-tools/typespec-azure-core/no-legacy-usage"
-  @Azure.ClientGenerator.Core.Legacy.flattenProperty
+  @Azure.ClientGenerator.Core.Legacy.flattenProperty("!javascript")
   properties?: AssociationUpdateProperties;
 }
 
specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/back-compatible.tsp
   "autorest"
 );
 #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Back compatibility"
+@@Azure.ClientGenerator.Core.Legacy.flattenProperty(
+  Microsoft.ServiceNetworking.PrivateEndpointConnection.properties,
+  "autorest"
+);
+#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Back compatibility"
+@@Azure.ClientGenerator.Core.Legacy.flattenProperty(
+  Microsoft.ServiceNetworking.PrivateLinkResource.properties,
+  "autorest"
+);
+#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "Back compatibility"
 @@Azure.ClientGenerator.Core.Legacy.flattenProperty(
   Azure.ResourceManager.Foundations.ResourceUpdateModel.properties,
   "autorest"
specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/client.tsp
   Azure.ResourceManager.Models.SubResource[],
   "csharp"
 );
+@@alternateType(
+  TrafficControllerProperties.privateEndpointConnections,
+  Azure.ResourceManager.Models.SubResource[],
+  "csharp"
+);
+@@alternateType(
+  FrontendAssociation.id,
+  Azure.Core.armResourceIdentifier,
+  "csharp"
+);
+
+#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "property flatten for SDK backward compatibility"
+@@Azure.ClientGenerator.Core.Legacy.flattenProperty(
+  PrivateEndpointConnection.properties,
+  "csharp"
+);
+#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "property flatten for SDK backward compatibility"
+@@Azure.ClientGenerator.Core.Legacy.flattenProperty(
+  PrivateLinkResource.properties,
+  "csharp"
+);
+
+@@clientName(
+  PublicNetworkAccess,
+  "TrafficControllerPublicNetworkAccess",
+  "csharp"
+);
+@@clientName(
+  PrivateLinkServiceConnectionStatus,
+  "ServiceNetworkingPrivateLinkServiceConnectionStatus",
+  "csharp"
+);
 
 @@clientName(
   Versions.v2023_11_01,
specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/client.tsp
   "$DO_NOT_NORMALIZE$V2025_05_01",
   "javascript"
 );
+@@clientName(
+  Versions.v2026_03_01,
+  "$DO_NOT_NORMALIZE$V2026_03_01",
+  "javascript"
+);
 
 // we add this model in this namespace in order to replace some models with this model via alternateType decorator
 namespace Azure.ResourceManager.Models {

specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/main.tsp:109, specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/back-compatible.tsp, specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/client.tsp

Affected operations (1)
AssociationsInterface_UpdatePATCH/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/associations/{associationName}2026-03-01

HTTP signature and represented payload contract unchanged.

Publish private-link support in API version 2026-03-01Adds a stable API version with private endpoint connections, private link resources, public network access, and version-scoped resource operations and properties.
modify
Changed TypeSpec source (1)
specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/main.tsp
 
   /** 2025-03-01 preview version */
   v2025_03_01_preview: "2025-03-01-preview",
+
+  /** 2026-03-01 stable version */
+  v2026_03_01: "2026-03-01",
 }
 
 using TypeSpec.Http;
specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/main.tsp
   @visibility(Lifecycle.Read)
   fqdn?: string;
 
+  /** Whether public network access is allowed for the frontend. Enabled indicates a public frontend; Disabled indicates a private frontend. */
+  @added(Versions.v2026_03_01)
+  publicNetworkAccess?: PublicNetworkAccess;
+
+  /** Reference to an Association resource that contains the subnet where the private frontend should be deployed. */
+  @added(Versions.v2026_03_01)
+  association?: FrontendAssociation;
+
   /** Frontend Security Policy Configuration */
   @added(Versions.v2025_03_01_preview)
   securityPolicyConfigurations?: SecurityPolicyConfigurations;
specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/main.tsp
   provisioningState?: ProvisioningState;
 }
 
+/** Whether public network access is allowed for the frontend. */
+@added(Versions.v2026_03_01)
+union PublicNetworkAccess {
+  string,
+
+  /** Public network access is enabled (public frontend accessible via a public IP address). */
+  Enabled: "Enabled",
+
+  /** Public network access is disabled (private frontend accessible only through a private endpoint). */
+  Disabled: "Disabled",
+}
+
+/** Reference to an Association resource. */
+@added(Versions.v2026_03_01)
+model FrontendAssociation {
+  /** Resource ID of the Association. */
+  id: string;
+}
+
 //----------------------- Associations -----------------------
 /** Association Subresource of Traffic Controller */
 @parentResource(TrafficController)
specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/main.tsp
   @added(Versions.v2024_05_01_preview)
   securityPolicies?: ResourceId[];
 
+  /** Private Endpoint Connections List */
+  @visibility(Lifecycle.Read)
+  @added(Versions.v2026_03_01)
+  privateEndpointConnections?: ResourceId[];
+
   /** Security Policy Configuration */
   @added(Versions.v2024_05_01_preview)
   securityPolicyConfigurations?: SecurityPolicyConfigurations;
specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/main.tsp
   id: string;
 }
 
+//----------------------- PrivateEndpointConnection -----------------------
+/** Private Endpoint Connection resource of Traffic Controller. */
+@added(Versions.v2026_03_01)
+@parentResource(TrafficController)
+model PrivateEndpointConnection
+  is ProxyResource<PrivateEndpointConnectionProperties> {
+  /** Private Endpoint Connection */
+  @key("privateEndpointConnectionName")
+  @visibility(Lifecycle.Read)
+  @path
+  @segment("privateEndpointConnections")
+  @pattern("^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$")
+  name: string;
+}
+
+/** Properties of a Private Endpoint Connection. */
+@added(Versions.v2026_03_01)
+model PrivateEndpointConnectionProperties {
+  /** The private endpoint resource. */
+  @visibility(Lifecycle.Read)
+  privateEndpoint?: PrivateEndpointReference;
+
+  /** The connection state of the private endpoint connection. */
+  privateLinkServiceConnectionState: PrivateLinkServiceConnectionState;
+
+  /** Provisioning state of the private endpoint connection. */
+  @visibility(Lifecycle.Read)
+  provisioningState?: ProvisioningState;
+}
+
+/** Reference to a private endpoint resource. */
+@added(Versions.v2026_03_01)
+model PrivateEndpointReference {
+  /** Resource ID of the private endpoint. */
+  @visibility(Lifecycle.Read)
+  id?: string;
+}
+
+/** The state of a private link service connection. */
+@added(Versions.v2026_03_01)
+model PrivateLinkServiceConnectionState {
+  /** Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. */
+  status?: PrivateLinkServiceConnectionStatus;
+
+  /** The reason for approval/rejection of the connection. */
+  description?: string;
+
+  /** A message indicating if changes on the service provider require any updates on the consumer. */
+  actionsRequired?: string;
+}
+
+/** The private endpoint connection status. */
+@added(Versions.v2026_03_01)
+union PrivateLinkServiceConnectionStatus {
+  string,
+
+  /** Connection is pending approval. */
+  Pending: "Pending",
+
+  /** Connection is approved. */
+  Approved: "Approved",
+
+  /** Connection is rejected. */
+  Rejected: "Rejected",
+
+  /** Connection is disconnected. */
+  Disconnected: "Disconnected",
+}
+
+//----------------------- PrivateLinkResource -----------------------
+/** A private link resource. */
+@added(Versions.v2026_03_01)
+@parentResource(TrafficController)
+model PrivateLinkResource is ProxyResource<PrivateLinkResourceProperties> {
+  /** Private Link Resource */
+  @key("privateLinkResourceName")
+  @visibility(Lifecycle.Read)
+  @path
+  @segment("privateLinkResources")
+  @pattern("^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$")
+  name: string;
+}
+
+/** Properties of a private link resource. */
+@added(Versions.v2026_03_01)
+model PrivateLinkResourceProperties {
+  /** The private link resource group ID. */
+  @visibility(Lifecycle.Read)
+  groupId?: string;
+
+  /** The private link resource required member names. */
+  @visibility(Lifecycle.Read)
+  requiredMembers?: string[];
+
+  /** The private link resource private DNS zone names. */
+  @visibility(Lifecycle.Read)
+  requiredZoneNames?: string[];
+
+  /** The status of the last operation. */
+  @visibility(Lifecycle.Read)
+  provisioningState?: ProvisioningState;
+}
+
 //----------------------- Paths -----------------------
 @armResourceOperations
 interface AssociationsInterface {
specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/main.tsp
   listBySubscription is ArmListBySubscription<TrafficController>;
 }
 
+@added(Versions.v2026_03_01)
+@armResourceOperations
+interface PrivateEndpointConnectionsInterface {
+  get is ArmResourceRead<PrivateEndpointConnection>;
+  update is ArmResourceCreateOrReplaceAsync<PrivateEndpointConnection>;
+  delete is ArmResourceDeleteWithoutOkAsync<PrivateEndpointConnection>;
+  listByTrafficController is ArmResourceListByParent<PrivateEndpointConnection>;
+}
+
+@added(Versions.v2026_03_01)
+@armResourceOperations
+interface PrivateLinkResourcesInterface {
+  get is ArmResourceRead<PrivateLinkResource>;
+  listByTrafficController is ArmResourceListByParent<PrivateLinkResource>;
+}
+
 interface Operations extends Azure.ResourceManager.Operations {}

specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/main.tsp:17

Affected operations (19)

Showing 10 operation cards; the remaining 9 are listed below.

FrontendsInterface_CreateOrUpdatePUT/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/frontends/{frontendName}2026-03-01
Contract areaBeforeAfter
Request body propertyproperties.association
not present
FrontendAssociation (optional)
Request body propertyproperties.publicNetworkAccess
not present
PublicNetworkAccess (optional)
Request body propertyproperties.securityPolicyConfigurations
not present
SecurityPolicyConfigurations (optional)
Response body property200 · properties.association
not present
FrontendAssociation (optional)
Response body property200 · properties.publicNetworkAccess
not present
PublicNetworkAccess (optional)
Response body property200 · properties.securityPolicyConfigurations
not present
SecurityPolicyConfigurations (optional)
Response body property201 · properties.association
not present
FrontendAssociation (optional)
Response body property201 · properties.publicNetworkAccess
not present
PublicNetworkAccess (optional)
Response body property201 · properties.securityPolicyConfigurations
not present
SecurityPolicyConfigurations (optional)

REST contract changed: request, responses.

FrontendsInterface_GetGET/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/frontends/{frontendName}2026-03-01
Contract areaBeforeAfter
Response body property200 · properties.association
not present
FrontendAssociation (optional)
Response body property200 · properties.publicNetworkAccess
not present
PublicNetworkAccess (optional)
Response body property200 · properties.securityPolicyConfigurations
not present
SecurityPolicyConfigurations (optional)

REST contract changed: responses.

FrontendsInterface_ListByTrafficControllerGET/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/frontends2026-03-01

HTTP signature and represented payload contract unchanged.

FrontendsInterface_UpdatePATCH/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/frontends/{frontendName}2026-03-01
Contract areaBeforeAfter
Request body propertyproperties
not present
FrontendUpdateProperties (optional)
Response body property200 · properties.association
not present
FrontendAssociation (optional)
Response body property200 · properties.publicNetworkAccess
not present
PublicNetworkAccess (optional)
Response body property200 · properties.securityPolicyConfigurations
not present
SecurityPolicyConfigurations (optional)

REST contract changed: request, responses.

PrivateEndpointConnectionsInterface_DeleteDELETE/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/privateEndpointConnections/{privateEndpointConnectionName}2026-03-01
Contract areaBeforeAfter
Operationoperation
not present
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/privateEndpointConnections/{privateEndpointConnectionName}

REST contract changed: method, path, parameters, responses, lro, consumes, produces.

PrivateEndpointConnectionsInterface_GetGET/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/privateEndpointConnections/{privateEndpointConnectionName}2026-03-01
Contract areaBeforeAfter
Operationoperation
not present
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/privateEndpointConnections/{privateEndpointConnectionName}

REST contract changed: method, path, parameters, responses, consumes, produces.

PrivateEndpointConnectionsInterface_ListByTrafficControllerGET/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/privateEndpointConnections2026-03-01
Contract areaBeforeAfter
Operationoperation
not present
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/privateEndpointConnections

REST contract changed: method, path, parameters, responses, consumes, produces.

PrivateEndpointConnectionsInterface_UpdatePUT/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/privateEndpointConnections/{privateEndpointConnectionName}2026-03-01
Contract areaBeforeAfter
Operationoperation
not present
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/privateEndpointConnections/{privateEndpointConnectionName}

REST contract changed: method, path, parameters, request, responses, lro, consumes, produces.

PrivateLinkResourcesInterface_GetGET/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/privateLinkResources/{privateLinkResourceName}2026-03-01
Contract areaBeforeAfter
Operationoperation
not present
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/privateLinkResources/{privateLinkResourceName}

REST contract changed: method, path, parameters, responses, consumes, produces.

PrivateLinkResourcesInterface_ListByTrafficControllerGET/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/privateLinkResources2026-03-01
Contract areaBeforeAfter
Operationoperation
not present
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/privateLinkResources

REST contract changed: method, path, parameters, responses, consumes, produces.

Other affected operations (9)

SecurityPoliciesInterface_CreateOrUpdate (PUT, 2026-03-01); SecurityPoliciesInterface_Get (GET, 2026-03-01); SecurityPoliciesInterface_ListByTrafficController (GET, 2026-03-01); SecurityPoliciesInterface_Update (PATCH, 2026-03-01); TrafficControllerInterface_CreateOrUpdate (PUT, 2026-03-01); TrafficControllerInterface_Get (GET, 2026-03-01); TrafficControllerInterface_ListByResourceGroup (GET, 2026-03-01); TrafficControllerInterface_ListBySubscription (GET, 2026-03-01); TrafficControllerInterface_Update (PATCH, 2026-03-01).

Azure Guidelines

Findings and affected intents at a glance; expand for expected guidance and actual changes.

2 of 2 semantic intents assessed · 4 documents selected

No Azure Guidelines findings.

No applicable guideline was found for: Preserve language-specific SDK shapes.

REST breaking changes

Operation impact and affected intents at a glance; expand for before/after evidence.

No confirmed REST breaking changes.

Appendix

Potential limits

None

Projects and compiler status

ProjectModeBaseline commit@versionTarget commit@versionBaseline AutoRest / TCGCTarget AutoRest / TCGC
specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworkingnew-api-versiond33364d832f4a26339b900c7a88f604753a4d74b@2025-01-01
current · previous-latest-stable
d33364d832f4a26339b900c7a88f604753a4d74b@2026-03-01
current · newest-added-version
succeeded / succeededsucceeded / succeeded

Pull request: Not available for this local pre-PR assessment.

Guidance fetched

Guidance coverage and retrieval evidence
{
  "status": "passed",
  "coverage": {
    "semanticIntentCount": 2,
    "assessedIntentCount": 2,
    "selectedDocumentCount": 4,
    "unassessedIntentIds": []
  },
  "sharedSearch": {
    "catalogRanking": [
      {
        "rank": 1,
        "catalogOrder": 1,
        "title": "Evolving APIs",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/versioning/06-evolving-apis/",
        "score": {
          "exactSymbol": 4,
          "patternCategory": 3,
          "servicePlane": 2,
          "changeContext": 1,
          "total": 10
        },
        "selectionRationale": "Direct guidance for adding declarations in a new API version with @added."
      },
      {
        "rank": 2,
        "catalogOrder": 7,
        "title": "ARM resource types and modeling",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/resource-type/",
        "score": {
          "exactSymbol": 4,
          "patternCategory": 3,
          "servicePlane": 2,
          "changeContext": 1,
          "total": 10
        },
        "selectionRationale": "Direct ARM guidance for ProxyResource child resources and resource-specific properties."
      },
      {
        "rank": 3,
        "catalogOrder": 12,
        "title": "ARM resource operations",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/resource-operations/",
        "score": {
          "exactSymbol": 4,
          "patternCategory": 3,
          "servicePlane": 2,
          "changeContext": 1,
          "total": 10
        },
        "selectionRationale": "Direct ARM guidance for CRUDL operation templates on child resources."
      },
      {
        "rank": 4,
        "catalogOrder": 15,
        "title": "Azure.ResourceManager decorators",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/reference/decorators/",
        "score": {
          "exactSymbol": 4,
          "patternCategory": 3,
          "servicePlane": 2,
          "changeContext": 1,
          "total": 10
        },
        "selectionRationale": "Direct reference for @armResourceOperations and ARM lifecycle decorators."
      },
      {
        "rank": 5,
        "catalogOrder": 21,
        "title": "Models",
        "canonicalUrl": "https://typespec.io/docs/language-basics/models/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 3,
          "servicePlane": 2,
          "changeContext": 1,
          "total": 6
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 6,
        "catalogOrder": 22,
        "title": "Enums",
        "canonicalUrl": "https://typespec.io/docs/language-basics/enums/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 3,
          "servicePlane": 2,
          "changeContext": 1,
          "total": 6
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 7,
        "catalogOrder": 24,
        "title": "Decorators",
        "canonicalUrl": "https://typespec.io/docs/language-basics/decorators/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 3,
          "servicePlane": 2,
          "changeContext": 1,
          "total": 6
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 8,
        "catalogOrder": 25,
        "title": "Built-in decorators",
        "canonicalUrl": "https://typespec.io/docs/standard-library/built-in-decorators/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 3,
          "servicePlane": 2,
          "changeContext": 1,
          "total": 6
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 9,
        "catalogOrder": 26,
        "title": "OpenAPI decorators",
        "canonicalUrl": "https://typespec.io/docs/libraries/openapi/reference/decorators/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 3,
          "servicePlane": 2,
          "changeContext": 1,
          "total": 6
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 10,
        "catalogOrder": 2,
        "title": "Versioning overview",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/versioning/01-about-versioning/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 1,
          "total": 3
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 11,
        "catalogOrder": 30,
        "title": "Directives",
        "canonicalUrl": "https://typespec.io/docs/language-basics/directives/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 1,
          "total": 3
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 12,
        "catalogOrder": 3,
        "title": "Add preview after preview",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/versioning/02-preview-after-preview/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 0,
          "total": 2
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 13,
        "catalogOrder": 4,
        "title": "Add stable after preview",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/versioning/03-stable-after-preview/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 0,
          "total": 2
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 14,
        "catalogOrder": 5,
        "title": "Add preview after stable",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/versioning/04-preview-after-stable/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 0,
          "total": 2
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 15,
        "catalogOrder": 6,
        "title": "Add stable after stable",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/versioning/05-stable-after-stable/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 0,
          "total": 2
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 16,
        "catalogOrder": 8,
        "title": "Specific extension resource sample",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/samples/resource-manager/resource-types/specific-extension/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 0,
          "total": 2
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 17,
        "catalogOrder": 9,
        "title": "Private endpoints",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/private-endpoints/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 0,
          "total": 2
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 18,
        "catalogOrder": 10,
        "title": "Private links",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/private-links/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 0,
          "total": 2
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 19,
        "catalogOrder": 11,
        "title": "Network security perimeter",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/network-security-perimeter/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 0,
          "total": 2
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 20,
        "catalogOrder": 13,
        "title": "Azure.ResourceManager interface reference",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/reference/interfaces/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 0,
          "total": 2
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 21,
        "catalogOrder": 14,
        "title": "TypeSpec.Rest decorators",
        "canonicalUrl": "https://typespec.io/docs/libraries/rest/reference/decorators/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 0,
          "total": 2
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 22,
        "catalogOrder": 16,
        "title": "ARM long-running operations",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/long-running-operations/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 0,
          "total": 2
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 23,
        "catalogOrder": 17,
        "title": "Azure.Core long-running operations",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/azure-core/long-running-operations/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 0,
          "total": 2
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 24,
        "catalogOrder": 18,
        "title": "Azure.ResourceManager data types",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/reference/data-types/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 0,
          "total": 2
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 25,
        "catalogOrder": 19,
        "title": "TypeSpec pagination",
        "canonicalUrl": "https://typespec.io/docs/standard-library/pagination/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 0,
          "total": 2
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 26,
        "catalogOrder": 20,
        "title": "ARM common types",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/add-common-types/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 2,
          "changeContext": 0,
          "total": 2
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 27,
        "catalogOrder": 23,
        "title": "Scalars",
        "canonicalUrl": "https://typespec.io/docs/language-basics/scalars/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 0,
          "changeContext": 0,
          "total": 0
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 28,
        "catalogOrder": 27,
        "title": "Change provider namespace",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/change-provider-namespace/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 0,
          "changeContext": 0,
          "total": 0
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 29,
        "catalogOrder": 28,
        "title": "Azure Portal default experiences",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/azure-portal/default-experiences/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 0,
          "changeContext": 0,
          "total": 0
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 30,
        "catalogOrder": 29,
        "title": "Content negotiation",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/azure-core/content-negotiation/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 0,
          "changeContext": 0,
          "total": 0
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      },
      {
        "rank": 31,
        "catalogOrder": 31,
        "title": "Azure Core `no-openapi` rule",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/libraries/azure-core/rules/no-openapi/",
        "score": {
          "exactSymbol": 0,
          "patternCategory": 0,
          "servicePlane": 0,
          "changeContext": 0,
          "total": 0
        },
        "selectionRationale": "Lower relevance to the added ARM resources and version-scoped SDK customizations than the selected guidance."
      }
    ],
    "documents": [
      {
        "rank": 1,
        "catalogOrder": 1,
        "title": "Evolving APIs",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/versioning/06-evolving-apis/",
        "score": {
          "exactSymbol": 4,
          "patternCategory": 3,
          "servicePlane": 2,
          "changeContext": 1,
          "total": 10
        },
        "selectionRationale": "Direct guidance for adding declarations in a new API version with @added.",
        "guidance": [
          {
            "section": "Evolving APIs",
            "excerpt": "You can add new models, properties, or operations in a specific version and all subsequent versions using the `@added` decorator.",
            "queryTerms": [
              "@added",
              "new version",
              "models and operations"
            ],
            "examples": [],
            "applicableDeclarationIds": [
              "declaration-0da42091e55c97d9",
              "declaration-0efc944b60924f9f",
              "declaration-1109dbb4677dfca5",
              "declaration-16ce43244c31e829",
              "declaration-182986db4f5e5253",
              "declaration-19106f1d8d682c08",
              "declaration-1a53c7c67114657a",
              "declaration-1c1dfd4b24fb2ee2",
              "declaration-39d9cd467f545ee8",
              "declaration-3ec52bb7f6ebc0b9",
              "declaration-4563e71b15c1caff",
              "declaration-473039761dc23bc4",
              "declaration-4fb7c422bd0b8b41",
              "declaration-51698680c4dac106",
              "declaration-526bce0f5510a952",
              "declaration-6c2e08f95996b013",
              "declaration-6dc2aefa0f7e6b6b",
              "declaration-6e9be9ad1c52e762",
              "declaration-77b246f560ede241",
              "declaration-81352e42e78aab43",
              "declaration-8251df8202aead34",
              "declaration-844cf1a79319dcc3",
              "declaration-910704f774e6da26",
              "declaration-974d3630cae591c9",
              "declaration-992b144f375999a3",
              "declaration-9b4c9b878ad10d9e",
              "declaration-9cb9c9d191f419ac",
              "declaration-9d833dba2d3d3c98",
              "declaration-a277173ed985ad59",
              "declaration-a56ae4692fefa486",
              "declaration-a93da3e971b1b878",
              "declaration-ac10163ea357a91e",
              "declaration-b4a2411b27e097df",
              "declaration-b6550f8a79f0d3ad",
              "declaration-c6f7a0b82b4e1fa3",
              "declaration-c7dae7fb0073ff99",
              "declaration-c841db4e992f58d8",
              "declaration-cf679ea46b0415f0",
              "declaration-d3ee3fa2bc7fb8f4",
              "declaration-d70f30a1080d2539",
              "declaration-da16a04e78879fd5",
              "declaration-dd724766e3e152dd",
              "declaration-e096a440377ea759",
              "declaration-f07dd3725df31f4f",
              "declaration-f4a3407562a5e66f",
              "declaration-f4c5825d217ccf05",
              "declaration-f723506fdb7c3be4"
            ]
          }
        ],
        "noRelevantGuidance": false,
        "retrievedAt": "2026-09-17T11:42:00Z",
        "contentHash": "sha256:a05495d303abb31ba24ef8275d9d316b7a093372c2f8227cdef5f9433da07e0c"
      },
      {
        "rank": 2,
        "catalogOrder": 7,
        "title": "ARM resource types and modeling",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/resource-type/",
        "score": {
          "exactSymbol": 4,
          "patternCategory": 3,
          "servicePlane": 2,
          "changeContext": 1,
          "total": 10
        },
        "selectionRationale": "Direct ARM guidance for ProxyResource child resources and resource-specific properties.",
        "guidance": [
          {
            "section": "Proxy resources",
            "excerpt": "Proxy resources are resources in which only a portion of resource metadata is tracked in ARM. Tenant, Extension, and child resources are usually modeled as Proxy resources.",
            "queryTerms": [
              "ProxyResource",
              "child resource",
              "ARM"
            ],
            "examples": [],
            "applicableDeclarationIds": [
              "declaration-0da42091e55c97d9",
              "declaration-0efc944b60924f9f",
              "declaration-1109dbb4677dfca5",
              "declaration-16ce43244c31e829",
              "declaration-182986db4f5e5253",
              "declaration-19106f1d8d682c08",
              "declaration-1a53c7c67114657a",
              "declaration-1c1dfd4b24fb2ee2",
              "declaration-39d9cd467f545ee8",
              "declaration-3ec52bb7f6ebc0b9",
              "declaration-4563e71b15c1caff",
              "declaration-473039761dc23bc4",
              "declaration-4fb7c422bd0b8b41",
              "declaration-51698680c4dac106",
              "declaration-526bce0f5510a952",
              "declaration-6c2e08f95996b013",
              "declaration-6dc2aefa0f7e6b6b",
              "declaration-6e9be9ad1c52e762",
              "declaration-77b246f560ede241",
              "declaration-81352e42e78aab43",
              "declaration-8251df8202aead34",
              "declaration-844cf1a79319dcc3",
              "declaration-910704f774e6da26",
              "declaration-974d3630cae591c9",
              "declaration-992b144f375999a3",
              "declaration-9b4c9b878ad10d9e",
              "declaration-9cb9c9d191f419ac",
              "declaration-9d833dba2d3d3c98",
              "declaration-a277173ed985ad59",
              "declaration-a56ae4692fefa486",
              "declaration-a93da3e971b1b878",
              "declaration-ac10163ea357a91e",
              "declaration-b4a2411b27e097df",
              "declaration-b6550f8a79f0d3ad",
              "declaration-c6f7a0b82b4e1fa3",
              "declaration-c7dae7fb0073ff99",
              "declaration-c841db4e992f58d8",
              "declaration-cf679ea46b0415f0",
              "declaration-d3ee3fa2bc7fb8f4",
              "declaration-d70f30a1080d2539",
              "declaration-da16a04e78879fd5",
              "declaration-dd724766e3e152dd",
              "declaration-e096a440377ea759",
              "declaration-f07dd3725df31f4f",
              "declaration-f4a3407562a5e66f",
              "declaration-f4c5825d217ccf05",
              "declaration-f723506fdb7c3be4"
            ]
          }
        ],
        "noRelevantGuidance": false,
        "retrievedAt": "2026-09-17T11:42:00Z",
        "contentHash": "sha256:63d6cdd93166a6eef1eba9d708d80dd592e1a0db1eb613a809a1b1a0c49a899e"
      },
      {
        "rank": 3,
        "catalogOrder": 12,
        "title": "ARM resource operations",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/resource-operations/",
        "score": {
          "exactSymbol": 4,
          "patternCategory": 3,
          "servicePlane": 2,
          "changeContext": 1,
          "total": 10
        },
        "selectionRationale": "Direct ARM guidance for CRUDL operation templates on child resources.",
        "guidance": [
          {
            "section": "Resource operations",
            "excerpt": "All resources should include a list operation at its immediate parent scope. For Child Resources, this is at the scope of the resource parent.",
            "queryTerms": [
              "ArmResourceListByParent",
              "child resource",
              "operations"
            ],
            "examples": [],
            "applicableDeclarationIds": [
              "declaration-0da42091e55c97d9",
              "declaration-0efc944b60924f9f",
              "declaration-1109dbb4677dfca5",
              "declaration-16ce43244c31e829",
              "declaration-182986db4f5e5253",
              "declaration-19106f1d8d682c08",
              "declaration-1a53c7c67114657a",
              "declaration-1c1dfd4b24fb2ee2",
              "declaration-39d9cd467f545ee8",
              "declaration-3ec52bb7f6ebc0b9",
              "declaration-4563e71b15c1caff",
              "declaration-473039761dc23bc4",
              "declaration-4fb7c422bd0b8b41",
              "declaration-51698680c4dac106",
              "declaration-526bce0f5510a952",
              "declaration-6c2e08f95996b013",
              "declaration-6dc2aefa0f7e6b6b",
              "declaration-6e9be9ad1c52e762",
              "declaration-77b246f560ede241",
              "declaration-81352e42e78aab43",
              "declaration-8251df8202aead34",
              "declaration-844cf1a79319dcc3",
              "declaration-910704f774e6da26",
              "declaration-974d3630cae591c9",
              "declaration-992b144f375999a3",
              "declaration-9b4c9b878ad10d9e",
              "declaration-9cb9c9d191f419ac",
              "declaration-9d833dba2d3d3c98",
              "declaration-a277173ed985ad59",
              "declaration-a56ae4692fefa486",
              "declaration-a93da3e971b1b878",
              "declaration-ac10163ea357a91e",
              "declaration-b4a2411b27e097df",
              "declaration-b6550f8a79f0d3ad",
              "declaration-c6f7a0b82b4e1fa3",
              "declaration-c7dae7fb0073ff99",
              "declaration-c841db4e992f58d8",
              "declaration-cf679ea46b0415f0",
              "declaration-d3ee3fa2bc7fb8f4",
              "declaration-d70f30a1080d2539",
              "declaration-da16a04e78879fd5",
              "declaration-dd724766e3e152dd",
              "declaration-e096a440377ea759",
              "declaration-f07dd3725df31f4f",
              "declaration-f4a3407562a5e66f",
              "declaration-f4c5825d217ccf05",
              "declaration-f723506fdb7c3be4"
            ]
          }
        ],
        "noRelevantGuidance": false,
        "retrievedAt": "2026-09-17T11:42:00Z",
        "contentHash": "sha256:1cbbf641eae3ff8e089a25167f0f1ec75c034b8cb503c94dd9a3aacd60958d46"
      },
      {
        "rank": 4,
        "catalogOrder": 15,
        "title": "Azure.ResourceManager decorators",
        "canonicalUrl": "https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/reference/decorators/",
        "score": {
          "exactSymbol": 4,
          "patternCategory": 3,
          "servicePlane": 2,
          "changeContext": 1,
          "total": 10
        },
        "selectionRationale": "Direct reference for @armResourceOperations and ARM lifecycle decorators.",
        "guidance": [
          {
            "section": "armResourceOperations",
            "excerpt": "This decorator is used to identify interfaces containing resource operations. By default, it marks the interface with the `@autoRoute` decorator.",
            "queryTerms": [
              "@armResourceOperations",
              "interface",
              "resource operations"
            ],
            "examples": [],
            "applicableDeclarationIds": [
              "declaration-0da42091e55c97d9",
              "declaration-0efc944b60924f9f",
              "declaration-1109dbb4677dfca5",
              "declaration-16ce43244c31e829",
              "declaration-182986db4f5e5253",
              "declaration-19106f1d8d682c08",
              "declaration-1a53c7c67114657a",
              "declaration-1c1dfd4b24fb2ee2",
              "declaration-39d9cd467f545ee8",
              "declaration-3ec52bb7f6ebc0b9",
              "declaration-4563e71b15c1caff",
              "declaration-473039761dc23bc4",
              "declaration-4fb7c422bd0b8b41",
              "declaration-51698680c4dac106",
              "declaration-526bce0f5510a952",
              "declaration-6c2e08f95996b013",
              "declaration-6dc2aefa0f7e6b6b",
              "declaration-6e9be9ad1c52e762",
              "declaration-77b246f560ede241",
              "declaration-81352e42e78aab43",
              "declaration-8251df8202aead34",
              "declaration-844cf1a79319dcc3",
              "declaration-910704f774e6da26",
              "declaration-974d3630cae591c9",
              "declaration-992b144f375999a3",
              "declaration-9b4c9b878ad10d9e",
              "declaration-9cb9c9d191f419ac",
              "declaration-9d833dba2d3d3c98",
              "declaration-a277173ed985ad59",
              "declaration-a56ae4692fefa486",
              "declaration-a93da3e971b1b878",
              "declaration-ac10163ea357a91e",
              "declaration-b4a2411b27e097df",
              "declaration-b6550f8a79f0d3ad",
              "declaration-c6f7a0b82b4e1fa3",
              "declaration-c7dae7fb0073ff99",
              "declaration-c841db4e992f58d8",
              "declaration-cf679ea46b0415f0",
              "declaration-d3ee3fa2bc7fb8f4",
              "declaration-d70f30a1080d2539",
              "declaration-da16a04e78879fd5",
              "declaration-dd724766e3e152dd",
              "declaration-e096a440377ea759",
              "declaration-f07dd3725df31f4f",
              "declaration-f4a3407562a5e66f",
              "declaration-f4c5825d217ccf05",
              "declaration-f723506fdb7c3be4"
            ]
          }
        ],
        "noRelevantGuidance": false,
        "retrievedAt": "2026-09-17T11:42:00Z",
        "contentHash": "sha256:209e4160f20eb0cf06b8af83f291b179e838168b13e141613ad66cc9b14c0824"
      }
    ]
  },
  "intentAssessments": [
    {
      "semanticIntentId": "semantic-244e6b41023e6345",
      "decision": "no-applicable-guidance",
      "blockers": []
    },
    {
      "semanticIntentId": "semantic-6678bcf507803e42",
      "decision": "applicable-pass",
      "blockers": []
    }
  ],
  "retrievalFailures": [],
  "blockers": []
}

Changed files

  • specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/back-compatible.tsp (committed)
  • specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/client.tsp (committed)
  • specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/ServiceNetworking/main.tsp (committed)

Timing and model input

{
  "timings": {
    "metadataMs": 978,
    "fetchMs": 165,
    "scopeDiscoveryMs": 114,
    "setupExcludingFetchMs": 7586,
    "comparisonMs": 197,
    "changeDiscoveryMs": 176,
    "workspacePreparationMs": 5233,
    "projectDiscoveryMs": 19,
    "totalMs": 92940,
    "semanticAnalysisMs": 189,
    "restAnalysisMs": 39,
    "downstreamAnalysisMs": 986,
    "documentQualityAnalysisMs": 1
  },
  "inputAccounting": {
    "budgetTier": "small",
    "budgetBytes": 131072,
    "bytes": 29155,
    "estimatedTokens": 7289,
    "retained": {
      "evidenceSets": 5,
      "facts": 4,
      "semanticReviewUnits": 2,
      "restCandidates": 0,
      "downstreamCandidates": 1,
      "downstreamRootCauses": 1,
      "complianceSearchRequests": 2,
      "inferenceRequests": 4
    },
    "omittedRedundant": {
      "rawEmitterArtifacts": true,
      "compilerLogs": true,
      "unchangedInventories": true,
      "unreferencedFacts": true,
      "unreferencedDeterministicFacts": true,
      "sourceChanges": true,
      "repeatedDeclarationIds": true,
      "repeatedReviewUnitEvidence": true
    },
    "inference": {
      "requestCount": 4,
      "inferredCandidateCount": 1,
      "noImpactCount": 3,
      "blockedCount": 0
    },
    "compliance": {
      "catalogEntriesScored": 31,
      "documentsFetched": 4,
      "documentBytesFetched": 588,
      "guidanceExcerptsRetained": 4,
      "guidanceExcerptBytesRetained": 588
    }
  }
}

Provenance: model-input.json, dimensions/document-quality-input.json, inference.json, compliance-search-evidence.json, assessment-judgment.json, preparation-manifest.json