Files
git.stella-ops.org/docs/modules/unknowns/architecture.md

1.9 KiB

component_architecture_unknowns.md - Stella Ops Unknowns (2025Q4)

Unknown component and symbol tracking registry.

Scope. Library architecture for Unknowns: tracking unresolved components, symbols, and mappings that Scanner and other analyzers cannot definitively identify.


0) Mission & boundaries

Mission. Provide a structured registry for tracking unknown components, unresolved symbols, and incomplete mappings. Enable visibility into coverage gaps and guide future enhancement priorities.

Boundaries.

  • Unknowns is a library layer consumed by Scanner and Signals.
  • Unknowns does not guess identities. It records what cannot be determined.
  • All unknowns are categorized for actionability.

1) Solution & project layout

src/Unknowns/
 ├─ __Libraries/
 │   ├─ StellaOps.Unknowns.Core/           # Unknown models, categorization
 │   ├─ StellaOps.Unknowns.Persistence/    # Storage abstractions
 │   └─ StellaOps.Unknowns.Persistence.EfCore/
 │
 └─ __Tests/
     ├─ StellaOps.Unknowns.Core.Tests/
     └─ StellaOps.Unknowns.Persistence.Tests/

2) Contracts & data model

2.1 Unknown Record

{
  "unknownId": "unk-2025-01-15-abc123",
  "category": "symbol_unmapped",
  "context": {
    "scanId": "scan-xyz",
    "binaryPath": "/usr/lib/libfoo.so",
    "symbolName": "_ZN3foo3barEv"
  },
  "reason": "No PURL mapping available",
  "firstSeen": "2025-01-15T10:30:00Z",
  "occurrences": 42
}

2.2 Categories

Category Description
component_unidentified Binary without package mapping
symbol_unmapped Symbol without PURL resolution
version_ambiguous Multiple version candidates
purl_invalid Malformed package URL

  • Scanner: ../scanner/architecture.md
  • Signals: ../signals/architecture.md