feat: add specVersion classification to conformance scenarios (#147)

* feat: add specVersions classification to conformance scenarios

Each scenario declares which spec versions it applies to as a list.
Scenarios that carry forward (e.g. initialize) list all applicable versions
['2025-06-18', '2025-11-25']. Scenarios removed from newer specs (e.g.
backcompat auth) only list their original version ['2025-03-26'].

- specVersions list on Scenario and ClientScenario interfaces
- --spec-version CLI filter uses simple .includes()
- Tier-check conformance matrix (Server / Client: Core / Client: Auth)
  with per-version columns and unique All* count
- 7 unit tests for specVersions helpers
- Updated tier-audit skill docs with matrix format

* fix: fix console output template for tier audit skill

The template had an orphan table header (Check | Value | T2 | T1)
with no rows above the conformance matrix, causing an empty table
to render. The scorecard rows below the matrix also lacked their
own header.

Fix: two self-contained tables with clear labels — 'Conformance:'
for the per-version matrix, 'Scorecard:' for the check rows.

* fix: align skill console template with tier-check script output

Add asterisk footnote ('unique scenarios — a scenario may apply to
multiple spec versions') and rename 'Scorecard' to 'Repository Health'
to match the labels used by the tier-check CLI output.

* fix: add specVersions to CrossAppAccessCompleteFlowScenario

Added in 83c446d on main after this branch diverged.
This commit is contained in:
Felix Weinberger 2026-02-13 18:08:15 +00:00 • committed by GitHub
commit 3f9048a019
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2,11 +2,12 @@
* Utilities test scenarios for MCP servers
*/
import { ClientScenario, ConformanceCheck } from '../../types';
import { ClientScenario, ConformanceCheck, SpecVersion } from '../../types';
import { connectToServer } from './client-helper';
export class LoggingSetLevelScenario implements ClientScenario {
name = 'logging-set-level';
specVersions: SpecVersion[] = ['2025-06-18', '2025-11-25'];
description = `Test setting logging level.
**Server Implementation Requirements:**
@ -85,6 +86,7 @@ export class LoggingSetLevelScenario implements ClientScenario {
export class PingScenario implements ClientScenario {
name = 'ping';
specVersions: SpecVersion[] = ['2025-06-18', '2025-11-25'];
description = `Test ping utility for connection health check.
**Server Implementation Requirements:**
@ -174,6 +176,7 @@ export class PingScenario implements ClientScenario {
export class CompletionCompleteScenario implements ClientScenario {
name = 'completion-complete';
specVersions: SpecVersion[] = ['2025-06-18', '2025-11-25'];
description = `Test completion endpoint.
**Server Implementation Requirements:**