Files
git.stella-ops.org/docs/modules/symbols
2025-12-25 19:09:48 +02:00
..
2025-12-25 19:09:48 +02:00

Symbols Module

Status: Implemented Source: src/Symbols/

Purpose

The Symbols module provides debug symbol storage, resolution, and distribution for binary analysis and call-graph construction. It supports multi-tenant symbol management with DSSE-signed manifests and CAS-backed blob storage.

Components

Services:

  • StellaOps.Symbols.Server - REST API for symbol management and resolution
  • StellaOps.Symbols.Client - Client SDK for Scanner/runtime integration
  • StellaOps.Symbols.Ingestor.Cli - CLI tool for symbol ingestion
  • StellaOps.Symbols.Core - Core abstractions, models, and interfaces
  • StellaOps.Symbols.Infrastructure - In-memory and production implementations
  • StellaOps.Symbols.Bundle - Offline bundle management

Key Features

  • Symbol Resolution - Address-to-symbol mapping for binaries (ELF, PE, Mach-O)
  • Multi-tenant Storage - Tenant-isolated symbol manifests with BLAKE3 content hashing
  • DSSE Integration - Optional cryptographic signing of manifests for transparency
  • CAS Blob Storage - Content-addressed storage for symbol files and metadata
  • Debug Identifiers - Support for ELF Build-IDs, PDB GUIDs, and GNU build-ids

API Endpoints

  • POST /v1/symbols/manifests - Upload symbol manifest
  • GET /v1/symbols/manifests/{id} - Get manifest by ID
  • GET /v1/symbols/manifests - Query manifests with filters
  • POST /v1/symbols/resolve - Resolve addresses to symbols
  • GET /v1/symbols/by-debug-id/{debugId} - Get manifests by debug ID
  • GET /health - Health check (anonymous)

Dependencies

  • PostgreSQL (for production storage)
  • Authority (authentication and multi-tenancy)
  • Policy Engine (optional, for overlay integration)
  • Graph module (for call-graph construction support)
  • Architecture: See src/Symbols/AGENTS.md for detailed agent instructions
  • Sprint Plan: Check docs/implplan/SPRINT_*.md for current development status
  • Fixtures: Test data available in tests/Symbols/fixtures/

Current Status

Active development. Supports symbol ingestion, resolution, and multi-tenant distribution with DSSE-signed manifests and CAS-backed storage.