consolidation of some of the modules, localization fixes, product advisories work, qa work

This commit is contained in:
master
2026-03-05 03:54:22 +02:00
parent 7bafcc3eef
commit 8e1cb9448d
3878 changed files with 72600 additions and 46861 deletions

View File

@@ -1772,6 +1772,49 @@ inside `AddNormalizationPipelines()` in `ServiceCollectionExtensions.cs`.
---
*Document Version: 1.5.0*
*Last Updated: 2026-02-12*
## Symbols (Debug Symbol Resolution)
> Absorbed from `src/Symbols/` into `src/BinaryIndex/` per Sprint 202 (2026-03-04).
> Project names and namespaces remain `StellaOps.Symbols.*` to avoid serialized type name breakage.
### Overview
The Symbols subsystem provides debug symbol storage, resolution, and marketplace functionality. It is the primary data source for BinaryIndex.DeltaSig when resolving function-level identifiers in stripped binaries.
### Project Structure
| Project | Location | Role |
|---------|----------|------|
| `StellaOps.Symbols.Core` | `__Libraries/StellaOps.Symbols.Core/` | Leaf library: models, abstractions (`ISymbolRepository`, `ISymbolResolver`), hashing |
| `StellaOps.Symbols.Client` | `__Libraries/StellaOps.Symbols.Client/` | HTTP client for Symbols.Server API (depends on Core) |
| `StellaOps.Symbols.Infrastructure` | `__Libraries/StellaOps.Symbols.Infrastructure/` | In-memory and persistent storage, Blake3 hashing (depends on Core) |
| `StellaOps.Symbols.Marketplace` | `__Libraries/StellaOps.Symbols.Marketplace/` | Marketplace scoring and catalog (leaf) |
| `StellaOps.Symbols.Bundle` | `__Libraries/StellaOps.Symbols.Bundle/` | Deterministic symbol bundles for air-gapped installs with DSSE manifests (depends on Core) |
| `StellaOps.Symbols.Server` | `StellaOps.Symbols.Server/` | Deployable ASP.NET Core WebService (depends on Core, Infrastructure, Marketplace) |
| `StellaOps.Symbols.Tests` | `__Tests/StellaOps.Symbols.Tests/` | Test project covering all Symbols libraries |
### Symbols.Server API Surface
The server exposes REST endpoints on port 8080 (mapped to `127.1.0.38:80` in compose):
| Method | Path | Auth | Description |
|--------|------|------|-------------|
| GET | `/health` | Anonymous | Health check |
| POST | `/v1/symbols/manifests` | `symbols:write` | Upload symbol manifest |
| GET | `/v1/symbols/manifests/{manifestId}` | `symbols:read` | Get manifest by ID |
| GET | `/v1/symbols/manifests` | `symbols:read` | Query manifests (filter by debugId, codeId, binaryName, platform) |
| POST | `/v1/symbols/resolve` | `symbols:read` | Batch-resolve symbol addresses |
| GET | `/v1/symbols/by-debug-id/{debugId}` | `symbols:read` | Get manifests by debug ID |
Additional marketplace endpoints are mapped via `app.MapSymbolSourceEndpoints()`.
### Consumers
- **BinaryIndex.DeltaSig** (`__Libraries/StellaOps.BinaryIndex.DeltaSig/`): References `Symbols.Core` for symbol resolution during delta signature generation.
- **Cli.Plugins.Symbols** (`src/Cli/__Libraries/StellaOps.Cli.Plugins.Symbols/`): References `Symbols.Core` and `Symbols.Client` for CLI symbol ingestion commands.
---
*Document Version: 1.6.0*
*Last Updated: 2026-03-04*