2.0 KiB
2.0 KiB
Signals Callgraph Ingestion with Content-Addressed Storage
Module
Signals
Status
IMPLEMENTED
Description
Callgraph normalization pipeline accepting Java/Node/Python/Go call-graph formats, normalizing to canonical symbol representation, and storing with content-addressed identifiers for deterministic replay.
Implementation Details
- Modules:
src/Signals/StellaOps.Signals/Services/,src/Signals/StellaOps.Signals/Parsing/,src/Signals/StellaOps.Signals/Models/ - Key Classes:
CallgraphIngestionService(src/Signals/StellaOps.Signals/Services/CallgraphIngestionService.cs) - ingests call graphs from multiple language formats and normalizes to canonical representationCallgraphParserResolver(src/Signals/StellaOps.Signals/Parsing/ICallgraphParserResolver.cs) - resolves language-specific parsers (Java, Node, Python, Go)CallgraphIngestRequest(src/Signals/StellaOps.Signals/Models/CallgraphIngestRequest.cs) - ingest request modelCallgraphIngestResponse(src/Signals/StellaOps.Signals/Models/CallgraphIngestResponse.cs) - ingest response with content-addressed IDsCallgraphManifest(src/Signals/StellaOps.Signals/Models/CallgraphManifest.cs) - manifest tracking ingested call-graph documentsCallgraphSchemaVersions(src/Signals/StellaOps.Signals/Models/CallgraphSchemaVersions.cs) - schema version constants for call-graph formats
- Interfaces:
ICallgraphIngestionService,ICallgraphParserResolver - Source: SPRINT_0143_0001_0001_signals.md
E2E Test Plan
- Ingest a Java call graph and verify it is normalized to canonical symbol representation
- Ingest call graphs for Node, Python, and Go and verify language-specific parsing
- Verify content-addressed storage: ingest the same call graph twice and confirm the same content ID is returned
- Verify deterministic replay: retrieve a stored call graph by content ID and confirm it matches the original
- Verify schema version handling: ingest call graphs with different schema versions