# 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 representation - `CallgraphParserResolver` (`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 model - `CallgraphIngestResponse` (`src/Signals/StellaOps.Signals/Models/CallgraphIngestResponse.cs`) - ingest response with content-addressed IDs - `CallgraphManifest` (`src/Signals/StellaOps.Signals/Models/CallgraphManifest.cs`) - manifest tracking ingested call-graph documents - `CallgraphSchemaVersions` (`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