Skip to content

Commit 45f78cd

Browse files
committed
docs(adr-027): supersede stale "LoggingLevel is intentionally NOT deprecated"
The 2026-05-31 Slice A'' revision entry recorded the original exemption; the 2026-06-10 re-pin deprecates the whole Logging surface including LoggingLevel and the logLevel opt-in (markers absorbed in the SEP-2577 sweep; opt-in stays normative during the migration window). Inline SUPERSEDED marker added, pointing at COMPLIANCE.md's Logging row. Gates: rustdoc -D warnings clean. Markdown-only.
1 parent 520f8df commit 45f78cd

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

docs/adr/027-targeting-mcp-draft-2026-v1.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ Live status is in `docs/plans/2026-07-28-compliance-plan.md`. Per-symbol coverag
106106
- **A8 — New trait coverage for DRAFT-2026 RPCs**: `DiscoverRequestTrait`, `SubscriptionsListenRequestTrait` + `HasSubscriptionsListenParams`, `HasInputRequiredResult` (SEP-2322).
107107

108108
Test count 322 → 343 (+21 regression guards, including scientific-notation + overflow guards added during the P1 verifier sweep). See `crates/turul-mcp-protocol-2026-07-28/COMPLIANCE.md` §"Schema-fidelity corrections (Slice A' follow-up, 2026-05-31)". Note: A1 final form (untagged `String | serde_json::Number`) supersedes the initial `Number(i64)` after codex's P1 follow-up review caught that the latter rejected JSON floats like `1.5``serde_json::Number` losslessly preserves any JSON number.
109-
- **2026-05-31** — **Slice A'' (SEP-2577 deprecation annotations)** landed. Roots, Sampling, and Logging features are now marked `#[deprecated(since = "0.4.0", note = "...")]` at every type definition site. Earliest removal is the first release on/after 2027-07-28; annotation-only this revision per SEP-2577. `LoggingLevel` (the value type for the non-deprecated `RequestMetaObject.log_level` replacement) is intentionally NOT deprecated. Pre-existing duplicate `LoggingMessageNotification` definition (`logging.rs` vs `notifications.rs`) reconciled — `logging.rs` duplicate removed, field-getter trait impls moved onto the spec-aligned `notifications::LoggingMessageNotificationParams`. `#[allow(deprecated)]` cascade applied at internal cross-reference sites (notably the SEP-2322 `InputRequest`/`InputResponse` enums that wrap the deprecated types during the migration window). Final test count: 342 (159 lib + 179 + 3 + 1), 0 warnings, 0 doc warnings. See `crates/turul-mcp-protocol-2026-07-28/COMPLIANCE.md` §"SEP-2577 deprecation annotations (Slice A'' follow-up, 2026-05-31)".
109+
- **2026-05-31** — **Slice A'' (SEP-2577 deprecation annotations)** landed. Roots, Sampling, and Logging features are now marked `#[deprecated(since = "0.4.0", note = "...")]` at every type definition site. Earliest removal is the first release on/after 2027-07-28; annotation-only this revision per SEP-2577. `LoggingLevel` was intentionally NOT deprecated at this point (value type for the then-non-deprecated `RequestMetaObject.log_level` replacement) — **[SUPERSEDED 2026-06-10: the re-pinned schema deprecates the WHOLE Logging surface, including `LoggingLevel` and the `logLevel` opt-in; the markers were absorbed in the SEP-2577 sweep. The opt-in remains normative during the migration window. See COMPLIANCE.md §"SEP-2577 deprecation annotations" Logging row.]** Pre-existing duplicate `LoggingMessageNotification` definition (`logging.rs` vs `notifications.rs`) reconciled — `logging.rs` duplicate removed, field-getter trait impls moved onto the spec-aligned `notifications::LoggingMessageNotificationParams`. `#[allow(deprecated)]` cascade applied at internal cross-reference sites (notably the SEP-2322 `InputRequest`/`InputResponse` enums that wrap the deprecated types during the migration window). Final test count: 342 (159 lib + 179 + 3 + 1), 0 warnings, 0 doc warnings. See `crates/turul-mcp-protocol-2026-07-28/COMPLIANCE.md` §"SEP-2577 deprecation annotations (Slice A'' follow-up, 2026-05-31)".
110110

111111
- **2026-05-31****Status update: 0.4.0 ships DRAFT-2026-v1 as the default; Phase 9.4 (alias flip) moves INTO 0.4.0; `protocol-2025-11-25` opt-in feature is added on consumer crates.** Earlier deferral phrasing in §Consequences ("Downstream consumers can't yet use this crate. Flipping the alias is a deliberate later slice... depends on this crate reaching full compliance first.") is **superseded** by the §"Status update (2026-05-31)" subsection. The crate IS the new default; consumers don't need to wait. Publication of 0.4.0 to crates.io remains gated on (a) upstream RC stabilization or final 2026-07-28 publication, (b) maintainer explicit go-ahead, (c) Phase 9.4 cutover work completing across consumer crates (parked but tracked). Client-side mixed-spec connectivity moves to a separate dedicated ADR rather than this ADR's scope (see §"Status update (2026-05-31)" #5).
112112

0 commit comments

Comments
 (0)