{"version":"2.1.187","anchor":"per-context-bootstrap-data-cache-in-development","canonical_anchor":"per-context-bootstrap-data-cache-in-development","heading":"Per-context bootstrap data cache [In Development]","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.187\/e\/per-context-bootstrap-data-cache-in-development","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.187","markdown":"### Per-context bootstrap data cache [In Development]\n\n**What**\n\nBootstrap data (client configuration, model options, costs) will be cached on a per-context key (entrypoint + model + org UUID + CC version) rather than a single global cache slot, allowing different sessions or entrypoints to carry their own cached data without overwriting each other.\n\n**Status**\n\nActive \u2014 `tengu_client_data_cache_key` is a telemetry-only gate, not a feature gate. The per-context caching is written and read regardless; the gate only controls whether cache hit\/miss\/stale\/changed stats are reported to telemetry.\n\n**Details**\n\n- Cache key is composed of: entrypoint + model + org UUID + CC version \u2014 so CLI and IDE extension sessions never clobber each other's cached model\/org config\n- New `clientDataCacheSlots` config key stores keyed entries; legacy `clientDataCache` (global single slot) is still read as a fallback when no matching slot exists (`legacy_fallback: true` in telemetry)\n- Telemetry tracks four outcomes per fetch: `slot_hit`, `slot_changed` (remote data differs from cached), `legacy_fallback`, and `slot_stale` (cache older than the stale threshold)\n- If cache hit and data is unchanged and not stale, the bootstrap write is skipped entirely\n\n**Evidence**\n\nNew slot-keyed cache (search for `\"clientDataCacheSlots\"` or `\"tengu_client_data_cache_key\"`)"}