Azure Guidelines
Findings and affected intents at a glance; expand for expected guidance and actual changes.
5 of 5 semantic intents assessed · 4 documents selected
Versioned API surface removed without @removedThe fetched evolving-APIs guidance requires removals to be modeled with @removed; direct deletion changes an existing versioned API surface.failed
Expected
Use @removed with the version where a model, property, or operation is removed so earlier API versions preserve their surface.
To remove models, properties, or operations starting from a specific version, use the @removed decorator. The version argument is the version where the element is removed. The element will not be present in that version or any later versions.
@removed(Versions.v2)Actual
Remove NFS ownership metadata
The change deletes versioned FileProperty owner, group, and fileMode members directly from API version 2026-12-06.
specification/storage/data-plane/FileStorage/models.tsp:560-593, specification/storage/data-plane/FileStorage/models.tsp:661-664, specification/storage/data-plane/FileStorage/models.tsp:666-669, specification/storage/data-plane/FileStorage/models.tsp:671-674
560- 561- /** NFS only. The owner user identifier (UID) of the file. */ 562- @added(Versions.v2026_12_06) 563- @Xml.name("Uid") 564- owner?: string; 565- 566- /** NFS only. The owner group identifier (GID) of the file. */ 567- @added(Versions.v2026_12_06) 568- @Xml.name("Gid") 569- group?: string; 570- 571- /** NFS only. The file mode of the file. */
Reduce NFS directory-list result variants
The change directly deletes versioned list-result collections and ListFilesIncludeType members from API version 2026-12-06.
specification/storage/data-plane/FileStorage/models.tsp:378-392, specification/storage/data-plane/FileStorage/models.tsp:517-528, specification/storage/data-plane/FileStorage/models.tsp:561-565, specification/storage/data-plane/FileStorage/models.tsp:567-571, specification/storage/data-plane/FileStorage/models.tsp:573-577, specification/storage/data-plane/FileStorage/models.tsp:579-583, specification/storage/data-plane/FileStorage/models.tsp:585-589
378- 379- /** Permissions */ 380- @added(Versions.v2026_12_06) 381- Permissions, 382- 383- /** LinkCount */ 384- @added(Versions.v2026_12_06) 385- LinkCount, 386- 387- /** NfsAttributes */ 388- @added(Versions.v2026_12_06) 389- NfsAttributes,
378- 379- /** The symbolic link items. */ 380- @added(Versions.v2026_12_06) 381- @Xml.unwrapped 382- @Xml.name("SymLink") 383- symLinkItems?: SymLinkItem[]; 384- 385- /** The block device items. */ 386- @added(Versions.v2026_12_06) 387- @Xml.unwrapped 388- @Xml.name("BlockDevice") 389- blockDeviceItems?: BlockDeviceItem[];
Remove specialized NFS file types
The change directly deletes four versioned NfsFileType variants from API version 2026-12-06.
specification/storage/data-plane/FileStorage/models.tsp:275-287, specification/storage/data-plane/FileStorage/models.tsp:288-290, specification/storage/data-plane/FileStorage/models.tsp:292-294, specification/storage/data-plane/FileStorage/models.tsp:296-298, specification/storage/data-plane/FileStorage/models.tsp:300-302
275- 276- /** BlockDevice */ 277- @added(Versions.v2026_12_06) 278- BlockDevice: "BlockDevice", 279- 280- /** CharacterDevice */ 281- @added(Versions.v2026_12_06) 282- CharacterDevice: "CharacterDevice", 283- 284- /** Socket */ 285- @added(Versions.v2026_12_06) 286- Socket: "Socket",
Remove directory link count
The change directly deletes the versioned DirectoryItem.linkCount member from API version 2026-12-06.
specification/storage/data-plane/FileStorage/models.tsp:530-547, specification/storage/data-plane/FileStorage/models.tsp:610-613
530- 531- /** NFS only. The link count of the directory. */ 532- @added(Versions.v2026_12_06) 533- @Xml.name("LinkCount") 534- linkCount?: int64;
Remove specialized NFS item models
The change directly deletes versioned specialized NFS item models and FileItem NFS members from API version 2026-12-06.
specification/storage/data-plane/FileStorage/models.tsp:595-612, specification/storage/data-plane/FileStorage/models.tsp:695-698, specification/storage/data-plane/FileStorage/models.tsp:700-703, specification/storage/data-plane/FileStorage/models.tsp:706-724, specification/storage/data-plane/FileStorage/models.tsp:710-711, specification/storage/data-plane/FileStorage/models.tsp:713-714, specification/storage/data-plane/FileStorage/models.tsp:716-717, specification/storage/data-plane/FileStorage/models.tsp:719-720, specification/storage/data-plane/FileStorage/models.tsp:722-723, specification/storage/data-plane/FileStorage/models.tsp:726-747, specification/storage/data-plane/FileStorage/models.tsp:730-731, specification/storage/data-plane/FileStorage/models.tsp:733-734, specification/storage/data-plane/FileStorage/models.tsp:736-737, specification/storage/data-plane/FileStorage/models.tsp:739-740, specification/storage/data-plane/FileStorage/models.tsp:742-743, specification/storage/data-plane/FileStorage/models.tsp:745-746, specification/storage/data-plane/FileStorage/models.tsp:749-770, specification/storage/data-plane/FileStorage/models.tsp:753-754, specification/storage/data-plane/FileStorage/models.tsp:756-757, specification/storage/data-plane/FileStorage/models.tsp:759-760, specification/storage/data-plane/FileStorage/models.tsp:762-763, specification/storage/data-plane/FileStorage/models.tsp:765-766, specification/storage/data-plane/FileStorage/models.tsp:768-769, specification/storage/data-plane/FileStorage/models.tsp:772-787, specification/storage/data-plane/FileStorage/models.tsp:776-777, specification/storage/data-plane/FileStorage/models.tsp:779-780, specification/storage/data-plane/FileStorage/models.tsp:782-783, specification/storage/data-plane/FileStorage/models.tsp:785-786, specification/storage/data-plane/FileStorage/models.tsp:789-804, specification/storage/data-plane/FileStorage/models.tsp:793-794, specification/storage/data-plane/FileStorage/models.tsp:796-797, specification/storage/data-plane/FileStorage/models.tsp:799-800, specification/storage/data-plane/FileStorage/models.tsp:802-803
595- 596- /** NFS only. The link count of the file. */ 597- @added(Versions.v2026_12_06) 598- @Xml.name("LinkCount") 599- linkCount?: int64; 600- 601- /** NFS only. The type of the file. */ 602- @added(Versions.v2026_12_06) 603- @Xml.name("FileType") 604- fileType?: NfsFileType; 605-} 606-
REST breaking changes
Operation impact and affected intents at a glance; expand for before/after evidence.
Directory_ListFilesAndDirectoriesSegmentGET ?restype=directory&comp=list · 2026-12-06Affected intents (1)15 changes
?restype=directory&comp=list · 2026-12-06| Contract area | Before | After |
|---|---|---|
Response body property200 · segment.charDeviceItemsAffected model: FilesAndDirectoriesListSegment | CharDeviceItem[] | removed |
| Query parameterinclude | ListFilesIncludeType { All | Attributes | Etag | LinkCount | NfsAttributes | PermissionKey | Permissions | Timestamps }[] | ListFilesIncludeType { Attributes | Etag | PermissionKey | Timestamps }[] |
Response body property200 · segment.fileItems[].properties.ownerAffected model: FileProperty | string | removed |
Response body property200 · segment.socketItemsAffected model: FilesAndDirectoriesListSegment | SocketItem[] | removed |
Response body property200 · segment.directoryItems[].properties.ownerAffected model: FileProperty | string | removed |
Response body property200 · segment.fifoItemsAffected model: FilesAndDirectoriesListSegment | FifoItem[] | removed |
Response body property200 · segment.fileItems[].fileTypeAffected model: NfsFileType | NfsFileType { BlockDevice | CharacterDevice | Directory | Fifo | Regular | Socket | SymLink } | removed |
Response body property200 · segment.symLinkItemsAffected model: FilesAndDirectoriesListSegment | SymLinkItem[] | removed |
Response body property200 · segment.directoryItems[].linkCountAffected model: DirectoryItem | integer int64 | removed |
Response body property200 · segment.directoryItems[].properties.groupAffected model: FileProperty | string | removed |
Response body property200 · segment.fileItems[].linkCountAffected model: FileItem | integer int64 | removed |
Response body property200 · segment.directoryItems[].properties.fileModeAffected model: FileProperty | string | removed |
Response body property200 · segment.fileItems[].properties.fileModeAffected model: FileProperty | string | removed |
Response body property200 · segment.blockDeviceItemsAffected model: FilesAndDirectoriesListSegment | BlockDeviceItem[] | removed |
Response body property200 · segment.fileItems[].properties.groupAffected model: FileProperty | string | removed |
- The charDeviceItems response collection was present in the baseline and is absent in the target; existing response consumers lose this data.
- The include query parameter removes the previously accepted All, LinkCount, NfsAttributes, and Permissions wire values. Existing requests using any removed value become invalid even though the parameter remains an optional CSV array of strings.
- The file item properties.owner response member was present in the baseline and is absent in the target; existing response consumers lose owner data.
- The socketItems response collection was present in the baseline and is absent in the target; existing response consumers lose this data.
- The directory item properties.owner response member was present in the baseline and is absent in the target; existing response consumers lose owner data.
- The fifoItems response collection was present in the baseline and is absent in the target; existing response consumers lose this data.
- The fileItems.fileType response member was present in the baseline and is absent in the target; existing response consumers lose file-type data.
- The symLinkItems response collection was present in the baseline and is absent in the target; existing response consumers lose this data.
- The directoryItems.linkCount response member was present in the baseline and is absent in the target; existing response consumers lose link-count data.
- The directory item properties.group response member was present in the baseline and is absent in the target; existing response consumers lose group data.
- The fileItems.linkCount response member was present in the baseline and is absent in the target; existing response consumers lose link-count data.
- The directory item properties.fileMode response member was present in the baseline and is absent in the target; existing response consumers lose mode data.
- The file item properties.fileMode response member was present in the baseline and is absent in the target; existing response consumers lose mode data.
- The blockDeviceItems response collection was present in the baseline and is absent in the target; existing response consumers lose this data.
- The file item properties.group response member was present in the baseline and is absent in the target; existing response consumers lose group data.
Directory_CreatePUT ?restype=directory · 2026-12-06Affected intents (1)1 changes
?restype=directory · 2026-12-06| Contract area | Before | After |
|---|---|---|
Response header201 · x-ms-file-file-typeAffected model: NfsFileType | NfsFileType { BlockDevice | CharacterDevice | Directory | Fifo | Regular | Socket | SymLink } | NfsFileType { Directory | Regular | SymLink } |
Directory_GetPropertiesGET ?restype=directory&_overload=getProperties · 2026-12-06Affected intents (1)1 changes
?restype=directory&_overload=getProperties · 2026-12-06| Contract area | Before | After |
|---|---|---|
Response header200 · x-ms-file-file-typeAffected model: NfsFileType | NfsFileType { BlockDevice | CharacterDevice | Directory | Fifo | Regular | Socket | SymLink } | NfsFileType { Directory | Regular | SymLink } |
2 changes
| Contract area | Before | After |
|---|---|---|
Request headerx-ms-file-file-typeAffected model: NfsFileType | NfsFileType { BlockDevice | CharacterDevice | Directory | Fifo | Regular | Socket | SymLink } | NfsFileType { Directory | Regular | SymLink } |
Response header201 · x-ms-file-file-typeAffected model: NfsFileType | NfsFileType { BlockDevice | CharacterDevice | Directory | Fifo | Regular | Socket | SymLink } | NfsFileType { Directory | Regular | SymLink } |
- The x-ms-file-file-type request header removes the previously accepted BlockDevice, CharacterDevice, Fifo, and Socket wire values. Existing requests using any removed value become invalid even though the header remains a string enum.
- File_Create narrows the documented x-ms-file-file-type response header by removing BlockDevice, CharacterDevice, Fifo, and Socket, eliminating response values represented by the existing wire contract.
File_CreateHardLinkPUT ?restype=hardlink · 2026-12-06Affected intents (1)1 changes
?restype=hardlink · 2026-12-06| Contract area | Before | After |
|---|---|---|
Response header201 · x-ms-file-file-typeAffected model: NfsFileType | NfsFileType { BlockDevice | CharacterDevice | Directory | Fifo | Regular | Socket | SymLink } | NfsFileType { Directory | Regular | SymLink } |
File_CreateSymbolicLinkPUT ?restype=symboliclink · 2026-12-06Affected intents (1)1 changes
?restype=symboliclink · 2026-12-06| Contract area | Before | After |
|---|---|---|
Response header201 · x-ms-file-file-typeAffected model: NfsFileType | NfsFileType { BlockDevice | CharacterDevice | Directory | Fifo | Regular | Socket | SymLink } | NfsFileType { Directory | Regular | SymLink } |
1 changes
| Contract area | Before | After |
|---|---|---|
Response header200 · x-ms-file-file-typeAffected model: NfsFileType | NfsFileType { BlockDevice | CharacterDevice | Directory | Fifo | Regular | Socket | SymLink } | NfsFileType { Directory | Regular | SymLink } |
Downstream breaking changes
Method impact and affected intents at a glance; expand for before/after evidence.
Directory.createThe method uses changed SDK types; its top-level signature need not change.Affected intents (1)Indirect type change
Recorded normalized SDK method: Storage.File.Directory.create
NfsFileType
Storage.File.NfsFileType
Representative method paths from recorded graph edges:
x-ms-file-file-typetarget evidence| Contract area | Before | After |
|---|---|---|
| Enum memberNfsFileType.BlockDeviceWire value "BlockDevice" is no longer declared. | BlockDevice | removed |
| Enum memberNfsFileType.CharacterDeviceWire value "CharacterDevice" is no longer declared. | CharacterDevice | removed |
| Enum memberNfsFileType.FifoWire value "Fifo" is no longer declared. | Fifo | removed |
| Enum memberNfsFileType.SocketWire value "Socket" is no longer declared. | Socket | removed |
| SDK type contractNfsFileType | Storage.File.NfsFileType preserves its existing language-neutral generated SDK contract. | Storage.File.NfsFileType removed enum values: BlockDevice, CharacterDevice, Fifo, Socket. |
Language-neutral TCGC evidence is shown; generated language signatures are not fabricated.
Directory.getPropertiesThe method uses changed SDK types; its top-level signature need not change.Affected intents (1)Indirect type change
Recorded normalized SDK method: Storage.File.Directory.getProperties
NfsFileType
Storage.File.NfsFileType
Representative method paths from recorded graph edges:
x-ms-file-file-typetarget evidence| Contract area | Before | After |
|---|---|---|
| Enum memberNfsFileType.BlockDeviceWire value "BlockDevice" is no longer declared. | BlockDevice | removed |
| Enum memberNfsFileType.CharacterDeviceWire value "CharacterDevice" is no longer declared. | CharacterDevice | removed |
| Enum memberNfsFileType.FifoWire value "Fifo" is no longer declared. | Fifo | removed |
| Enum memberNfsFileType.SocketWire value "Socket" is no longer declared. | Socket | removed |
| SDK type contractNfsFileType | Storage.File.NfsFileType preserves its existing language-neutral generated SDK contract. | Storage.File.NfsFileType removed enum values: BlockDevice, CharacterDevice, Fifo, Socket. |
Language-neutral TCGC evidence is shown; generated language signatures are not fabricated.
Directory.listFilesAndDirectoriesSegmentThe method uses changed SDK types; its top-level signature need not change.Indirect type change
Recorded normalized SDK method: Storage.File.Directory.listFilesAndDirectoriesSegment
SymLinkItem
Storage.File.SymLinkItem
Representative method paths from recorded graph edges:
segment.symLinkItemsbaseline evidence| Contract area | Before | After |
|---|---|---|
| SDK type availabilitySymLinkItem | access: public · reachable: true · usage: 516 | Not recorded |
| SDK type contractSymLinkItem | Storage.File.SymLinkItem preserves its existing language-neutral generated SDK contract. | Storage.File.SymLinkItem changed public access, usage, or reachability. |
ListFilesIncludeType
Storage.File.ListFilesIncludeType
Representative method paths from recorded graph edges:
includetarget evidence| Contract area | Before | After |
|---|---|---|
| Enum memberListFilesIncludeType.AllWire value "All" is no longer declared. | All | removed |
| Enum memberListFilesIncludeType.LinkCountWire value "LinkCount" is no longer declared. | LinkCount | removed |
| Enum memberListFilesIncludeType.NfsAttributesWire value "NfsAttributes" is no longer declared. | NfsAttributes | removed |
| Enum memberListFilesIncludeType.PermissionsWire value "Permissions" is no longer declared. | Permissions | removed |
| SDK type contractListFilesIncludeType | Storage.File.ListFilesIncludeType preserves its existing language-neutral generated SDK contract. | Storage.File.ListFilesIncludeType removed enum values: All, LinkCount, NfsAttributes, Permissions. |
FileProperty
Storage.File.FileProperty
Representative method paths from recorded graph edges:
segment.directoryItems.propertiestarget evidence| Contract area | Before | After |
|---|---|---|
| SDK type membergroup | string? | removed |
| SDK type memberowner | string? | removed |
| SDK type memberfileMode | string? | removed |
- FileProperty.group was a public optional member and is absent in the target; callers reading listing metadata must stop accessing it.
- FileProperty.owner was a public optional member and is absent in the target; callers reading listing metadata must stop accessing it.
- FileProperty.fileMode was a public optional member and is absent in the target; callers reading listing metadata must stop accessing it.
FifoItem
Storage.File.FifoItem
Representative method paths from recorded graph edges:
segment.fifoItemsbaseline evidence| Contract area | Before | After |
|---|---|---|
| SDK type availabilityFifoItem | access: public · reachable: true · usage: 516 | Not recorded |
| SDK type contractFifoItem | Storage.File.FifoItem preserves its existing language-neutral generated SDK contract. | Storage.File.FifoItem changed public access, usage, or reachability. |
BlockDeviceItem
Storage.File.BlockDeviceItem
Representative method paths from recorded graph edges:
segment.blockDeviceItemsbaseline evidence| Contract area | Before | After |
|---|---|---|
| SDK type availabilityBlockDeviceItem | access: public · reachable: true · usage: 516 | Not recorded |
| SDK type contractBlockDeviceItem | Storage.File.BlockDeviceItem preserves its existing language-neutral generated SDK contract. | Storage.File.BlockDeviceItem changed public access, usage, or reachability. |
NfsFileType
Storage.File.NfsFileType
Representative method paths from recorded graph edges:
segment.fileItems.fileTypebaseline evidence| Contract area | Before | After |
|---|---|---|
| Enum memberNfsFileType.BlockDeviceWire value "BlockDevice" is no longer declared. | BlockDevice | removed |
| Enum memberNfsFileType.CharacterDeviceWire value "CharacterDevice" is no longer declared. | CharacterDevice | removed |
| Enum memberNfsFileType.FifoWire value "Fifo" is no longer declared. | Fifo | removed |
| Enum memberNfsFileType.SocketWire value "Socket" is no longer declared. | Socket | removed |
| SDK type contractNfsFileType | Storage.File.NfsFileType preserves its existing language-neutral generated SDK contract. | Storage.File.NfsFileType removed enum values: BlockDevice, CharacterDevice, Fifo, Socket. |
FileItem
Storage.File.FileItem
Representative method paths from recorded graph edges:
segment.fileItemstarget evidence| Contract area | Before | After |
|---|---|---|
| SDK type memberlinkCount | int64? | removed |
| SDK type memberfileType | NfsFileType? | removed |
- FileItem.linkCount was a public optional member and is absent in the target; callers reading listing results must stop accessing it.
- FileItem.fileType was a public optional member and is absent in the target; callers reading listing results must stop accessing it.
FilesAndDirectoriesListSegment
Storage.File.FilesAndDirectoriesListSegment
Representative method paths from recorded graph edges:
segmenttarget evidence| Contract area | Before | After |
|---|---|---|
| SDK type memberblockDeviceItems | BlockDeviceItem[]? | removed |
| SDK type membercharDeviceItems | CharDeviceItem[]? | removed |
| SDK type membersymLinkItems | SymLinkItem[]? | removed |
| SDK type memberfifoItems | FifoItem[]? | removed |
| SDK type membersocketItems | SocketItem[]? | removed |
- FilesAndDirectoriesListSegment.blockDeviceItems was public and is absent in the target; callers consuming directory listings lose the collection.
- FilesAndDirectoriesListSegment.charDeviceItems was public and is absent in the target; callers consuming directory listings lose the collection.
- FilesAndDirectoriesListSegment.symLinkItems was public and is absent in the target; callers consuming directory listings lose the collection.
- FilesAndDirectoriesListSegment.fifoItems was public and is absent in the target; callers consuming directory listings lose the collection.
- FilesAndDirectoriesListSegment.socketItems was public and is absent in the target; callers consuming directory listings lose the collection.
DirectoryItem
Storage.File.DirectoryItem
Representative method paths from recorded graph edges:
segment.directoryItemstarget evidence| Contract area | Before | After |
|---|---|---|
| SDK type memberlinkCount | int64? | removed |
CharDeviceItem
Storage.File.CharDeviceItem
Representative method paths from recorded graph edges:
segment.charDeviceItemsbaseline evidence| Contract area | Before | After |
|---|---|---|
| SDK type availabilityCharDeviceItem | access: public · reachable: true · usage: 516 | Not recorded |
| SDK type contractCharDeviceItem | Storage.File.CharDeviceItem preserves its existing language-neutral generated SDK contract. | Storage.File.CharDeviceItem changed public access, usage, or reachability. |
SocketItem
Storage.File.SocketItem
Representative method paths from recorded graph edges:
segment.socketItemsbaseline evidence| Contract area | Before | After |
|---|---|---|
| SDK type availabilitySocketItem | access: public · reachable: true · usage: 516 | Not recorded |
| SDK type contractSocketItem | Storage.File.SocketItem preserves its existing language-neutral generated SDK contract. | Storage.File.SocketItem changed public access, usage, or reachability. |
Language-neutral TCGC evidence is shown; generated language signatures are not fabricated.
File.createThe method uses changed SDK types; its top-level signature need not change.Affected intents (1)Indirect type change
Recorded normalized SDK method: Storage.File.File.create
NfsFileType
Storage.File.NfsFileType
Representative method paths from recorded graph edges:
nfsFileTypetarget evidencex-ms-file-file-typetarget evidence| Contract area | Before | After |
|---|---|---|
| Enum memberNfsFileType.BlockDeviceWire value "BlockDevice" is no longer declared. | BlockDevice | removed |
| Enum memberNfsFileType.CharacterDeviceWire value "CharacterDevice" is no longer declared. | CharacterDevice | removed |
| Enum memberNfsFileType.FifoWire value "Fifo" is no longer declared. | Fifo | removed |
| Enum memberNfsFileType.SocketWire value "Socket" is no longer declared. | Socket | removed |
| SDK type contractNfsFileType | Storage.File.NfsFileType preserves its existing language-neutral generated SDK contract. | Storage.File.NfsFileType removed enum values: BlockDevice, CharacterDevice, Fifo, Socket. |
Language-neutral TCGC evidence is shown; generated language signatures are not fabricated.
File.createHardLinkThe method uses changed SDK types; its top-level signature need not change.Affected intents (1)Indirect type change
Recorded normalized SDK method: Storage.File.File.createHardLink
NfsFileType
Storage.File.NfsFileType
Representative method paths from recorded graph edges:
x-ms-file-file-typetarget evidence| Contract area | Before | After |
|---|---|---|
| Enum memberNfsFileType.BlockDeviceWire value "BlockDevice" is no longer declared. | BlockDevice | removed |
| Enum memberNfsFileType.CharacterDeviceWire value "CharacterDevice" is no longer declared. | CharacterDevice | removed |
| Enum memberNfsFileType.FifoWire value "Fifo" is no longer declared. | Fifo | removed |
| Enum memberNfsFileType.SocketWire value "Socket" is no longer declared. | Socket | removed |
| SDK type contractNfsFileType | Storage.File.NfsFileType preserves its existing language-neutral generated SDK contract. | Storage.File.NfsFileType removed enum values: BlockDevice, CharacterDevice, Fifo, Socket. |
Language-neutral TCGC evidence is shown; generated language signatures are not fabricated.
File.createSymbolicLinkThe method uses changed SDK types; its top-level signature need not change.Affected intents (1)Indirect type change
Recorded normalized SDK method: Storage.File.File.createSymbolicLink
NfsFileType
Storage.File.NfsFileType
Representative method paths from recorded graph edges:
x-ms-file-file-typetarget evidence| Contract area | Before | After |
|---|---|---|
| Enum memberNfsFileType.BlockDeviceWire value "BlockDevice" is no longer declared. | BlockDevice | removed |
| Enum memberNfsFileType.CharacterDeviceWire value "CharacterDevice" is no longer declared. | CharacterDevice | removed |
| Enum memberNfsFileType.FifoWire value "Fifo" is no longer declared. | Fifo | removed |
| Enum memberNfsFileType.SocketWire value "Socket" is no longer declared. | Socket | removed |
| SDK type contractNfsFileType | Storage.File.NfsFileType preserves its existing language-neutral generated SDK contract. | Storage.File.NfsFileType removed enum values: BlockDevice, CharacterDevice, Fifo, Socket. |
Language-neutral TCGC evidence is shown; generated language signatures are not fabricated.
File.getPropertiesThe method uses changed SDK types; its top-level signature need not change.Affected intents (1)Indirect type change
Recorded normalized SDK method: Storage.File.File.getProperties
NfsFileType
Storage.File.NfsFileType
Representative method paths from recorded graph edges:
x-ms-file-file-typetarget evidence| Contract area | Before | After |
|---|---|---|
| Enum memberNfsFileType.BlockDeviceWire value "BlockDevice" is no longer declared. | BlockDevice | removed |
| Enum memberNfsFileType.CharacterDeviceWire value "CharacterDevice" is no longer declared. | CharacterDevice | removed |
| Enum memberNfsFileType.FifoWire value "Fifo" is no longer declared. | Fifo | removed |
| Enum memberNfsFileType.SocketWire value "Socket" is no longer declared. | Socket | removed |
| SDK type contractNfsFileType | Storage.File.NfsFileType preserves its existing language-neutral generated SDK contract. | Storage.File.NfsFileType removed enum values: BlockDevice, CharacterDevice, Fifo, Socket. |
Language-neutral TCGC evidence is shown; generated language signatures are not fabricated.
Semantic intents
Impact links are visible at a glance; expand for changed TypeSpec source, followed by affected operations.
Remove NFS ownership metadataRemoves owner, group, and fileMode from FileProperty in API version 2026-12-06; deterministic operation mapping is unavailable, while SDK listing models remain affected.modify
Changed TypeSpec source (1)
/** The ETag of the file. */ @Xml.name("Etag") eTag?: Azure.Core.eTag; - - /** NFS only. The owner user identifier (UID) of the file. */ - @added(Versions.v2026_12_06) - @Xml.name("Uid") - owner?: string; - - /** NFS only. The owner group identifier (GID) of the file. */ - @added(Versions.v2026_12_06) - @Xml.name("Gid") - group?: string; - - /** NFS only. The file mode of the file. */ - @added(Versions.v2026_12_06) - @Xml.name("Mode") - fileMode?: string; } /** A listed file item. */
specification/storage/data-plane/FileStorage/models.tsp:560
Affected operations (0)
No directly affected REST operation.
Reduce NFS directory-list result variantsRemoves five specialized item collections and four ListFilesIncludeType choices from Directory_ListFilesAndDirectoriesSegment in API version 2026-12-06.modify
Changed TypeSpec source (1)
/** PermissionKey */ PermissionKey, - - /** Permissions */ - @added(Versions.v2026_12_06) - Permissions, - - /** LinkCount */ - @added(Versions.v2026_12_06) - LinkCount, - - /** NfsAttributes */ - @added(Versions.v2026_12_06) - NfsAttributes, - - /** All */ - @added(Versions.v2026_12_06) - All, } /** The type of share information to include in the listing. */
@Xml.unwrapped @Xml.name("File") fileItems: FileItem[]; - - /** The symbolic link items. */ - @added(Versions.v2026_12_06) - @Xml.unwrapped - @Xml.name("SymLink") - symLinkItems?: SymLinkItem[]; - - /** The block device items. */ - @added(Versions.v2026_12_06) - @Xml.unwrapped - @Xml.name("BlockDevice") - blockDeviceItems?: BlockDeviceItem[]; - - /** The character device items. */ - @added(Versions.v2026_12_06) - @Xml.unwrapped - @Xml.name("CharDevice") - charDeviceItems?: CharDeviceItem[]; - - /** The FIFO items. */ - @added(Versions.v2026_12_06) - @Xml.unwrapped - @Xml.name("Fifo") - fifoItems?: FifoItem[]; - - /** The socket items. */ - @added(Versions.v2026_12_06) - @Xml.unwrapped - @Xml.name("Socket") - socketItems?: SocketItem[]; } /** A listed directory item. */
specification/storage/data-plane/FileStorage/models.tsp:378
Affected operations (1)
Directory_ListFilesAndDirectoriesSegmentGET?restype=directory&comp=list2026-12-06
| Contract area | Before | After |
|---|---|---|
| Query parameterinclude | ListFilesIncludeType { All | Attributes | Etag | LinkCount | NfsAttributes | PermissionKey | Permissions | Timestamps }[] | ListFilesIncludeType { Attributes | Etag | PermissionKey | Timestamps }[] |
| Response body property200 · segment.blockDeviceItems | BlockDeviceItem[] | removed |
| Response body property200 · segment.charDeviceItems | CharDeviceItem[] | removed |
| Response body property200 · segment.directoryItems[].linkCount | integer int64 | removed |
| Response body property200 · segment.directoryItems[].properties.fileMode | string | removed |
| Response body property200 · segment.directoryItems[].properties.group | string | removed |
| Response body property200 · segment.directoryItems[].properties.owner | string | removed |
| Response body property200 · segment.fifoItems | FifoItem[] | removed |
| Response body property200 · segment.fileItems[].fileType | NfsFileType { BlockDevice | CharacterDevice | Directory | Fifo | Regular | Socket | SymLink } | removed |
| Response body property200 · segment.fileItems[].linkCount | integer int64 | removed |
| Response body property200 · segment.fileItems[].properties.fileMode | string | removed |
| Response body property200 · segment.fileItems[].properties.group | string | removed |
| Response body property200 · segment.fileItems[].properties.owner | string | removed |
| Response body property200 · segment.socketItems | SocketItem[] | removed |
| Response body property200 · segment.symLinkItems | SymLinkItem[] | removed |
REST contract changed: responses.
Remove specialized NFS file typesRemoves BlockDevice, CharacterDevice, Fifo, and Socket from NfsFileType across six create, properties, hard-link, and symbolic-link operations in API version 2026-12-06.Impacts (13)REST: Directory_CreateREST: Directory_GetPropertiesREST: File_CreateREST: File_CreateHardLinkREST: File_CreateSymbolicLinkREST: File_GetPropertiesDownstream: Directory.createDownstream: Directory.getPropertiesDownstream: Directory.listFilesAndDirectoriesSegmentDownstream: File.createDownstream: File.createHardLinkDownstream: File.createSymbolicLinkDownstream: File.getPropertiesmodify
Changed TypeSpec source (1)
/** SymLink */ SymLink: "SymLink", - - /** BlockDevice */ - @added(Versions.v2026_12_06) - BlockDevice: "BlockDevice", - - /** CharacterDevice */ - @added(Versions.v2026_12_06) - CharacterDevice: "CharacterDevice", - - /** Socket */ - @added(Versions.v2026_12_06) - Socket: "Socket", - - /** Fifo */ - @added(Versions.v2026_12_06) - Fifo: "Fifo", } /** The file property semantics. */
specification/storage/data-plane/FileStorage/models.tsp:275
Affected operations (6)
Directory_CreatePUT?restype=directory2026-12-06
| Contract area | Before | After |
|---|---|---|
| Response header201 · x-ms-file-file-type | NfsFileType { BlockDevice | CharacterDevice | Directory | Fifo | Regular | Socket | SymLink } | NfsFileType { Directory | Regular | SymLink } |
REST contract changed: responses.
Directory_GetPropertiesGET?restype=directory&_overload=getProperties2026-12-06
| Contract area | Before | After |
|---|---|---|
| Response header200 · x-ms-file-file-type | NfsFileType { BlockDevice | CharacterDevice | Directory | Fifo | Regular | Socket | SymLink } | NfsFileType { Directory | Regular | SymLink } |
REST contract changed: responses.
File_CreatePUT/2026-12-06
| Contract area | Before | After |
|---|---|---|
| Response header201 · x-ms-file-file-type | NfsFileType { BlockDevice | CharacterDevice | Directory | Fifo | Regular | Socket | SymLink } | NfsFileType { Directory | Regular | SymLink } |
REST contract changed: responses.
File_CreateHardLinkPUT?restype=hardlink2026-12-06
| Contract area | Before | After |
|---|---|---|
| Response header201 · x-ms-file-file-type | NfsFileType { BlockDevice | CharacterDevice | Directory | Fifo | Regular | Socket | SymLink } | NfsFileType { Directory | Regular | SymLink } |
REST contract changed: responses.
File_CreateSymbolicLinkPUT?restype=symboliclink2026-12-06
| Contract area | Before | After |
|---|---|---|
| Response header201 · x-ms-file-file-type | NfsFileType { BlockDevice | CharacterDevice | Directory | Fifo | Regular | Socket | SymLink } | NfsFileType { Directory | Regular | SymLink } |
REST contract changed: responses.
File_GetPropertiesHEAD/2026-12-06
| Contract area | Before | After |
|---|---|---|
| Response header200 · x-ms-file-file-type | NfsFileType { BlockDevice | CharacterDevice | Directory | Fifo | Regular | Socket | SymLink } | NfsFileType { Directory | Regular | SymLink } |
REST contract changed: responses.
Remove directory link countRemoves linkCount from DirectoryItem in API version 2026-12-06; deterministic operation mapping is unavailable, while the generated listing model remains affected.modify
Changed TypeSpec source (1)
/** The permission key. */ @Xml.name("PermissionKey") permissionKey?: string; - - /** NFS only. The link count of the directory. */ - @added(Versions.v2026_12_06) - @Xml.name("LinkCount") - linkCount?: int64; } /** An encoded string value. */
specification/storage/data-plane/FileStorage/models.tsp:530
Affected operations (0)
No directly affected REST operation.
Remove specialized NFS item modelsRemoves specialized block, character, FIFO, socket, and symbolic-link item models plus file item NFS fields in API version 2026-12-06; deterministic operation mapping is unavailable.modify
Changed TypeSpec source (1)
/** The permission key. */ @Xml.name("PermissionKey") permissionKey?: string; - - /** NFS only. The link count of the file. */ - @added(Versions.v2026_12_06) - @Xml.name("LinkCount") - linkCount?: int64; - - /** NFS only. The type of the file. */ - @added(Versions.v2026_12_06) - @Xml.name("FileType") - fileType?: NfsFileType; -} - -/** A listed symbolic link item. */ -@added(Versions.v2026_12_06) -@Xml.name("SymLink") -model SymLinkItem { - /** The symbolic link name. */ - @Xml.name("Name") name: StringEncoded; - - /** The file ID. */ - @Xml.name("FileId") fileId?: string; - - /** File properties. */ - @Xml.name("Properties") properties: FileProperty; - - /** NFS only. The link count of the symbolic link. */ - @Xml.name("LinkCount") linkCount?: int64; - - /** NFS only. The path to the original file, the symbolic link is pointing to. */ - @Xml.name("LinkText") linkText?: string; -} - -/** A listed block device item. */ -@added(Versions.v2026_12_06) -@Xml.name("BlockDevice") -model BlockDeviceItem { - /** The block device name. */ - @Xml.name("Name") name: StringEncoded; - - /** The file ID. */ - @Xml.name("FileId") fileId?: string; - - /** File properties. */ - @Xml.name("Properties") properties: FileProperty; - - /** NFS only. The link count of the block device. */ - @Xml.name("LinkCount") linkCount?: int64; - - /** NFS only. The major device number of the block device. */ - @Xml.name("DeviceMajor") deviceMajor?: int64; - - /** NFS only. The minor device number of the block device. */ - @Xml.name("DeviceMinor") deviceMinor?: int64; -} - -/** A listed character device item. */ -@added(Versions.v2026_12_06) -@Xml.name("CharDevice") -model CharDeviceItem { - /** The character device name. */ - @Xml.name("Name") name: StringEncoded; - - /** The file ID. */ - @Xml.name("FileId") fileId?: string; - - /** File properties. */ - @Xml.name("Properties") properties: FileProperty; - - /** NFS only. The link count of the character device. */ - @Xml.name("LinkCount") linkCount?: int64; - - /** NFS only. The major device number of the character device. */ - @Xml.name("DeviceMajor") deviceMajor?: int64; - - /** NFS only. The minor device number of the character device. */ - @Xml.name("DeviceMinor") deviceMinor?: int64; -} - -/** A listed FIFO item. */ -@added(Versions.v2026_12_06) -@Xml.name("Fifo") -model FifoItem { - /** The FIFO name. */ - @Xml.name("Name") name: StringEncoded; - - /** The file ID. */ - @Xml.name("FileId") fileId?: string; - - /** File properties. */ - @Xml.name("Properties") properties: FileProperty; - - /** NFS only. The link count of the FIFO. */ - @Xml.name("LinkCount") linkCount?: int64; -} - -/** A listed socket item. */ -@added(Versions.v2026_12_06) -@Xml.name("Socket") -model SocketItem { - /** The socket name. */ - @Xml.name("Name") name: StringEncoded; - - /** The file ID. */ - @Xml.name("FileId") fileId?: string; - - /** File properties. */ - @Xml.name("Properties") properties: FileProperty; - - /** NFS only. The link count of the socket. */ - @Xml.name("LinkCount") linkCount?: int64; } /** A listed Azure Storage handle item. */
specification/storage/data-plane/FileStorage/models.tsp:595
Affected operations (0)
No directly affected REST operation.
Documentation Completeness
Checks only whether newly added operation, model, enum, and interface declarations have a nonempty effective TypeSpec description.
0 findings · 0 declarations checked
Appendix
Potential limits
None
Projects and compiler status
| Project | Mode | Baseline commit@version | Target commit@version | Baseline AutoRest / TCGC | Target AutoRest / TCGC |
|---|---|---|---|---|---|
specification/storage/data-plane/FileStorage | existing-api-version | e75a07cd7ea1b2207190a362305db02b639715ec@2026-12-06base · affected-existing-version | 656ca8b0741973760f8a60ee0fd293ba9c31e708@2026-12-06current · affected-existing-version | succeeded / succeeded | succeeded / succeeded |
Pull request: Not available for this local pre-PR assessment.
Guidance fetched
Guidance coverage and retrieval evidence
{
"status": "failed",
"coverage": {
"semanticIntentCount": 5,
"assessedIntentCount": 5,
"selectedDocumentCount": 4,
"unassessedIntentIds": []
},
"sharedSearch": {
"catalogRanking": [
{
"rank": 1,
"catalogOrder": 21,
"title": "Models",
"canonicalUrl": "https://typespec.io/docs/language-basics/models/",
"score": {
"exactSymbol": 4,
"patternCategory": 3,
"servicePlane": 2,
"changeContext": 0,
"total": 9
},
"selectionRationale": "Directly covers changed model or enum declarations and applies to data-plane TypeSpec."
},
{
"rank": 2,
"catalogOrder": 22,
"title": "Enums",
"canonicalUrl": "https://typespec.io/docs/language-basics/enums/",
"score": {
"exactSymbol": 4,
"patternCategory": 3,
"servicePlane": 2,
"changeContext": 0,
"total": 9
},
"selectionRationale": "Directly covers changed model or enum declarations and applies to data-plane TypeSpec."
},
{
"rank": 3,
"catalogOrder": 1,
"title": "Evolving APIs",
"canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/versioning/06-evolving-apis/",
"score": {
"exactSymbol": 0,
"patternCategory": 3,
"servicePlane": 2,
"changeContext": 1,
"total": 6
},
"selectionRationale": "Covers modifications to an existing versioned API and applies to data-plane TypeSpec."
},
{
"rank": 4,
"catalogOrder": 2,
"title": "Versioning overview",
"canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/versioning/01-about-versioning/",
"score": {
"exactSymbol": 0,
"patternCategory": 3,
"servicePlane": 2,
"changeContext": 0,
"total": 5
},
"selectionRationale": "Matches a requested versioning, model, enum, scalar, or decorator category and applies to data-plane TypeSpec."
},
{
"rank": 5,
"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": 3,
"servicePlane": 2,
"changeContext": 0,
"total": 5
},
"selectionRationale": "Matches a requested versioning, model, enum, scalar, or decorator category and applies to data-plane TypeSpec."
},
{
"rank": 6,
"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": 3,
"servicePlane": 2,
"changeContext": 0,
"total": 5
},
"selectionRationale": "Matches a requested versioning, model, enum, scalar, or decorator category and applies to data-plane TypeSpec."
},
{
"rank": 7,
"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": 3,
"servicePlane": 2,
"changeContext": 0,
"total": 5
},
"selectionRationale": "Matches a requested versioning, model, enum, scalar, or decorator category and applies to data-plane TypeSpec."
},
{
"rank": 8,
"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": 3,
"servicePlane": 2,
"changeContext": 0,
"total": 5
},
"selectionRationale": "Matches a requested versioning, model, enum, scalar, or decorator category and applies to data-plane TypeSpec."
},
{
"rank": 9,
"catalogOrder": 23,
"title": "Scalars",
"canonicalUrl": "https://typespec.io/docs/language-basics/scalars/",
"score": {
"exactSymbol": 0,
"patternCategory": 3,
"servicePlane": 2,
"changeContext": 0,
"total": 5
},
"selectionRationale": "Matches a requested versioning, model, enum, scalar, or decorator category and applies to data-plane TypeSpec."
},
{
"rank": 10,
"catalogOrder": 24,
"title": "Decorators",
"canonicalUrl": "https://typespec.io/docs/language-basics/decorators/",
"score": {
"exactSymbol": 0,
"patternCategory": 3,
"servicePlane": 2,
"changeContext": 0,
"total": 5
},
"selectionRationale": "Matches a requested versioning, model, enum, scalar, or decorator category and applies to data-plane TypeSpec."
},
{
"rank": 11,
"catalogOrder": 25,
"title": "Built-in decorators",
"canonicalUrl": "https://typespec.io/docs/standard-library/built-in-decorators/",
"score": {
"exactSymbol": 0,
"patternCategory": 3,
"servicePlane": 2,
"changeContext": 0,
"total": 5
},
"selectionRationale": "Matches a requested versioning, model, enum, scalar, or decorator category and applies to data-plane TypeSpec."
},
{
"rank": 12,
"catalogOrder": 26,
"title": "OpenAPI decorators",
"canonicalUrl": "https://typespec.io/docs/libraries/openapi/reference/decorators/",
"score": {
"exactSymbol": 0,
"patternCategory": 3,
"servicePlane": 2,
"changeContext": 0,
"total": 5
},
"selectionRationale": "Matches a requested versioning, model, enum, scalar, or decorator category and applies to data-plane TypeSpec."
},
{
"rank": 13,
"catalogOrder": 29,
"title": "Content negotiation",
"canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/azure-core/content-negotiation/",
"score": {
"exactSymbol": 0,
"patternCategory": 3,
"servicePlane": 2,
"changeContext": 0,
"total": 5
},
"selectionRationale": "Matches a requested versioning, model, enum, scalar, or decorator category and applies to data-plane TypeSpec."
},
{
"rank": 14,
"catalogOrder": 20,
"title": "ARM common types",
"canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/add-common-types/",
"score": {
"exactSymbol": 0,
"patternCategory": 3,
"servicePlane": 0,
"changeContext": 0,
"total": 3
},
"selectionRationale": "Matches a requested category but is ARM-specific rather than data-plane guidance."
},
{
"rank": 15,
"catalogOrder": 27,
"title": "Change provider namespace",
"canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/change-provider-namespace/",
"score": {
"exactSymbol": 0,
"patternCategory": 3,
"servicePlane": 0,
"changeContext": 0,
"total": 3
},
"selectionRationale": "Matches a requested category but is ARM-specific rather than data-plane guidance."
},
{
"rank": 16,
"catalogOrder": 28,
"title": "Azure Portal default experiences",
"canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/azure-portal/default-experiences/",
"score": {
"exactSymbol": 0,
"patternCategory": 3,
"servicePlane": 0,
"changeContext": 0,
"total": 3
},
"selectionRationale": "Matches a requested category but is ARM-specific rather than data-plane guidance."
},
{
"rank": 17,
"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": "Applies to data-plane TypeSpec but does not match the changed construct category."
},
{
"rank": 18,
"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": "Applies to data-plane TypeSpec but does not match the changed construct category."
},
{
"rank": 19,
"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": "Applies to data-plane TypeSpec but does not match the changed construct category."
},
{
"rank": 20,
"catalogOrder": 30,
"title": "Directives",
"canonicalUrl": "https://typespec.io/docs/language-basics/directives/",
"score": {
"exactSymbol": 0,
"patternCategory": 0,
"servicePlane": 2,
"changeContext": 0,
"total": 2
},
"selectionRationale": "Applies to data-plane TypeSpec but does not match the changed construct category."
},
{
"rank": 21,
"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": 2,
"changeContext": 0,
"total": 2
},
"selectionRationale": "Applies to data-plane TypeSpec but does not match the changed construct category."
},
{
"rank": 22,
"catalogOrder": 7,
"title": "ARM resource types and modeling",
"canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/resource-type/",
"score": {
"exactSymbol": 0,
"patternCategory": 0,
"servicePlane": 0,
"changeContext": 0,
"total": 0
},
"selectionRationale": "Does not match the changed construct category or data-plane service context."
},
{
"rank": 23,
"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": 0,
"changeContext": 0,
"total": 0
},
"selectionRationale": "Does not match the changed construct category or data-plane service context."
},
{
"rank": 24,
"catalogOrder": 9,
"title": "Private endpoints",
"canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/private-endpoints/",
"score": {
"exactSymbol": 0,
"patternCategory": 0,
"servicePlane": 0,
"changeContext": 0,
"total": 0
},
"selectionRationale": "Does not match the changed construct category or data-plane service context."
},
{
"rank": 25,
"catalogOrder": 10,
"title": "Private links",
"canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/private-links/",
"score": {
"exactSymbol": 0,
"patternCategory": 0,
"servicePlane": 0,
"changeContext": 0,
"total": 0
},
"selectionRationale": "Does not match the changed construct category or data-plane service context."
},
{
"rank": 26,
"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": 0,
"changeContext": 0,
"total": 0
},
"selectionRationale": "Does not match the changed construct category or data-plane service context."
},
{
"rank": 27,
"catalogOrder": 12,
"title": "ARM resource operations",
"canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/arm/resource-operations/",
"score": {
"exactSymbol": 0,
"patternCategory": 0,
"servicePlane": 0,
"changeContext": 0,
"total": 0
},
"selectionRationale": "Does not match the changed construct category or data-plane service context."
},
{
"rank": 28,
"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": 0,
"changeContext": 0,
"total": 0
},
"selectionRationale": "Does not match the changed construct category or data-plane service context."
},
{
"rank": 29,
"catalogOrder": 15,
"title": "Azure.ResourceManager decorators",
"canonicalUrl": "https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/reference/decorators/",
"score": {
"exactSymbol": 0,
"patternCategory": 0,
"servicePlane": 0,
"changeContext": 0,
"total": 0
},
"selectionRationale": "Does not match the changed construct category or data-plane service context."
},
{
"rank": 30,
"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": 0,
"changeContext": 0,
"total": 0
},
"selectionRationale": "Does not match the changed construct category or data-plane service context."
},
{
"rank": 31,
"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": 0,
"changeContext": 0,
"total": 0
},
"selectionRationale": "Does not match the changed construct category or data-plane service context."
}
],
"documents": [
{
"rank": 1,
"catalogOrder": 21,
"title": "Models",
"canonicalUrl": "https://typespec.io/docs/language-basics/models/",
"score": {
"exactSymbol": 4,
"patternCategory": 3,
"servicePlane": 2,
"changeContext": 0,
"total": 9
},
"selectionRationale": "Directly covers changed model or enum declarations and applies to data-plane TypeSpec.",
"guidance": [],
"noRelevantGuidance": true,
"retrievedAt": "2026-09-17T11:43:50.583Z",
"contentHash": "sha256:3b84e7dc79b330fafcfa2cb83a899f61be58e9e0e2754104daf3f3c2a0f1349b"
},
{
"rank": 2,
"catalogOrder": 22,
"title": "Enums",
"canonicalUrl": "https://typespec.io/docs/language-basics/enums/",
"score": {
"exactSymbol": 4,
"patternCategory": 3,
"servicePlane": 2,
"changeContext": 0,
"total": 9
},
"selectionRationale": "Directly covers changed model or enum declarations and applies to data-plane TypeSpec.",
"guidance": [],
"noRelevantGuidance": true,
"retrievedAt": "2026-09-17T11:43:50.583Z",
"contentHash": "sha256:89f4759b17646f3e49c84aa06aa9cc4a381e79486fed3347704e92f943b840b4"
},
{
"rank": 3,
"catalogOrder": 1,
"title": "Evolving APIs",
"canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/versioning/06-evolving-apis/",
"score": {
"exactSymbol": 0,
"patternCategory": 3,
"servicePlane": 2,
"changeContext": 1,
"total": 6
},
"selectionRationale": "Covers modifications to an existing versioned API and applies to data-plane TypeSpec.",
"guidance": [
{
"section": "Removing models, properties, or operations",
"excerpt": "To remove models, properties, or operations starting from a specific version, use the @removed decorator. The version argument is the version where the element is removed. The element will not be present in that version or any later versions.",
"queryTerms": [
"@removed",
"properties",
"existing versioned API"
],
"examples": [
"@removed(Versions.v2)"
],
"applicableDeclarationIds": [
"declaration-2d3a2b7aab17dfb3",
"declaration-3243b40112836aaa",
"declaration-f645a014c6b8c231",
"declaration-f84d7b1313863775",
"declaration-3ccbed40d5b5a580",
"declaration-5444d21d5571ca6d",
"declaration-548fd097e257bd20",
"declaration-5e71c571d67a1a90",
"declaration-85501d96c1415c4d",
"declaration-95b0cdda43d146f0",
"declaration-cb7ef84ffdccd6df",
"declaration-2fc5ef444759f4a7",
"declaration-4fb604ae8d7e498c",
"declaration-51c6e236781c718e",
"declaration-a44641dd872bd2fb",
"declaration-dd60ed751f286d8b",
"declaration-af95a6a0e5930f05",
"declaration-eb0a1fe2bd4b57f5",
"declaration-11d9bfb5a9417330",
"declaration-1308395af552c920",
"declaration-1d8f77f5a0706041",
"declaration-28faabea28d25a09",
"declaration-2d8838f499c8d2a7",
"declaration-3468c062204a2ec9",
"declaration-388d5fab74ac6367",
"declaration-4d422ac6bbb746c1",
"declaration-4ebf21e442725dae",
"declaration-5ad589dd342edf51",
"declaration-5d5c269c56d15244",
"declaration-60ca7e1d8534d963",
"declaration-66f903520fea680f",
"declaration-7579ab049368eba2",
"declaration-784023ca786802e3",
"declaration-7e1538dc0206b9c0",
"declaration-81ae245a471237ca",
"declaration-8c10fa4d4b94e0e6",
"declaration-8dbd598f86e39880",
"declaration-913b93a15794ef2f",
"declaration-a9ae57b209f780dc",
"declaration-abd4fe560343919a",
"declaration-be5a596dbd04dd32",
"declaration-c00ed6ec653d2f38",
"declaration-c15318f2c3c92a7f",
"declaration-cca86a1e4127e661",
"declaration-d73fb1ed7844d619",
"declaration-dcc651a6c2451245",
"declaration-e55304f8e1921660",
"declaration-e69435f544489f6a",
"declaration-f4e8baf2553ff927",
"declaration-fa33e601ec2821cf",
"declaration-fd7b6d11babaca4d"
]
}
],
"noRelevantGuidance": false,
"retrievedAt": "2026-09-17T11:43:50.583Z",
"contentHash": "sha256:89bd7c052102f80760ab3b618443be788998191dce28529fa7c0244de3a036c7"
},
{
"rank": 4,
"catalogOrder": 2,
"title": "Versioning overview",
"canonicalUrl": "https://azure.github.io/typespec-azure/docs/howtos/versioning/01-about-versioning/",
"score": {
"exactSymbol": 0,
"patternCategory": 3,
"servicePlane": 2,
"changeContext": 0,
"total": 5
},
"selectionRationale": "Matches a requested versioning, model, enum, scalar, or decorator category and applies to data-plane TypeSpec.",
"guidance": [],
"noRelevantGuidance": true,
"retrievedAt": "2026-09-17T11:43:50.583Z",
"contentHash": "sha256:7ff1da8dc75f1f78f907a4cbae591a0fa601cb1b67e2580f7d93ff89784e9818"
}
]
},
"intentAssessments": [
{
"semanticIntentId": "semantic-592b5311731e1446",
"decision": "applicable-fail",
"blockers": []
},
{
"semanticIntentId": "semantic-69d8c47200127e1e",
"decision": "applicable-fail",
"blockers": []
},
{
"semanticIntentId": "semantic-9616a08203c508e2",
"decision": "applicable-fail",
"blockers": []
},
{
"semanticIntentId": "semantic-a37463f13b1cdb22",
"decision": "applicable-fail",
"blockers": []
},
{
"semanticIntentId": "semantic-fc36895d206fa6fd",
"decision": "applicable-fail",
"blockers": []
}
],
"retrievalFailures": [],
"blockers": []
}Changed files
specification/storage/data-plane/FileStorage/models.tsp(committed)
Timing and model input
{
"timings": {
"metadataMs": 1202,
"fetchMs": 117,
"scopeDiscoveryMs": 61,
"setupExcludingFetchMs": 10899,
"comparisonMs": 102,
"changeDiscoveryMs": 61,
"workspacePreparationMs": 9300,
"projectDiscoveryMs": 8,
"totalMs": 66909,
"semanticAnalysisMs": 74,
"restAnalysisMs": 40,
"downstreamAnalysisMs": 1964,
"documentQualityAnalysisMs": 1
},
"inputAccounting": {
"budgetTier": "medium",
"budgetBytes": 262144,
"bytes": 163485,
"estimatedTokens": 40872,
"retained": {
"evidenceSets": 28,
"facts": 41,
"semanticReviewUnits": 5,
"restCandidates": 22,
"downstreamCandidates": 19,
"downstreamRootCauses": 11,
"complianceSearchRequests": 5,
"inferenceRequests": 0
},
"omittedRedundant": {
"rawEmitterArtifacts": true,
"compilerLogs": true,
"unchangedInventories": true,
"unreferencedFacts": true,
"unreferencedDeterministicFacts": true,
"sourceChanges": true,
"repeatedDeclarationIds": true,
"repeatedReviewUnitEvidence": true
},
"compliance": {
"catalogEntriesScored": 31,
"documentsFetched": 4,
"documentBytesFetched": 907,
"guidanceExcerptsRetained": 1,
"guidanceExcerptBytesRetained": 242
}
}
}
Provenance: model-input.json, dimensions/document-quality-input.json, compliance-search-evidence.json, assessment-judgment.json, preparation-manifest.json