Skip to content

Align design-doc §13.2 with the backend probe/resolve seam - #248

Open
leynos wants to merge 1 commit into
mainfrom
docs-backend-seam-alignment
Open

Align design-doc §13.2 with the backend probe/resolve seam#248
leynos wants to merge 1 commit into
mainfrom
docs-backend-seam-alignment

Conversation

@leynos

@leynos leynos commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Summary

Follow-up to the merged #224 backend seam refactor. CodeRabbit's post-merge "Developer Documentation" warning flagged that docs/cuprum-design.md still described get_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 "for is_rust_available() and get_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) and make nixie (all Mermaid diagrams validated) pass.

Summary by Sourcery

Documentation:

  • Update §13.2 of the Cuprum design document to describe that get_stream_backend() uses the _probe_rust_availability() seam and clarify it does not delegate directly to _check_rust_available(), adding a cross-reference to §13.4’s full resolution flow.

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>
@sourcery-ai

sourcery-ai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Documentation-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_backend

sequenceDiagram
    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
Loading

File-Level Changes

Change Details Files
Align §13.2 backend extension-architecture description with the implemented probe→resolve seam.
  • Clarify that get_stream_backend() is routed through the _probe_rust_availability() seam instead of directly delegating to _check_rust_available().
  • Add cross-reference to §13.4’s authoritative _parse_backend_value → _probe_rust_availability → _resolve_backend flow.
  • Explicitly state that get_stream_backend() does not call _check_rust_available() directly, removing ambiguity with other sections.
docs/cuprum-design.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 4 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: e46de200-b1af-440a-9f96-a375cbb08210

📥 Commits

Reviewing files that changed from the base of the PR and between 302858c and bc8e0a5.

📒 Files selected for processing (1)
  • docs/cuprum-design.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs-backend-seam-alignment

Comment @coderabbitai help to get the list of available commands.

codescene-access[bot]

This comment was marked as outdated.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@codescene-access codescene-access Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No quality gates enabled for this code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant