Skip to content

LAB-446: per-backend TTL inspection note (Python File full, Memcached refresh-only) - #27

Merged
27Bslash6 merged 4 commits into
mainfrom
lab-446-ttl-inspection-matrix
Jul 24, 2026
Merged

LAB-446: per-backend TTL inspection note (Python File full, Memcached refresh-only)#27
27Bslash6 merged 4 commits into
mainfrom
lab-446-ttl-inspection-matrix

Conversation

@27Bslash6

@27Bslash6 27Bslash6 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

LAB-446: per-backend TTL inspection note (Python)

Companion to cachekit-io/cachekit-py#230 (LAB-446). Keeps the cross-SDK matrix honest now that Python's per-backend TTL-inspection support has changed.

  • Python File backend now implements full TTL inspection/refresh (TTLInspectableBackend).
  • Python Memcached implements refresh_ttl (via touch) only, not get_ttl — the Memcached protocol has no command to read a key's remaining TTL and pymemcache's HashClient exposes no meta protocol — so it is not a full TTLInspectableBackend and refresh_ttl_on_get does not apply to it.

Adds a per-backend note under the TTL management row (the row itself was already SDK-level for Python) and refreshes the last-updated line. The note also records that rs (LAB-429) and ts (LAB-430) must match this split (refresh-only Memcached, full File) when those backends land there.

No spec / wire-format / encryption changes — documentation only.

Summary by CodeRabbit

  • Documentation
    • Updated the SDK feature matrix with the latest revision date.
    • Added guidance on inspecting and refreshing file-backend TTLs in Python.
    • Documented Memcached TTL refresh behaviour, including its refresh-only limitation.
    • Clarified Python TTL management support and when automatic TTL refresh applies.
    • Added references for tracking equivalent capabilities across other SDKs.

The Python File backend now implements full TTL inspection/refresh
(TTLInspectableBackend). Memcached implements refresh_ttl (via touch) only,
NOT get_ttl (no protocol command to read remaining TTL; pymemcache HashClient
exposes no meta protocol), so it is not a full TTLInspectableBackend and
refresh_ttl_on_get does not apply to it.

Add a per-backend note under the TTL management row and refresh the
last-updated line. rs (LAB-429) and ts (LAB-430) must match this split
(refresh-only Memcached, full File) when they add those backends.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

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: 28 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: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 8fa2c7ef-a3ac-49fe-886c-b24895e4446e

📥 Commits

Reviewing files that changed from the base of the PR and between c4061b1 and 958f5b5.

📒 Files selected for processing (1)
  • sdk-feature-matrix.md

Walkthrough

The SDK feature matrix now reflects the 2026-07-21 update and documents Python file backend TTL inspection/refresh alongside Memcached refresh_ttl touch behaviour and related cross-SDK tracking.

Changes

TTL management documentation

Layer / File(s) Summary
Backend TTL capability notes
sdk-feature-matrix.md
Updates the date banner, Python TTL management status, supported backends, Memcached refresh-only behaviour, and Rust/TypeScript parity references.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and accurately summarises the main documentation change about backend-specific TTL inspection and Memcached refresh-only behaviour.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch lab-446-ttl-inspection-matrix

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

@27Bslash6

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@27Bslash6

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@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 `@sdk-feature-matrix.md`:
- Around line 94-95: Remove the blank line after the lock ID transport
blockquote in sdk-feature-matrix.md, or prefix that line with “>”, so the
following TTL note remains within one continuous blockquote and satisfies
Markdownlint MD028.
🪄 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: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 1673604d-60b7-49d7-b858-a1c51ea758ca

📥 Commits

Reviewing files that changed from the base of the PR and between 891d1bf and c4061b1.

📒 Files selected for processing (1)
  • sdk-feature-matrix.md

Comment thread sdk-feature-matrix.md Outdated
Resolve sdk-feature-matrix.md conflicts between LAB-446 (Python per-backend
TTL: File full, Memcached refresh-only) and LAB-273's matrix rewrite:

- TTL management row: union of both — keep LAB-273's per-backend precision,
  add File + Memcached refresh-only from LAB-446.
- Backend Abstraction optional-capabilities table (LAB-273, audited
  2026-07-20): Python TTL row was stale vs cachekit-py#230 (merged
  2026-07-21) — now Redis/SaaS/File full, Memcached refresh_ttl only.

Co-authored-by: multica-agent <github@multica.ai>
coderabbitai[bot]
coderabbitai Bot previously approved these changes Jul 23, 2026
Co-authored-by: multica-agent <github@multica.ai>
Co-authored-by: multica-agent <github@multica.ai>
@27Bslash6
27Bslash6 merged commit 5ecee7f into main Jul 24, 2026
2 checks passed
@27Bslash6
27Bslash6 deleted the lab-446-ttl-inspection-matrix branch July 24, 2026 02:40
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