Split draft-spec scenarios into their own suite (#317)

* feat: split draft-spec scenarios into their own suite

- add --suite draft to the server command, selecting scenarios whose
  source.introducedIn is the draft protocol version
- exclude draft scenarios from the default active suite until the draft
  spec is published as a dated release
- derive the client command's draft suite from source.introducedIn so the
  non-auth draft scenarios (SEP-2243/2575/2322/2106) are included alongside
  the auth ones
- keep everything-server self-test coverage for draft scenarios in
  all-scenarios.test.ts (active + non-pending draft)
- document available suites in the README and add suite-membership tests

* fix: repair broken specReferences URLs

- SEP-986: SEP/SEP-986.md no longer exists in the spec repo; point at the
  Tool Names section of the published 2025-11-25 tools page instead
- SEP-990: the ext-auth spec file is enterprise-managed-authorization.mdx,
  not enterprise-oauth.mdx

Fixes #313
This commit is contained in:
Paul Carleton 2026-05-26 18:00:44 +01:00 • committed by GitHub
commit e2e65e5595
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -25,6 +25,7 @@ import {
listExtensionScenarios,
listBackcompatScenarios,
listDraftScenarios,
listDraftClientScenarios,
listScenariosForSpec,
listClientScenariosForSpec,
getScenarioSpecVersions,
@ -314,7 +315,7 @@ program
)
.option(
'--suite <suite>',
'Suite to run: "active" (default, excludes pending), "all", or "pending"',
'Suite to run: "active" (default, excludes pending and draft), "all", "draft", or "pending"',
'active'
)
.option(
@ -378,9 +379,13 @@ program
scenarios = listActiveClientScenarios();
} else if (suite === 'pending') {
scenarios = listPendingClientScenarios();
} else if (suite === 'draft') {
// Scenarios targeting the in-progress draft spec; excluded from
// 'active' until the draft is published as a dated release.
scenarios = listDraftClientScenarios();
} else {
console.error(`Unknown suite: ${suite}`);
console.error('Available suites: active, all, core, pending');
console.error('Available suites: active, all, core, draft, pending');
process.exit(1);
}