# Concelier LNM Linkset Cache with Telemetry ## Module Concelier ## Status IMPLEMENTED ## Description PostgreSQL-backed deterministic cache for Link-Not-Merge advisory linksets with telemetry instrumentation, OpenAPI spec, and deprecation headers. While "Link-Not-Merge Advisory Architecture" is in the known list, this specific linkset caching with persistence and telemetry is a distinct implementation detail. ## Implementation Details - **Modules**: `src/Concelier/__Libraries/StellaOps.Concelier.Core/Linksets/`, `src/Concelier/__Libraries/StellaOps.Concelier.Persistence/`, `src/Concelier/__Libraries/StellaOps.Concelier.Cache.Valkey/` - **Key Classes**: - `LinksetCorrelationService` (`src/Concelier/__Libraries/StellaOps.Concelier.Core/Linksets/LinksetCorrelationService.cs`) - main service for linkset correlation and caching - `LinksetCorrelationV2` (`src/Concelier/__Libraries/StellaOps.Concelier.Core/Linksets/LinksetCorrelationV2.cs`) - V2 algorithm for linkset correlation - `LinksetCorrelation` (`src/Concelier/__Libraries/StellaOps.Concelier.Core/Linksets/LinksetCorrelation.cs`) - V1 linkset correlation logic - `ValkeyAdvisoryCacheService` (`src/Concelier/__Libraries/StellaOps.Concelier.Cache.Valkey/ValkeyAdvisoryCacheService.cs`) - Valkey-backed caching layer - `AdvisoryCacheKeys` (`src/Concelier/__Libraries/StellaOps.Concelier.Cache.Valkey/AdvisoryCacheKeys.cs`) - deterministic cache key generation - **Interfaces**: `ILinksetCorrelationService`, `IAdvisoryCacheService` - **Source**: Sprint 0112 (batch_14/file_13.md) ## E2E Test Plan - [ ] Request a linkset for a known CVE and verify the correlation result is returned - [ ] Verify caching: request the same linkset twice and confirm the second call is served from cache - [ ] Verify telemetry: confirm cache hit/miss metrics are emitted via OpenTelemetry - [ ] Verify determinism: identical linkset inputs produce identical cache keys via `AdvisoryCacheKeys` - [ ] Verify V2 algorithm: use `LinksetCorrelationV2` and verify improved correlation accuracy over V1