Files
git.stella-ops.org/docs/features/unchecked/signals/signals-callgraph-ingestion-with-content-addressed-storage.md

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 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