Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions packages/typespec-lintdiff/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,9 @@ migration workflow.

## Migration status (from `docs/validate-report.md`)

- 223 total test cases · 33 direct native lints · 5 template-only · 1 partial · 89 confirmed gaps ·
32 possible gaps · plus test-quality buckets.
- 596 total test cases · 218 covered by direct native lints · 12 settled template-enforced ·
45 partial · 14 settled prerequisite-blocked · 20 unresolved gaps · plus test-quality and
compliance-proof buckets. The report also records 72 snapshot mismatches for follow-up.
- Covered-rule confidence and per-rule rationale, plus rules intentionally **not** migrated
(template-enforced / infallible / concept-not-applicable), are documented in the source repo's
`notes/` (`phase1-assessment-report.md`, `phase2b-equivalence-analysis.md`,
Expand Down
7 changes: 3 additions & 4 deletions packages/typespec-lintdiff/catalog/CATALOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ Total rules: 209
| Known TSP equivalent | 16 |
| **Infallible** (no action needed) | 29 |
| **Template-enforced** (low priority) | 45 |
| **Prerequisite-blocked** (investigate existing TypeSpec diagnostics first) | 4 |
| **Unconstrained** (high priority) | 131 |
| **Prerequisite-blocked** (investigate existing TypeSpec diagnostics first) | 3 |
| **Unconstrained** (high priority) | 132 |

## Classification Key

Expand Down Expand Up @@ -179,7 +179,7 @@ Total rules: 209
| InvalidVerbUsed | error | — | — | Infallible | ✓ |
| ListInOperationName | warn | — | — | Template-enforced | ✓ |
| LongRunningOperationsOptionsValidator | warn | — | — | Template-enforced | ✓ |
| LroExtension | error | — | — | Prerequisite-blocked | ✓ |
| LroExtension | error | — | — | Unconstrained | ✓ |
| LroStatusCodesReturnTypeSchema | error | — | — | Template-enforced | ✓ |
| MutabilityWithReadOnly | error | — | — | Prerequisite-blocked | ✓ |
| NamePropertyDefinitionInParameter | error | — | — | Infallible | ✓ |
Expand Down Expand Up @@ -247,4 +247,3 @@ Total rules: 209
| SuccessResponseBody | warn | — | — | Unconstrained | ✓ |
| VersionConvention | warn | — | — | Unconstrained | ✓ |
| VersionPolicy | warn | — | — | Unconstrained | ✓ |

4 changes: 2 additions & 2 deletions packages/typespec-lintdiff/catalog/catalog.json
Original file line number Diff line number Diff line change
Expand Up @@ -2495,8 +2495,8 @@
"sources": [
"common"
],
"tier": "Prerequisite-blocked",
"tierRationale": "The ARM violating repro needs arm-post-operation-response-codes suppression, and explicit x-ms-long-running-operation authoring is blocked by no-openapi unless suppressed."
"tier": "Unconstrained",
"tierRationale": "Official response-code rules cover registered resource POST/PUT/DELETE; supported custom PATCH and provider POST templates can return 202 with plain Location headers but no native LRO metadata."
},
{
"id": "LroStatusCodesReturnTypeSchema",
Expand Down
22 changes: 13 additions & 9 deletions packages/typespec-lintdiff/docs/DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,15 +120,19 @@ npm run validate -- --report-md

The current top-line breakdown from `validate-report.md` is:

- 223 total test cases
- 33 covered by direct native TypeSpec lints
- 5 covered only by template-related diagnostics
- 1 intentionally partial mapping
- 89 confirmed gaps with no TypeSpec diagnostics
- 32 possible gaps with unmapped TypeSpec diagnostics
- 10 expected-violation tests where the validator stayed silent
- 52 compliance tests with unmapped TypeSpec diagnostics
- 1 compliance test with an unexpected validator violation
- 596 total test cases
- 218 covered by direct native TypeSpec lints (217 direct-only and 1 with both direct and
template-related diagnostics)
- 12 settled template-enforced cases
- 45 intentionally partial cases
- 14 settled prerequisite-blocked cases
- 20 unresolved gaps (2 with no TypeSpec diagnostics and 18 masked by suppressed diagnostics)
- 8 expected-violation tests where the validator stayed silent
- 258 validator-clean compliance tests, including 24 provably clean, 166 with reviewed ambient
diagnostics, 56 awaiting ambient review, 3 with reviewed-expectation mismatches, and 9 with
mapped diagnostics
- 21 compliance tests with reviewed validator discrepancies
- 72 snapshot mismatches requiring follow-up

Additional audit commands are available:

Expand Down
2 changes: 1 addition & 1 deletion packages/typespec-lintdiff/docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

## Detail

- Current proof point: the harness covers 223 test cases. It currently shows 33 direct native mappings, 5 template-only coverage cases, 1 partial mapping, 89 confirmed gaps with no TypeSpec diagnostics, and 32 possible gaps with unmapped TypeSpec diagnostics.
- Current proof point: the harness covers 596 test cases. It currently shows 218 cases covered by direct native lints, 12 settled template-enforced cases, 45 partial cases, 14 settled prerequisite-blocked cases, and 20 unresolved gaps. The generated report also records 72 snapshot mismatches for follow-up rather than presenting the corpus as fully reconciled.
- The harness compiles TypeSpec, emits OpenAPI, runs Azure OpenAPI Validator, captures TypeSpec diagnostics, and groups results into confidence buckets in `validate-report.md`.
- Scope is API governance migration first. SDK-specific rules are tracked separately and may require different ownership or follow-on work.
- Delivery plan: finish classification and ambiguity removal this week, land the highest-priority native gap work next week, prove full migration scope by mid-April, and demonstrate the integration workflow by the first week of May.
Loading