Priority
P2 — Medium — important hardening or API work after the safety foundations.
Problem
Every enabled invocation awaits cacheConfigProvider before local lookup and before exact-key single-flight. A slow provider can erase local-hit benefits, multiply config-store load across concurrent callers, or hang requests before coalescing can help. Even the no-custom-provider path crosses an async abstraction.
Evidence:
Open decisions
Choose whether memoization/coalescing is built in or opt-in, including cache granularity, refresh/invalidation, acceptable staleness, and timeout semantics.
Acceptance criteria
- Add a no-custom-provider fast path using the definition's static default policy.
- Define timeout and fail-open behavior.
- Add provider call, latency, timeout, and outcome metrics.
- Test concurrent same-key calls and live config changes.
- Benchmark no provider, synchronous provider, and asynchronous provider.
- Do not silently change dynamic-provider freshness semantics.
Priority
P2 — Medium — important hardening or API work after the safety foundations.
Problem
Every enabled invocation awaits
cacheConfigProviderbefore local lookup and before exact-key single-flight. A slow provider can erase local-hit benefits, multiply config-store load across concurrent callers, or hang requests before coalescing can help. Even the no-custom-provider path crosses an async abstraction.Evidence:
Open decisions
Choose whether memoization/coalescing is built in or opt-in, including cache granularity, refresh/invalidation, acceptable staleness, and timeout semantics.
Acceptance criteria