docs: 0.7.0 consistency pass — dual-era claims everywhere, stale docs removed - #88
Merged
Conversation
…cumenter pages with the dual-era surface Docs-only (plus one stale source comment). Fixes every finding from the post-#87 docs audit: - README: 2026-07-28 dual-era claims, full 0.7.0 feature list, conformance bullet, ResourceTemplate as fourth component type, RS-only OAuth boundary, Learn More links - api_overview.md: all 72 exports documented (auth surface, versioning, MRTR, notifications added); four stale "not implemented" blocks removed; broken examples fixed (ResourceLink fields, positional start!, ToolParameter without description); dual-era version prose throughout - docs/src/api.md: false "transports not exported" admonition replaced with @docs; 34 missing exports curated (OAuth, versioning, transports, MCPIcon); duplicate public @autodocs blocks dropped; internal-API Pages extended - Feature/infra pages: modern-era coverage (SEP-2243 subsection, subscriptions/listen, completions sections), auto-registration corrected to one-component-per-file (loader registers only the final expression), HttpTransport kwargs with true defaults, non-running examples repaired - docs/CLAUDE.md guidance updated so future doc work states both eras - src/protocol/handlers.jl: comment-only fix (legacy input_required guard cited the tasks extension as unimplemented) Gates: full suite 1965/1965; Documenter build clean (duplicate-docs warnings eliminated, checkdocs :exports passes). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rts() gating, status-code table, one-component-per-file example Codex review of PR #88 (4 BLOCK / 3 WARN / 2 NIT, all verified against src and applied): - examples.md + api.md: HTTP startup examples now connect() before start! (start! only assigns the transport; a disconnected one exits the loop) - api_overview.md + CLAUDE.md: supports() gating examples merge ctx.protocol_version (modern) with ctx.state.protocol_version (legacy) — the old pattern threw MethodError on modern requests - api_overview.md: auto-registration example split to one tool per file with the final-expression contract stated; progress routing and send_progress return semantics corrected; CallToolResult.content documented as accepting Content objects (auto-converted); InputRequest marked internal with AbstractVector signature; era-tagged store wording aligned with modern.md - transports.md: status table distinguishes missing session (400) from invalid session (401) and lists -32021 alongside -32020/-32022 - docs/CLAUDE.md: sample templates updated to the dual-era model Gates: suite 1965/1965, Documenter build clean (4 pre-existing warnings), api_overview julia blocks parse. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ontent-format contradictions, qualified InputRequest - concurrency summary no longer ties POST SSE to synchronous handlers only: subscriptions/listen notifications ride their stream's captured POST route wherever they originate; the GET fallback is scoped to legacy background task progress - the two remaining "must be pre-serialized dictionaries" claims (pitfall 10, Type System Notes) now state both accepted forms - every InputRequest mention qualified as ModelContextProtocol.InputRequest or reworded; return-type lines note the type is internal Suite 1965/1965; all api_overview julia blocks parse. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Post-#87 audit of every doc surface against the shipped 0.7.0 code found the pages #87 didn't touch lagging one-to-two eras behind. This PR is that consistency pass — docs-only, plus one comment-only fix in
src/protocol/handlers.jl.ResourceTemplateas the fourth component type, RS-only OAuth boundary, Learn More linksResourceLinkfields, positionalstart!,ToolParameterwithout its requireddescription); dual-era version prose at every top-level site@docs; 34 missing exports curated; duplicate public@autodocssplicing removed (~38 duplicate-docs warnings gone); internal-APIPageslists extended to the ten new source filesMcp-Namemethod set,subscriptions/listenas the modern notification stream, completion sections on prompts/resources; auto-registration corrected to one-component-per-file (the loader registers only a file's final expression);HttpTransportkwargs with true defaults; ~15 non-running examples repairedinput_requiredguard's comment claimed the tasks extension was unimplemented — reworded (behavior unchanged)The docs now state honestly that legacy
resources/subscriberecords interest without a delivery path — a follow-up PR wires actual legacy delivery before 0.7.0 registration.Gates
checkdocs = :exportspasses, duplicate-docs warnings eliminated (3 remaining warnings pre-exist this PR: submodule docstrings, linkcheck 308, navbar hint)@exampleblocks executed🤖 Generated with Claude Code