[TypeSpec Authoring Dogfood] Data-Plane Services - Add new API version cases
- 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
Assessment
This issue has not been assessed yet.