Navigate

Astilba Cache · Development preview

Cache expensive server work without hiding the hard parts.

Explicit invalidation, classified stale-on-error behavior, privacy-aware storage scopes, and a portable capability boundary for TypeScript runtimes.

No npm package · Cache source is private · no supported production setup

01 · Fit

A server cache, deliberately

Fits

  • Database queries and upstream API responses
  • Related-value invalidation after mutations
  • User or tenant data with explicit sharing rules
  • A portable kernel tested on Node, Bun, and workerd

Does not fit

  • Browser request caching or component state
  • A source of truth for application data
  • A supported production cache today
  • Implicit sharing when identity affects the value

02 · Smallest honest path

A miss, one load, then a hit

The reviewed private source can exercise the portable kernel with a bounded in-memory store. Timing policy and production release gates remain incomplete.

Local executionone process · memory store
  1. Read product:sku-123MISS
  2. Run loadProduct()ORIGIN
  3. Store encoded resultWRITE
  4. Read product:sku-123HIT
2 reads1 origin load

03 · Guarantees and costs

The boundary is part of the API

GuaranteeBoundary made visible
Soft and hard invalidation have different meanings.Soft expiry may refresh or serve eligible stale data; hard deletion makes older values unreadable.
Origin failures are classified before stale data is reused.Transient failures may qualify; facts such as 403, 404, and 410 remain visible.
Strong reads pay for live authority.When coordinated invalidation is configured, a strong read checks the Registry before serving or filling.
Private dependencies make the rendered response private.Response cache tags are emitted only when every managed dependency has readable public scope.

04 · Release state

Implemented is not the same as released

Unreleased preview

Correctness kernelImplemented

Driver contractsImplemented

Cloudflare pathSource preview

React Router pathSource preview

Local chaos demoSource-only evidence app

Elapsed TTL and graceIncomplete

Public packageNot released