Skip to content

docs(readme): a plain read that fails counts nothing, even when degraded (LAB-11422) - #322

Merged
27b-merge-warden[bot] merged 1 commit into
mainfrom
docs/lab-11422-readme-failed-read-counting
Nov 10, 2026
Merged

27b-merge-warden[bot] merged 1 commit into
mainfrom
docs/lab-11422-readme-failed-read-counting

Conversation

@27Bslash6

Copy link
Copy Markdown
Contributor

The README's telemetry paragraph now says a plain read that fails counts nothing, even when degradation returns null (false from exists()) in its place. This covers a backend failure, or an L2 entry that fails to decrypt or decode. The behaviour has been in place since the one-outcome-per-call change (#265): getEntry returns null from the degraded fetch or after recordFailure('l2_decode', …) without recording a hit or a miss, and exists() records only inside its executor callback. The README did not say so.

README only, with no code change.

@kodus-27b

kodus-27b Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

Code Review Completed! 🔥

The code review was successfully completed based on your current configurations.

Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the `@kody start-review` command at the root of your PR.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Providing Context (Files & MCPs)

Add these hints in your PR description (or a comment) to unlock deeper checks:

  • Ticket / Acceptance Criteria: `Refs: ABC-123` (Linear/Jira/Asana/ClickUp/Trello) or a direct ticket link.
  • Bugfix Validation: a Sentry/Datadog/Bugsnag event link (or paste the stack trace/error message).
  • Endpoint Risk: mention the route (e.g., `POST /api/payments`) or controller/action name.
  • Attach a repo file as context: use an explicit marker like `@file:docs/guide.mdx#L10-L50` (replace with your real path).
  • API Contract Docs: include `@file:openapi.yaml` or `@file:swagger.json` when changing routes/schemas.
  • Definition of Done / Standards: include `@file:DOD.md` or `@file:CONTRIBUTING.md` if your repo has them.
  • Design System Source of Truth: include `@file:ui/index.ts` (replace with your DS entrypoint path).
  • Feature Flags: include the flag key/name and `@file:flags.ts` / `@file:config.json` (and optionally the PostHog flag name).
  • Edge/CDN Rules: link the Cloudflare rule/zone or describe the intended redirect/header behavior.
  • Attach an MCP tool output: use `@mcp<provider|tool>` (replace with an installed MCP provider + tool, e.g., `@mcp<sentry|events.search>`).
Current Kody Configuration
Review Options

The following review options are enabled or disabled:

Options Enabled
Bug ✅
Performance ✅
Security ✅
Business Logic ✅

Access your configuration settings here.

@coderabbitai

coderabbitai Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Summary by CodeRabbit

  • Documentation
    • Clarified how telemetry counts hits and misses for get(), exists(), and wrap() calls, including failed reads and degraded responses.

Walkthrough

The telemetry documentation now describes how plain get() and exists() calls count hits, misses and failed reads. It also states that wrap() calls count one outcome separately.

Changes

Telemetry documentation

Layer / File(s) Summary
Document read accounting
packages/cachekit/README.md
The README describes hit and miss counting for plain reads. Failed reads count nothing, including when degradation substitutes a return value. It also distinguishes wrap() outcome counting.

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

Change: Other

Possibly related PRs

Suggested reviewers: kodus-27b

Merge Risk: Minimal · up to b20df

The documentation change is ready to merge.

Pre-merge checks: Passed 5

Check name Status Explanation
Title check Passed The title clearly summarises the README change: failed plain reads count nothing, even when degraded.
Description check Passed The description explains the telemetry behaviour and the README-only change.
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
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.
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

Finishing Touches

Generate unit tests (beta)

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Recent review info

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 5e08930 and b20df93.

Files selected for processing: 1

  • packages/cachekit/README.md

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

@codecov

codecov Bot commented Nov 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions

Copy link
Copy Markdown

Instruction counts: PASS

Head b20df93 against base 5e089301c03b331e4270581b0683b94eec14c363, Node v24.22.2, valgrind-3.26.0. Instructions per op on the main thread (bench:ir --compare); median of the repeats, A/A = (max − min) / median. A workload fails above +2.00% and warns above +1.00% (its own threshold: plaintext-set-1mb at +10.00%, napi-encrypted at +4.00%, warning at half); an A/A over 0.40% reads INCONCLUSIVE.

All 41 workloads: 41 ok
workload base Ir/op head Ir/op delta A/A base / head verdict
l1-get-hit 1,203 1,203 0.00% 0.00% / 0.00% ok
l1-set-at-capacity-1k 6,374 6,374 0.00% 0.00% / 0.00% ok
l1-set-at-capacity-10k 4,156 4,156 0.00% 0.00% / 0.00% ok
l1-set-at-capacity-100k 4,353 4,353 0.00% 0.00% / 0.00% ok
plaintext-set-1kb 219,743 219,776 +0.02% 0.00% / 0.00% ok
plaintext-set-10kb 1,849,124 1,849,129 +0.00% 0.00% / 0.00% ok
plaintext-set-100kb 18,088,136 18,087,941 -0.00% 0.00% / 0.00% ok
plaintext-set-64b 43,149 43,146 -0.01% 0.00% / 0.00% ok
plaintext-set-64b-metrics 48,397 48,340 -0.12% 0.00% / 0.01% ok
plaintext-set-1kb-metrics 224,395 224,354 -0.02% 0.01% / 0.02% ok
plaintext-set-1mb 178,113,546 178,091,921 -0.01% 0.00% / 0.00% ok
plaintext-set-containers 1,400,481 1,400,472 -0.00% 0.00% / 0.00% ok
keygen 12,356 12,356 0.00% 0.00% / 0.00% ok
keygen-1kb 276,267 276,267 0.00% 0.00% / 0.00% ok
keygen-wasm 15,931 15,931 0.00% 0.00% / 0.00% ok
keygen-wasm-1kb 315,757 315,757 0.00% 0.00% / 0.00% ok
serializer-roundtrip 379,774 379,774 0.00% 0.00% / 0.00% ok
napi-envelope 45,512 45,512 0.00% 0.00% / 0.00% ok
napi-envelope-40b 16,070 16,070 0.00% 0.00% / 0.00% ok
napi-envelope-64kb 498,933 498,935 +0.00% 0.00% / 0.00% ok
wasm-envelope 58,979 58,983 +0.01% 0.00% / 0.01% ok
wasm-envelope-40b 14,532 14,532 0.00% 0.00% / 0.00% ok
wasm-envelope-64kb 904,560 904,588 +0.00% 0.00% / 0.00% ok
napi-encrypted 44,414 44,414 0.00% 0.00% / 0.00% ok
napi-encrypted-64kb 849,901 849,902 +0.00% 0.00% / 0.00% ok
wasm-encrypted 324,820 324,820 0.00% 0.00% / 0.00% ok
wasm-encrypted-64kb 32,108,142 32,108,151 +0.00% 0.00% / 0.00% ok
secure-set-get 486,877 486,915 +0.01% 0.00% / 0.00% ok
secure-set-100b 72,270 72,273 +0.00% 0.00% / 0.00% ok
get-l1-hit 2,113 2,112 -0.05% 0.00% / 0.00% ok
secure-get-l1-hit 50,841 50,842 +0.00% 0.00% / 0.00% ok
wrap-l1-hit 17,021 17,021 0.00% 0.00% / 0.00% ok
wrap-l1-hit-metrics 16,977 16,977 0.00% 0.00% / 0.00% ok
get-l2-hit-metrics 236,704 236,698 -0.00% 0.01% / 0.00% ok
get-l2-hit-l1-metrics 243,316 243,292 -0.01% 0.00% / 0.01% ok
secure-wrap-l1-hit-100b 58,709 58,707 -0.00% 0.00% / 0.00% ok
secure-wrap-l1-hit-10kb 1,518,346 1,518,202 -0.01% 0.00% / 0.00% ok
secure-wrap-l1-hit-1mb 238,789,340 238,782,139 -0.00% 0.05% / 0.05% ok
wrap-l1-hit-cachekitio 17,047 17,047 0.00% 0.00% / 0.00% ok
wrap-l1-hit-int-cachekitio 2,363 2,363 0.00% 0.00% / 0.00% ok
wrap-l1-hit-int 2,352 2,352 0.00% 0.00% / 0.00% ok

Run log

@27b-merge-warden
27b-merge-warden Bot merged commit 18d16b6 into main Nov 10, 2026
24 checks passed
@27b-merge-warden
27b-merge-warden Bot deleted the docs/lab-11422-readme-failed-read-counting branch November 10, 2026 10:48
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