Skip to content

Add AsyncKeyValue protocol to protocols.md#364

Open
GGOemea wants to merge 1 commit into
strawgate:mainfrom
GGOemea:patch-1
Open

Add AsyncKeyValue protocol to protocols.md#364
GGOemea wants to merge 1 commit into
strawgate:mainfrom
GGOemea:patch-1

Conversation

@GGOemea

@GGOemea GGOemea commented Jul 1, 2026

Copy link
Copy Markdown

Added AsyncKeyValue protocol for key-value store operations including basic and bulk operations.

Review in cubic

Added AsyncKeyValue protocol for key-value store operations including basic and bulk operations.
@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

This change updates the API documentation file docs/api/protocols.md to add a documented class signature for the AsyncKeyValue protocol, showing it as inheriting from AsyncKeyValueProtocol and Protocol, along with a docstring listing its basic operations (get, put, delete, ttl) and bulk operations (get_many, put_many, delete_many, ttl_many).

Changes

Cohort / File(s) Summary
Documentation (docs/api/protocols.md) Added class signature and docstring for AsyncKeyValue protocol documenting basic and bulk key-value operations

Related issues: None specified.

Related PRs: None specified.

Suggested labels: documentation

Suggested reviewers: strawgate

Poem

A rabbit hopped through docs today,
Found protocols with nothing to say,
Now AsyncKeyValue stands proud and clear,
With get, put, delete, and ttl near,
Six lines added, docs now complete—
A tidy burrow, no code to defeat! 🐇📄

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/api/protocols.md`:
- Around line 14-19: Remove the manually pasted source block for AsyncKeyValue
in the protocol docs and rely on the mkdocstrings ::: autogen output instead.
Keep the documented class via the existing directive and delete the duplicated
raw class/source lines so the rendered docs come only from autogen; if the
output is missing or incomplete, adjust the mkdocstrings configuration rather
than reintroducing source duplication.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: b0cb549d-67c0-4102-a1be-79d7cfe3127e

📥 Commits

Reviewing files that changed from the base of the PR and between 5929cff and 204d356.

📒 Files selected for processing (1)
  • docs/api/protocols.md

Comment thread docs/api/protocols.md
Comment on lines +14 to +19
class AsyncKeyValue(AsyncKeyValueProtocol, Protocol):
"""A protocol for key-value store operations.

Includes basic operations: get, put, delete, ttl
Includes bulk operations: get_many, put_many, delete_many, ttl_many.
"""

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.

📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Remove manual source duplication; rely on mkdocstrings autogen.

The ::: directive on line 9 with show_source: true and members: true already renders the class signature, docstring, and members. Pasting the raw source here (lines 14-19) duplicates that output and risks stale docs when the source changes.

Either drop lines 14-19 entirely, or if the autogen output isn't rendering correctly, fix the mkdocstrings configuration rather than manually duplicating source.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/api/protocols.md` around lines 14 - 19, Remove the manually pasted
source block for AsyncKeyValue in the protocol docs and rely on the mkdocstrings
::: autogen output instead. Keep the documented class via the existing directive
and delete the duplicated raw class/source lines so the rendered docs come only
from autogen; if the output is missing or incomplete, adjust the mkdocstrings
configuration rather than reintroducing source duplication.

@cubic-dev-ai cubic-dev-ai 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.

1 issue found across 1 file

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="docs/api/protocols.md">

<violation number="1" location="docs/api/protocols.md:14">
P1: Custom agent flagged.

Raw Python class definition pasted into markdown without code fences as duplicated filler/AI slop inside an mkdocstrings options block.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread docs/api/protocols.md
show_source: true
members: true
show_root_heading: true
class AsyncKeyValue(AsyncKeyValueProtocol, Protocol):

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1: Custom agent flagged.

Raw Python class definition pasted into markdown without code fences as duplicated filler/AI slop inside an mkdocstrings options block.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs/api/protocols.md, line 14:

<comment>Raw Python class definition pasted into markdown without code fences as duplicated filler/AI slop inside an mkdocstrings options block.</comment>

<file context>
@@ -11,3 +11,9 @@ composability.
       show_source: true
       members: true
       show_root_heading: true
+      class AsyncKeyValue(AsyncKeyValueProtocol, Protocol):
+    """A protocol for key-value store operations.
+
</file context>

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