oxhq/cachelet-core
Core caching utilities for Laravel: a driver-agnostic cache layer with tagged entries, TTL helpers, remember-style callbacks, and consistent key generation. Provides the shared foundation for Cachelet packages and custom cache adapters.
Architecture fit. Cachelet Core is described only as a "core runtime," and v0.1.0 ships with no capability statement, API documentation, or usage example. On name and framing alone, the most plausible architecture is a cache abstraction layer — which is structurally favorable: caching sits at the perimeter of the domain, so a defect or a swap-out has a bounded blast radius compared with, say, an ORM or auth package. The material unknown is where it sits. If it registers as a Laravel cache store against Illuminate\Contracts\Cache\Store, integration is a config change. If it is a parallel abstraction, adoption means either a redundant second cache tier or a wrapper layer we own and maintain — a meaningfully worse outcome. The phrase "core runtime" also raises the possibility that v0.1.0 is a dependency of sibling Cachelet packages not yet released, in which case it delivers no end-user capability today and should be treated as a watch-list item rather than an adoption candidate.
Integration feasibility. Mechanically low: a Composer package in a monorepo split implies PSR-4 autoloading and standard version constraints. The real feasibility question is not install cost but verification cost — with no documented Laravel/PHP support matrix, no service provider reference, and no published config surface, we cannot estimate effort from the artifact. A read-only split additionally means any defect we hit cannot be patched at the package level without a fork; the contribution path runs exclusively through the upstream monorepo at github.com/oxhq/cachelet.
Technical risk.
oxhq), first public release, no stated security policy, no signed releases or provenance attestation, no maintainer roster. Standard due diligence applies before this enters a production dependency graph.composer require in a scratch project.Key questions.
Illuminate\Contracts\Cache\Store, PSR-16, PSR-6, or a bespoke interface?composer.json?SECURITY.md and a disclosure process?Stack fit. Unconfirmed pending a support-matrix read. The decisive test is whether Cachelet slots beneath the existing Cache facade without application-code changes. If it does, fit is high and the change is operationally reversible. If it requires call-site rewrites, fit is conditional and the change becomes a refactor with a caching motivation — a poor trade at v0.1.0 maturity.
Migration path. Treat this as additive and shadowable rather than a cutover. Sequence: install in a disposable branch, wire alongside the incumbent cache behind a feature flag, run dual-write with shadow reads against the existing store, and diff hit rate, latency, and value fidelity over a representative traffic window. Because the package is pre-1.0, favour an integration we can abandon by removing a flag over one that requires reverting application code.
Compatibility. Resolve constraints with composer why-not against our pinned illuminate/*, symfony/cache, and PHP versions before any code is written. Watch specifically for illuminate/support and psr/simple-cache version-range conflicts, and for a PHP floor above our oldest supported runtime. Verify the split repository's tags actually resolve — a split repo with no reachable tag is a dead dependency.
Sequencing.
Maintenance. Read-only split is the dominant operational cost. Local patches are not viable as a steady state; any fix requires an upstream PR into the monorepo and a wait for the next split release. Budget for either a maintained fork (with its own rebase burden) or an accepted dependency on upstream responsiveness. Assign an owner to track upstream commits and split releases; without that, we discover divergence at the worst possible moment.
Support. No SLA, no LTS, no stated support window. v0.1.0 should be treated as vendor-supported on a best-effort basis only. Confirm who carries the pager if the cache layer misbehaves in production — if the answer is "the team that adopted it," that is a real and unbudgeted cost.
Scaling. Entirely a function of the backend it targets, which is currently unknown. Points to watch as load grows: per-request wrapper overhead, serialization cost on large values, key cardinality and eviction pressure, and memory ceiling on any in-process tier. Any per-request allocation added by a runtime layer is paid on every request, including cache hits.
Failure modes.
Each of these needs an explicit documented answer before production, and the package currently documents none of them.
Ramp-up. Engineer ramp-up is modest in concept but front-loaded in investigation, because the documentation is a single paragraph. Assume the source is the specification. Realistic estimate: half a day to assess fit, one to two days to a defensible pilot, plus ongoing ownership of upstream tracking. The larger organisational cost is the precedent — adopting a 0.1.0 package with no support matrix, security policy, or maintainer accountability sets a bar that will be cited by the next proposal.
Recommendation. Baseline assessment, provisional. Place Cachelet Core v0.1.0 on a watch-list, not an adoption track. Commission the time-boxed spike only if a specific capability gap in our current cache stack is identified first; otherwise revisit at v0.3.0 or at first 1.0.0 release candidate, whichever comes first, and re-evaluate against documentation, a published support matrix, and a security policy.
How can I help you explore Laravel packages today?