tier-check: final 2026-07-28 is still treated as draft and legacy scenarios score by default
I maintainer di solito rispondono entro 4 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- typescript
- Ambito
- api, testing-qa, tooling
Direzione di ricerca
Inizia da src/types.ts per tracciare la gestione delle versioni dated, draft, latest e negotiable, quindi esamina scripts/sync-schema.ts e src/spec-types/SOURCE per il routing dello schema. Riproduci i casi di verifica del tier espliciti e predefiniti descritti nell’issue. Il lavoro è completato quando gli scenari final-2026 vengono valutati, gli scenari rimossi sono esclusi per impostazione predefinita e viene utilizzato lo schema finale immutabile, mentre i profili precedenti rimangono selezionabili.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
The current conformance main (49103de6ed70804e940637bf3e9e29e4a3f54e64) predates the final MCP 2026-07-28 release (modelcontextprotocol@5f5440bb26a62e2cf3440b92da5a667efa03b267) and still classifies 2026-07-28 as the draft protocol version rather than a dated release.
That makes current Tier checks misleading in two directions:
- An explicit
--spec-version 2026-07-28run does not score the complete final profile. - A default run scores removed legacy scenarios that are outside the SDK's target spec profile.
This was reproduced against leehack/mcp_dart@629a85c511913e30945568c6c27702da6760a3bc with @modelcontextprotocol/conformance built from 49103de6ed70804e940637bf3e9e29e4a3f54e64.
Current behavior
src/types.ts currently has dated versions ending at 2025-11-25, LATEST_SPEC_VERSION = '2025-11-25', and DRAFT_PROTOCOL_VERSION = '2026-07-28'.
For an explicit final-2026 run:
- The client executes 32 applicable scenarios, but the 17 introduced in
2026-07-28are marked informational. Only 15 scenarios affectpass_rate. - The server's default
activesuite excludes scenarios introduced in2026-07-28. It runs 20 scenarios instead of the 37 applicable non-pending scenarios (40 applicable, 3 pending). - The output can therefore report Tier 1 without assessing all final-2026 requirements.
For a default run with no --spec-version:
- Client tier-check invokes
--suite all. - Two optional March 2025 OAuth backcompat scenarios with
removedIn: '2025-06-18'enter the scored denominator. - Those scenarios are also run with the latest default wire version rather than a version inside their applicability window.
- In this reproduction, required current-profile scenarios passed, but those two removed scenarios reduced the displayed client rate from 100% to 18/20 (90%) and the aggregate result from Tier 1 to Tier 2.
The Tier policy says scores should use the SDK's target specification and exclude legacy backcompat unless the SDK claims it: https://modelcontextprotocol.io/community/sdk-tiers
Schema drift
src/spec-types/SOURCE currently pins pre-final spec commit 71e306956a4959c9655e5036be215d41986596e6, and scripts/sync-schema.ts vendors only the older dated schemas plus mutable draft.
The final 2026-07-28 schema includes changes completed before the final tag, including the SubscriptionsListenResultResponse envelope from modelcontextprotocol/modelcontextprotocol#3158. Final-2026 validation should use an immutable vendored schema/2026-07-28, not the pre-final draft snapshot.
Expected behavior
- Treat
2026-07-28as a dated, latest, Tier-scoring release. - Make the default Tier conformance target the latest dated release, while retaining explicit older-profile assessment.
- Exclude removed legacy scenarios and extensions from the default target profile; keep them selectable for intentional compatibility/extension testing.
- Include all applicable, non-pending final-2026 client and server scenarios in the scored assessment.
- Vendor and route final-2026 wire validation to the immutable final schema.
- Preserve a useful
drafttarget even while the spec repository's draft wireprotocolVersionis temporarily identical to the latest final date.
Proposed implementation direction
One coherent change could:
- Add
2026-07-28to the dated versions and make it latest. - Represent whether there is a distinct unreleased draft separately from the draft wire identifier, deduplicating the version timeline and negotiable versions while both identifiers match.
- Keep the draft suites empty until a distinct unreleased draft exists, so final-introduced scenarios become active and scored.
- Default tier-check conformance to
LATEST_SPEC_VERSIONinstead of the aggregateallsuite. - Vendor
schema/2026-07-28at the final tag and route dated validation to it.
The important design question is whether maintainers prefer this small has distinct draft model or a larger separation between CLI spec targets (draft versus dated releases) and wire protocolVersion values. I am happy to implement the agreed direction with inventory, tier-output, schema-routing, and backward-profile regression tests.
- Lingua principale
- TypeScript
- Stelle
- 127
- Fork
- 107
- Merge medio
- 4g 22h
- PR unite (30g)
- 5
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di modelcontextprotocol/conformance
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
modelcontextprotocol/conformance#531 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
modelcontextprotocol/conformance#530 ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
modelcontextprotocol/conformance#519 ·
I maintainer di solito rispondono entro 4 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
modelcontextprotocol/conformance#315 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
modelcontextprotocol/conformance#312 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di modelcontextprotocol/conformance
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
betagouv/mon-entreprise#4699 ·
I maintainer di solito rispondono entro 3 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
jaegertracing/jaeger-ui#4547 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
ai-driven-qa
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
linagora/twake-calendar-frontend#1467 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
need4deed-org/sdk#267 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
auth0/universal-login#414 ·
I maintainer di solito rispondono entro 1 giorno