Azure / Azure/azure-sdk-tools

[TypeSpec Authoring Dogfood] Data-Plane Services - Add new API version cases

Open
#14,457 0 comments 0 reactions 1 assignee Claimed by @haolingdong-msft View on GitHub
AzSDK Tools Agent dev inner loop Scenario 2
Dominant language
C#
Stars
135
Forks
260
Avg merge
3d 2h
Merged PRs (30d)
130

Description

## Goal

Extend the TypeSpec Authoring skill dogfood to **data-plane** services — validate the skill workflow end-to-end by replaying recent PRs that add a new API version to existing data-plane TypeSpec projects.

## Context

The parent issue ([#14325](https://github.com/Azure/azure-sdk-tools/issues/14325)) covers ARM (resource-manager) cases only. This sub-issue covers data-plane services to ensure the skill handles data-plane versioning patterns correctly.

> **Note:** The zure-typespec-author skill currently states that API versioning is only supported for ARM/resource-manager services. This dogfood effort will help identify what changes are needed to support data-plane versioning as well.

## Scope

For each service case below, use the `azure-typespec-author` skill to:
1. Add the same new API version as the original PR
2. Verify the skill correctly handles intake, solution retrieval, code changes, and validation
3. Document any gaps, failures, or improvements needed for data-plane scenarios

## Real Service Cases

| Service | New API Version PR | Title | State | Type | TypeSpec Project |
|---|---|---|---|---|---|
| [keyvault (keys)](https://github.com/Azure/azure-rest-api-specs/tree/main/specification/keyvault/data-plane/Keys) | [#40761](https://github.com/Azure/azure-rest-api-specs/pull/40761) | Release 2026-01-01-preview branch to main | open | Brownfield | `specification/keyvault/data-plane/Keys` |
| [keyvault (secrets)](https://github.com/Azure/azure-rest-api-specs/tree/main/specification/keyvault/data-plane/Secrets) | [#41010](https://github.com/Azure/azure-rest-api-specs/pull/41010) | Release Key Vault 2026-02-01-preview | open | Brownfield | `specification/keyvault/data-plane/Secrets` |
| [loadtesting](https://github.com/Azure/azure-rest-api-specs/tree/main/specification/loadtestservice/data-plane/loadtesting) | [#39372](https://github.com/Azure/azure-rest-api-specs/pull/39372) | [Azure Load Testing] Introduce 2025-11-01-preview API version | merged | Brownfield | `specification/loadtestservice/data-plane/loadtesting` |
| [search](https://github.com/Azure/azure-rest-api-specs/tree/main/specification/search/data-plane/Search) | [#40859](https://github.com/Azure/azure-rest-api-specs/pull/40859) | [Azure Search] Data-Plane API 2026-04-01 GA Release | open | Brownfield | `specification/search/data-plane/Search` |
| [texttranslation](https://github.com/Azure/azure-rest-api-specs/tree/main/specification/translation/data-plane/TextTranslation) | [#40036](https://github.com/Azure/azure-rest-api-specs/pull/40036) | [TextTranslation] Add API version 2026-06-06 | open | Brownfield | `specification/translation/data-plane/TextTranslation` |
| [confidentialledger](https://github.com/Azure/azure-rest-api-specs/tree/main/specification/confidentialledger/data-plane/ConfidentialLedger) | [#40657](https://github.com/Azure/azure-rest-api-specs/pull/40657) | [ConfidentialLedger] Add stable version 2026-02-23 | open | Brownfield | `specification/confidentialledger/data-plane/ConfidentialLedger` |
| [cognitiveservices (tts)](https://github.com/Azure/azure-rest-api-specs/tree/main/specification/cognitiveservices) | [#40823](https://github.com/Azure/azure-rest-api-specs/pull/40823) | Cognitive Services TTS GA 2026-01-01 | open | Brownfield | `specification/cognitiveservices` |
| [devcenter](https://github.com/Azure/azure-rest-api-specs/tree/main/specification/devcenter) | [#39449](https://github.com/Azure/azure-rest-api-specs/pull/39449) | [Microsoft.DevCenter][Dataplane] Add new 2026-01-01-preview API version | merged | Brownfield | `specification/devcenter` |
| [videotranslation](https://github.com/Azure/azure-rest-api-specs/tree/main/specification/cognitiveservices) | [#39708](https://github.com/Azure/azure-rest-api-specs/pull/39708) | [VideoTranslation] Add new API version 2026-03-01 | merged | Brownfield | `specification/cognitiveservices` |
| [discovery](https://github.com/Azure/azure-rest-api-specs/tree/main/specification/storagediscovery) | [#39746](https://github.com/Azure/azure-rest-api-specs/pull/39746) | Discovery 2026-02-01-preview data-plane | open | Greenfield | `specification/storagediscovery` |
| [webpubsub (chat)](https://github.com/Azure/azure-rest-api-specs/tree/main/specification/webpubsub/data-plane/WebPubSub) | [#41187](https://github.com/Azure/azure-rest-api-specs/pull/41187) | Add Web PubSub Chat project | open | Greenfield | `specification/webpubsub/data-plane` |
| [planetary computer](https://github.com/Azure/azure-rest-api-specs/tree/main/specification/orbital) | [#40895](https://github.com/Azure/azure-rest-api-specs/pull/40895) | [Orbital] Add stable API version 2026-04-15 for Planetary Computer Pro | open | Greenfield | `specification/orbital` |

**Summary:** 9 Brownfield + 3 Greenfield = 12 PRs total

## Key Differences from ARM Cases

Data-plane TypeSpec projects differ from ARM in several important ways:
- Use `@azure-tools/typespec-azure-rulesets/data-plane` linter instead of `resource-manager`
- Use `azure-core` template instead of `azure-arm`
- Do not use ARM resource types (TrackedResource, ProxyResource, etc.)
- Versioning patterns may differ (e.g. `@server` decorator, `@versioned`)
- Security definitions often use API keys or bearer tokens instead of ARM OAuth2

## Success Criteria

- Successfully replay at least 3 brownfield and 2 greenfield data-plane cases using the skill
- Identify and document gaps in the skill workflow specific to data-plane services
- File sub-issues for each gap found

## Parent Issue

- Azure/azure-sdk-tools#14325

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.