Files
git.stella-ops.org/docs/features/unchecked/signals/relational-call-graph-postgresql-schema.md

29 lines
1.6 KiB
Markdown

# Relational Call-Graph PostgreSQL Schema
## Module
Signals
## Status
IMPLEMENTED
## Description
PostgreSQL migration scripts define relational tables for call-graph data storage.
## Implementation Details
- **Modules**: `src/Signals/__Libraries/StellaOps.Signals.Persistence/`
- **Key Classes**:
- `SignalsDbContext` (`src/Signals/__Libraries/StellaOps.Signals.Persistence/EfCore/Context/SignalsDbContext.cs`) - EF Core database context for Signals persistence
- **Migrations**:
- `001_initial_schema.sql` (`src/Signals/__Libraries/StellaOps.Signals.Persistence/Migrations/001_initial_schema.sql`) - initial schema with call-graph tables
- `002_runtime_agent_schema.sql` (`src/Signals/__Libraries/StellaOps.Signals.Persistence/Migrations/002_runtime_agent_schema.sql`) - runtime agent tables
- `V3102_001__callgraph_relational_tables.sql` (archived) - call-graph relational table definitions (func_nodes, call_edges, cve_func_hits)
- **Models**: `FuncNodeDocument`, `CallEdgeDocument`, `CveFuncHitDocument` (`src/Signals/StellaOps.Signals/Models/ReachabilityStore/`)
- **Source**: Feature matrix scan
## E2E Test Plan
- [ ] Run migration scripts and verify all call-graph tables are created (func_nodes, call_edges, cve_func_hits)
- [ ] Insert call-graph data via `SignalsDbContext` and verify round-trip persistence
- [ ] Verify relational integrity: insert edges referencing func_nodes and confirm foreign key constraints
- [ ] Query call paths using relational joins and verify correct path reconstruction
- [ ] Verify index performance: query by CVE ID and confirm results return within acceptable latency