Skip to content

Keep runtime configuration lookup cheap and bounded #39

Description

@lan17

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions