2.2 KiB
2.2 KiB
Signals Callgraph Ingestion with Content-Addressed Storage
Module
Signals
Status
VERIFIED
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
Verification
- Run ID: run-001
- Date: 2026-02-12
- Result: PASS (Tier 0 + Tier 1 + Tier 2d)
- Tests: CallgraphIngestionServiceTests (1 test) - ingestion, normalization, CAS storage, graph hash, manifest