Skip to content

v6.38.0 — two-layer aggregation engine cache (ADR-227)

Choose a tag to compare

@cgbarlow cgbarlow released this 31 May 00:50
· 110 commits to main since this release
ace3a66

Added

  • Two-layer aggregation engine cache (ADR-227, SPEC-227-A).
    • Layer 1: per-request memoisation via ContextVar. Repeated calls within one render for the same (profile_id, source_diagram_id) (or the same element row / count / display name) share a single result.
    • Layer 2: process-wide version-keyed LRU (maxsize=512). On hit, two validation queries (profile updated_at + batched diagrams current_version) replace the 50–150 engine queries.
    • Implicit invalidation via version bumps — no explicit eviction hooks.
    • New AggregationResult.profile_updated_at field supports revalidation.

PR: #258