2.2 KiB
2.2 KiB
Canonical Advisory Source Edge Schema (Database Layer)
Module
Concelier
Status
IMPLEMENTED
Description
Database schema for provenance-scoped canonical advisory deduplication. Stores deduplicated advisories with merge_hash identity and links each to source documents via DSSE-signed source edges. Enables multi-source advisory merge with full provenance tracking.
Implementation Details
- Modules:
src/Concelier/__Libraries/StellaOps.Concelier.Persistence/,src/Concelier/__Libraries/StellaOps.Concelier.Merge/ - Key Classes:
AdvisorySourceEdgeEntity(src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Models/AdvisorySourceEdgeEntity.cs) - database entity linking canonical advisories to source documentsAdvisoryCanonicalRepository(src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/AdvisoryCanonicalRepository.cs) - canonical advisory CRUD with merge_hash identityAdvisoryRepository(src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/AdvisoryRepository.cs) - raw advisory persistenceMergeHashCalculator(src/Concelier/__Libraries/StellaOps.Concelier.Merge/Identity/MergeHashCalculator.cs) - deterministic merge hash for deduplication identityConcelierDbContext(src/Concelier/__Libraries/StellaOps.Concelier.Persistence/EfCore/Context/ConcelierDbContext.cs) - EF Core context with source edge schemaConcelierDataSource(src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/ConcelierDataSource.cs) - PostgreSQL data source configuration
- Source: SPRINT_8200_0012_0002_DB_canonical_source_edge_schema.md
E2E Test Plan
- Insert a canonical advisory with merge_hash and verify it persists in PostgreSQL via
AdvisoryCanonicalRepository - Insert two source edges linking different raw advisories to the same canonical and verify both edges are retrievable
- Verify merge_hash uniqueness: attempting to insert a duplicate merge_hash updates the existing canonical rather than creating a new one
- Verify source edge provenance: query a canonical and verify all linked source documents are returned with provenance metadata
- Verify schema migration applies cleanly on a fresh database