Skip to content

Commit b571283

Browse files
committed
docs(protocol): fix deprecation prose contradictions (codex review)
- sampling.rs module docs claimed ModelPreferences/ToolChoice/ToolChoiceMode/ ModelHint were "Types NOT deprecated" — contradicting the markers the fidelity sweep added (and the schema's own @deprecated on all three named interfaces). The prose now matches: those three are deprecated; the unmarked leftovers are ToolChoiceMode (no schema symbol of its own — it binds the inline mode union of the deprecated ToolChoice) and Role (used outside sampling). - roots.rs claimed notifications/roots/list_changed "was REMOVED entirely in DRAFT-2026-v1" — true of this crate's pinned schema.ts (zero bindings) but ambiguous as a live-spec claim, since the upstream lifecycle registry has removed nothing yet. Reworded to the pinned-schema-scoped form per the review doc's Authority note. - logging.rs had the same "REMOVED entirely" phrasing for logging/setLevel (caught by the slice-completion grep) — same pinned-schema-scoped rewording, plus the per-request opt-in is correctly described as itself deprecated.
1 parent b42c72b commit b571283

3 files changed

Lines changed: 18 additions & 10 deletions

File tree

crates/turul-mcp-protocol-2026-07-28/src/logging.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212
//! `META_KEY_TRACEPARENT` etc. in [`crate::meta`]).
1313
//!
1414
//! The per-request log level mechanism ([`crate::meta::RequestMetaObject::log_level`])
15-
//! is the replacement opt-in. `logging/setLevel` was REMOVED entirely in
16-
//! DRAFT-2026-v1 — clients now declare desired level per-request.
15+
//! is the replacement opt-in (itself SEP-2577-deprecated — see above). The
16+
//! `logging/setLevel` RPC has no binding in this crate's pinned `schema.ts`
17+
//! (the stateless redesign replaced it with the per-request opt-in); clients
18+
//! declare the desired level per request.
1719
//!
1820
//! The wire-payload types ([`crate::notifications::LoggingMessageNotification`]
1921
//! and [`crate::notifications::LoggingMessageNotificationParams`]) live in

crates/turul-mcp-protocol-2026-07-28/src/roots.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,12 @@
1010
//! Replacement: pass directories or files via tool parameters, resource URIs,
1111
//! or server configuration.
1212
//!
13-
//! Note: the `notifications/roots/list_changed` notification was REMOVED
14-
//! entirely in DRAFT-2026-v1 (not just deprecated). Only the request/response
15-
//! surface remains during the 12-month migration window.
13+
//! Note: `notifications/roots/list_changed` is **absent from this crate's
14+
//! pinned `schema.ts`** (no `RootsListChangedNotification` binding exists),
15+
//! unlike the request/response surface above, which is deprecated-but-present
16+
//! through the 12-month migration window. The upstream lifecycle registry has
17+
//! not removed any deprecated feature yet — this describes the pinned schema,
18+
//! not a lifecycle-policy removal.
1619
1720
use serde::{Deserialize, Serialize};
1821
use serde_json::Value;

crates/turul-mcp-protocol-2026-07-28/src/sampling.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,14 @@
1313
//! `CreateMessageRequestParams.include_context` values `"thisServer"` and
1414
//! `"allServers"`. Omit the field or use `"none"`.
1515
//!
16-
//! Types NOT deprecated:
17-
//! - [`Role`] — used outside sampling (e.g. by `Annotations.audience` in `meta`).
18-
//! - [`ModelPreferences`], [`ToolChoice`], [`ToolChoiceMode`], [`ModelHint`] —
19-
//! referenced by the in-spec `sampling/createMessage` shape and the SEP-2322
20-
//! MRTR `InputRequest::CreateMessage` variant during the migration window.
16+
//! [`ModelPreferences`], [`ToolChoice`], and [`ModelHint`] carry their own
17+
//! schema `@deprecated` markers and are `#[deprecated]` here accordingly;
18+
//! they remain referenced by the `sampling/createMessage` shape and the
19+
//! SEP-2322 MRTR `InputRequest::CreateMessage` variant through the migration
20+
//! window. [`ToolChoiceMode`] has no schema symbol of its own (it binds the
21+
//! inline `mode` union of the deprecated [`ToolChoice`]) and is left
22+
//! unmarked. The only genuinely non-deprecated export is [`Role`], which is
23+
//! used outside sampling (e.g. by `Annotations.audience` in `meta`).
2124
2225
use crate::content::ContentBlock;
2326
use serde::{Deserialize, Serialize};

0 commit comments

Comments
 (0)