save checkpoint: save features

This commit is contained in:
master
2026-02-12 10:27:23 +02:00
parent dca86e1248
commit 5bca406787
8837 changed files with 1796879 additions and 5294 deletions

View File

@@ -0,0 +1,38 @@
# Advisory Locks / LISTEN-NOTIFY
## Module
Platform
## Status
NOT_IMPLEMENTED
## Description
Advisory lock patterns are used in classification history for safe concurrent updates; LISTEN/NOTIFY patterns support real-time event propagation.
## Implementation Details
- **PlatformAnalyticsMaintenanceService**: `src/Platform/StellaOps.Platform.WebService/Services/PlatformAnalyticsMaintenanceService.cs` -- BackgroundService using PeriodicTimer to run analytics maintenance; calls `REFRESH MATERIALIZED VIEW CONCURRENTLY` for `analytics.mv_supplier_concentration`, `analytics.mv_license_distribution`, `analytics.mv_vuln_exposure`, `analytics.mv_attestation_coverage`; uses `SELECT analytics.compute_daily_rollups(@date)` for daily rollup computation
- **AnalyticsIngestionDataSource**: `src/Platform/StellaOps.Platform.Analytics/Services/AnalyticsIngestionDataSource.cs` -- PostgreSQL data source for analytics with connection management
- **VulnerabilityCorrelationService**: `src/Platform/StellaOps.Platform.Analytics/Services/VulnerabilityCorrelationService.cs` -- correlates vulnerabilities with SBOM components using PURL matching
- **ScannerOrchestratorEvents**: `src/Platform/StellaOps.Platform.Analytics/Models/ScannerOrchestratorEvents.cs` -- event models for scanner report ready / scan completed events via event streams
- **Source**: Feature matrix scan
## E2E Test Plan
- [ ] Verify advisory locks prevent concurrent classification history updates
- [ ] Test LISTEN/NOTIFY propagates real-time events to subscribers
- [ ] Verify materialized view concurrent refresh completes without locking reads
- [ ] Test daily rollup computation produces correct aggregates for a given date
## Verification
- Re-verified on 2026-02-11 via `run-002`.
- Confirmed implemented behavior:
- `PlatformAnalyticsMaintenanceService` executes `SELECT analytics.compute_daily_rollups(@date)` and `REFRESH MATERIALIZED VIEW CONCURRENTLY ...` commands.
- `PlatformAnalyticsMaintenanceServiceTests` and `AnalyticsSchemaIntegrationTests` pass for rollup/materialized-view behavior (`23/23` in scoped runs).
- Missing behavior relative to feature claim:
- No advisory lock implementation signal (`pg_advisory*`) found under `src/Platform`.
- No PostgreSQL LISTEN/NOTIFY implementation signal (`LISTEN`, `NOTIFY`, `NpgsqlConnection.Notification`) found under `src/Platform`.
- Classification: feature claim is partially implemented and terminalized as `not_implemented` until advisory lock and LISTEN/NOTIFY behavior is actually implemented.
- Evidence:
- `docs/qa/feature-checks/runs/platform/advisory-locks-listen-notify/run-002/tier0-source-check.json`
- `docs/qa/feature-checks/runs/platform/advisory-locks-listen-notify/run-002/tier1-build-check.json`
- `docs/qa/feature-checks/runs/platform/advisory-locks-listen-notify/run-002/tier2-integration-check.json`
- `docs/qa/feature-checks/runs/platform/advisory-locks-listen-notify/run-002/evidence/04b-missing-advisory-listen-notify-signal.txt`