Align design-doc §13.2 with the backend probe/resolve seam - #248
Conversation
Section 13.2 still said the cached _check_rust_available() resolver wraps the probe "for is_rust_available() and get_stream_backend()", implying get_stream_backend() delegates to _check_rust_available() directly. That conflicts with the seam model §13.3/§13.4 already document, where get_stream_backend() resolves through _parse_backend_value -> _probe_rust_availability -> _resolve_backend and only _probe_rust_availability wraps the cached _check_rust_available(). Qualify the §13.2 sentence to route get_stream_backend() through the _probe_rust_availability() seam and cross-reference §13.4, so the document keeps one authoritative backend model. Docs-only; the #224 seam refactor is already merged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Reviewer's guide (collapsed on small PRs)Reviewer's GuideDocumentation-only update aligning the design doc’s description of the backend probe/resolve seam with the actual implementation, clarifying how get_stream_backend() uses the _probe_rust_availability() seam rather than delegating directly to _check_rust_available(). Sequence diagram for the updated backend probe/resolve seam used by get_stream_backendsequenceDiagram
participant Client
participant get_stream_backend
participant _parse_backend_value
participant _probe_rust_availability
participant _check_rust_available
participant _resolve_backend
Client->>get_stream_backend: get_stream_backend()
get_stream_backend->>_parse_backend_value: _parse_backend_value(config_backend)
_parse_backend_value-->>get_stream_backend: backend_value
get_stream_backend->>_probe_rust_availability: _probe_rust_availability(backend_value)
_probe_rust_availability->>_check_rust_available: _check_rust_available()
_check_rust_available-->>_probe_rust_availability: rust_available
_probe_rust_availability-->>get_stream_backend: probed_backend
get_stream_backend->>_resolve_backend: _resolve_backend(probed_backend)
_resolve_backend-->>get_stream_backend: backend_impl
get_stream_backend-->>Client: backend_impl
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 4 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Summary
Follow-up to the merged #224 backend seam refactor. CodeRabbit's post-merge "Developer Documentation" warning flagged that
docs/cuprum-design.mdstill describedget_stream_backend()as delegating to_check_rust_available(), conflicting with the implemented probe→resolve seam.The stale wording is in §13.2 (the "Extension Architecture" overview): it said the cached
_check_rust_available()resolver wraps the probe "foris_rust_available()andget_stream_backend()", implying a direct delegation. §13.3 and §13.4 already describe the authoritative seam model (_parse_backend_value→_probe_rust_availability→_resolve_backend, with only_probe_rust_availability()wrapping the cached_check_rust_available()).Change
Qualify the §13.2 sentence so
get_stream_backend()is fed through the_probe_rust_availability()seam, mirroring §13.3, and add a one-line cross-reference to §13.4's full resolution plus an explicit "does not delegate to_check_rust_available()directly". The document now keeps one authoritative backend model; the high-level flowchart (which never claimed direct delegation) is unchanged.Docs-only.
Validation
make markdownlint(49 files, 0 errors; spelling sub-target clean) andmake nixie(all Mermaid diagrams validated) pass.Summary by Sourcery
Documentation: