Priority
META — Tracking — umbrella only; not implementation work.
Current baseline
This tracker began with the deep API, performance, scalability, and correctness review of main@2bda04d1443a75a71cbbc41365c4424554936a37.
It is now reconciled against:
Forty implementation issues are tracked: 21 resolved and 19 open . Every P0 is resolved. The open backlog contains 4 P1, 8 P2, and 7 P3 issues after downgrading the speculative definition-handle work in #21 from P2 to P3.
Confirmed behavior and architecture decisions are recorded in their individual issues. Open decisions still require maintainer approval before implementation.
Recommended order
Resolve the remaining public-API question in https://github.com/lan17/DialCache/pull/68—whether to remove or retain deprecated MissingKeyConfigError—then finish Overlay runtime cache configuration on documented defaults #23 . The PR is otherwise ready for review at 4c5d516fc71e529723bbde9cdbd84786b3b4fc8d, with passing CI https://github.com/lan17/DialCache/actions/runs/29710409148 .
Approve and implement the narrow outage fix in Prevent Redis outages from amplifying latency, source load, and logs #38 : after a Redis read exception, run fallback but skip the second Redis write.
Resolve Align runtime support after Node 20 EOL #34 by selecting the maintained Node runtime floor. The current recommendation is Node 22+.
Measure the workload gates in Characterize and guard watermark cardinality and Redis Cluster hot slots #42 : distinct tracked-ID rate, watermark lifetime, and hottest-ID QPS.
Confirm the narrow correctness contracts in Recover safely from corrupt tracked watermark state #31 and Validate TTL and invalidation duration arithmetic consistently #33 .
Build the comparable harness in Add a repeatable performance and scale benchmark suite #35 before the measured hot-path work in Establish a local-hit performance budget and remove avoidable hot-path work #43 .
Resolve zero-capacity semantics in Make zero local capacity consistent and evaluate byte-aware limits #40 .
Implement the approved additive getOrLoad() API in Add an ergonomic getOrLoad() API for inline cache blocks #71 when API ergonomics becomes the focus.
Keep P3 work demand-driven.
P0 — Critical — all resolved
P1 — High
P2 — Medium
P3 — Low / demand-driven
Open decisions to batch-confirm
Dependency notes
Completion standard
Focused unit/integration/type coverage for the actual failure mode.
Breaking changes include migration and mixed-version/rollback notes.
Performance work reports reproducible before/after evidence.
No open design is implemented until its decision is explicitly approved.
Priority
META — Tracking — umbrella only; not implementation work.
Current baseline
This tracker began with the deep API, performance, scalability, and correctness review of
main@2bda04d1443a75a71cbbc41365c4424554936a37.It is now reconciled against:
main@34a45facfc4cb11ca7c08d5506e74b3dbcef4dd2dialcache@0.6.0Forty implementation issues are tracked: 21 resolved and 19 open. Every P0 is resolved. The open backlog contains 4 P1, 8 P2, and 7 P3 issues after downgrading the speculative definition-handle work in #21 from P2 to P3.
Confirmed behavior and architecture decisions are recorded in their individual issues. Open decisions still require maintainer approval before implementation.
Recommended order
MissingKeyConfigError—then finish Overlay runtime cache configuration on documented defaults #23. The PR is otherwise ready for review at4c5d516fc71e529723bbde9cdbd84786b3b4fc8d, with passing CI https://github.com/lan17/DialCache/actions/runs/29710409148.getOrLoad()API in Add an ergonomic getOrLoad() API for inline cache blocks #71 when API ergonomics becomes the focus.P0 — Critical — all resolved
flushAll()through feat: remove flushAll from public API #48useCaseP1 — High
P2 — Medium
getOrLoad()APIP3 — Low / demand-driven
Open decisions to batch-confirm
MissingKeyConfigErrornow, or retain its deprecated export?invalidateRemote()as the sole corrupt-watermark repair path, with no automatic repair subsystem or dedicated API/metric?localMaxSize: 0disable storage only, or make the process-local layer absent for policy/metrics/coalescing?contextmetrics sufficient?Dependency notes
Completion standard