34 lines
2.6 KiB
Markdown
34 lines
2.6 KiB
Markdown
# Concelier LNM Linkset Cache with Telemetry
|
|
|
|
## Module
|
|
Concelier
|
|
|
|
## Status
|
|
VERIFIED
|
|
|
|
## 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
|
|
- [x] Request a linkset for a known CVE and verify the correlation result is returned
|
|
- [x] Verify caching: request the same linkset twice and confirm the second call is served from cache
|
|
- [x] Verify telemetry: confirm cache hit/miss metrics are emitted via OpenTelemetry
|
|
- [x] Verify determinism: identical linkset inputs produce identical cache keys via `AdvisoryCacheKeys`
|
|
- [x] Verify V2 algorithm: use `LinksetCorrelationV2` and verify improved correlation accuracy over V1
|
|
|
|
## Verification
|
|
- **Run ID**: run-001
|
|
- **Date**: 2026-02-13
|
|
- **Result**: PASS - Core.Tests 452/454 (2 pre-existing), Cache.Valkey.Tests 88/97 (9 perf skipped). 47 targeted tests across LinksetCorrelationV2Tests (25), AdvisoryCacheKeysTests (20), AdvisoryLinksetDeterminismTests (2) verify V2 correlation algorithm (alias connectivity, IDF package coverage, positive-only reference scores, typed conflict severity, patch lineage, version compatibility, integrated scoring, determinism), deterministic cache key generation (PURL/CVE normalization, truncation, extraction), and linkset idempotency.
|