Files
git.stella-ops.org/docs/features/checked/concelier/canonical-advisory-source-edge-schema.md
2026-02-13 02:04:55 +02:00

2.6 KiB

Canonical Advisory Source Edge Schema (Database Layer)

Module

Concelier

Status

VERIFIED

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 documents
    • AdvisoryCanonicalRepository (src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/AdvisoryCanonicalRepository.cs) - canonical advisory CRUD with merge_hash identity
    • AdvisoryRepository (src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/AdvisoryRepository.cs) - raw advisory persistence
    • MergeHashCalculator (src/Concelier/__Libraries/StellaOps.Concelier.Merge/Identity/MergeHashCalculator.cs) - deterministic merge hash for deduplication identity
    • ConcelierDbContext (src/Concelier/__Libraries/StellaOps.Concelier.Persistence/EfCore/Context/ConcelierDbContext.cs) - EF Core context with source edge schema
    • ConcelierDataSource (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

Verification

  • Run ID: run-001
  • Date: 2026-02-12
  • Result: PASSED - All tiers verified. Core.Tests 452/454 (2 pre-existing FeedSnapshotPinningService failures), Merge.Tests 687/687. CanonicalDeduplicationTests (7 tests) and CanonicalAdvisoryServiceTests (28 tests) verify source edge schema, merge hash identity, deduplication, and DSSE signing.